JAD

Java Application Descriptor

Services →
Introduced in Rel-5

JAD is a standardized descriptor introduced in 3GPP Release 5 that defines the structure and metadata for Java applications (MIDlets) to enable their secure deployment and execution on mobile devices.

Category
Services
Introduced
Rel-5
Where
User Equipment
Specifications
1 specs
JAD Description Purpose Related Classification Specifications

Description

The Java Application Descriptor (JAD) is a key component in the 3GPP specifications for mobile application deployment, specifically within the framework for Java 2 Micro Edition (J2ME) and Mobile Information Device Profile (MIDP). It is a text file that contains metadata and configuration information for a Java MIDlet suite (a collection of MIDlets). The JAD file includes attributes such as the MIDlet name, version, vendor, required Java profiles and configurations, application size, and permissions. It acts as an external descriptor separate from the Java Archive (JAR) file, allowing the device or network to inspect application requirements before downloading or executing the JAR. This enables management of application lifecycle, security policies, and resource compatibility checks.

Architecturally, the JAD works in conjunction with the Java Application Manager (JAM) on the mobile device. The JAM reads the JAD file to verify if the device meets the application's requirements (e.g., memory, API support) and to enforce security permissions before installation. The descriptor supports dynamic updates and over-the-air (OTA) provisioning. Key components referenced in the JAD include the MIDlet suite's main class, icon, description, and dependencies. Its role in the network is part of the service enabler framework, allowing operators and third parties to distribute and manage Java-based services securely and efficiently on a wide range of handsets.

The JAD specification ensures interoperability across different device implementations by standardizing the attributes and their formats. It details how attributes are parsed and how conflicts between JAD and internal JAR manifest are resolved. The specification also covers how the descriptor is used in provisioning protocols and in application management interfaces. By providing a clear, external metadata file, it simplifies application discovery, installation, and trust verification for both end-users and network management systems.

Purpose & Motivation

JAD was created to address the need for a standardized, secure, and efficient method to deploy Java applications on mobile devices. Prior to its introduction, application deployment was often ad-hoc, with limited mechanisms to verify compatibility or security before installation. This led to potential device instability, security risks, and user dissatisfaction. The Java platform on mobile devices (MIDP) required a way to describe application properties externally so that devices and networks could make informed decisions about downloading and installing software.

Its introduction in Release 5 was motivated by the growth of mobile services and the desire to create a vibrant ecosystem of downloadable applications. By providing a standardized descriptor, it enabled over-the-air provisioning, allowing users to discover and install applications directly from networks or content providers. It solved problems of application integrity (by allowing pre-installation checks), resource management (by declaring requirements), and security (by specifying necessary permissions). This facilitated the development of a managed application distribution channel, crucial for early mobile service platforms like i-mode and subsequent 3G services.

Classification

Part ofJ2ME
Specific typesJAM
Related approachesJAM

Evolution Across Releases

Rel-5 Initial

Initial introduction of the Java Application Descriptor specification. Defined the basic attribute set and structure for describing Java MIDlet suites. Established the framework for OTA provisioning and integration with the Java Application Manager (JAM) on the device. Specified how JAD files are used in application discovery, download, and installation processes.

Explore further

Broader topics and technologies where JAD plays a role.

Defining Specifications

3GPP specifications that define or reference JAD, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 23.057 vj00 Mobile Execution Environment (MExE) Specification Rel-19