JAD

Java Application Descriptor

Services
Introduced in Rel-5
A standardized descriptor for Java applications in mobile networks, introduced in 3GPP Release 5. It defines the structure and metadata for Java-based applications (MIDlets) to enable secure deployment and execution on mobile devices. This facilitates a platform for downloadable services and applications.

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.

Key Features

  • Standardized metadata format for Java MIDlets
  • Enables pre-installation compatibility and security checks
  • Supports Over-The-Air (OTA) provisioning and dynamic updates
  • Separate from JAR file for external inspection
  • Defines attributes for name, version, vendor, size, and permissions
  • Integrates with Java Application Manager (JAM) for lifecycle management

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.

Defining Specifications

SpecificationTitle
TS 23.057 3GPP TS 23.057