JAM

Java Application Manager

Services →
Introduced in Rel-5

JAM is a mobile device component introduced in 3GPP Release 5 that manages the lifecycle of Java applications (MIDlets) by handling their installation, execution, updating, and removal based on descriptors.

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

Description

The Java Application Manager (JAM) is the runtime management entity on a mobile device responsible for Java applications conforming to the Mobile Information Device Profile (MIDP). It is a software module typically part of the device's Java runtime environment. The JAM interacts with Java Application Descriptor (JAD) files to control the application lifecycle. Its primary functions include: parsing JAD files to retrieve application metadata and requirements; verifying that the device's environment (memory, Java APIs, permissions) meets the application's needs; downloading and installing the associated Java Archive (JAR); launching and managing the execution of MIDlets; handling updates and removals; and enforcing security policies during runtime.

Architecturally, JAM sits between the device's operating system, the network provisioning system, and the Java virtual machine. It uses the JAD as a trusted source of information to make management decisions. Key components of its operation include a descriptor parser, a compatibility checker, a security manager that interfaces with device security frameworks, an installation engine, and a lifecycle controller for MIDlet states (e.g., paused, destroyed). Its role in the network ecosystem is as the local endpoint for application management services, enabling users to interact with remotely provisioned applications securely and reliably.

The JAM ensures that applications are run in a controlled sandbox, respecting permissions declared in the JAD. It manages resource allocation for MIDlets and can terminate applications that violate policies or exhaust resources. The specification details how JAM responds to provisioning commands, handles error conditions, and interacts with user interfaces for application selection. It is a critical enabler for a managed application distribution model, providing the local execution trust anchor.

Purpose & Motivation

JAM was created to provide a standardized and secure management layer for Java applications on mobile devices. Without a dedicated manager, application installation and execution would be uncontrolled, posing risks to device stability, security, and user experience. The growth of downloadable mobile services required a trusted entity on the device to mediate between external provisioning systems and the local Java runtime.

Its purpose is to solve the problems of application lifecycle management in a constrained mobile environment. It ensures that only compatible and authorized applications are installed and run. It manages the limited resources of the device (memory, processing) among multiple applications. By enforcing security policies based on descriptor information, it protects the device and user data from malicious or poorly behaved applications. Introduced alongside JAD in Release 5, JAM completed the framework for a deployable, manageable Java application ecosystem, essential for early mobile content and service delivery.

Classification

Part ofJAD

Evolution Across Releases

Rel-5 Initial

Initial introduction of the Java Application Manager specification. Defined its core functions: parsing JAD, verifying compatibility, installing JARs, managing MIDlet execution states, and enforcing security. Established its architecture as part of the device's MIDP implementation and its integration with provisioning protocols.

Explore further

Broader topics and technologies where JAM plays a role.

Defining Specifications

3GPP specifications that define or reference JAM, 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