White Paper Z500a
Java 2 Micro Edition
Originally developed by Sun in 1991, Java is a programming language used to develop applications - utility programs, games,
J2ME CLDC/MIDP (kJava)
In 1999, Sun regrouped its Java technologies into three platforms or editions. J2ME (Java 2 Micro Edition) became the platform targeting “micro” devices with small processors and memory capacities, such as mobile phones, communicators and PDAs. (The other two Java platforms are Java 2 Standard Edition, J2SE, and Java 2 Enterprise Edition, J2EE).
J2ME addresses a variety of devices. To handle the diversity, two concepts have been introduced – configurations and profiles. A configuration defines a minimum platform for a family of devices with similar processing and memory capacities. A profile targets a specific device category within that family, for instance mobile phones.
Two J2ME configurations are available:
•CDC, Connected Device Configuration. This config- uration is aimed at devices such as PDAs.
•CLDC, Connected Limited Device Configuration. This configuration is aimed at devices such as mobile phones and pagers.
Current situation
So far, two profiles have been established for J2ME:
•MIDP, Mobile Information Device Profile, and
•Personal Profile.
MIDP is connected to the CLDC configuration and provides developers with essential information and guidance when writing programs for mobile phones and
Personal Profile is linked to the CDC configuration. Targeted at PDAs, this combination replaces PersonalJava in J2ME.
CLDC/MIDP v. PersonalJava
Besides targeting different types of devices, the main difference between J2ME CLDC and PersonalJava from a user's point of view is that applications written in J2ME CLDC can be downloaded from the Internet. PersonalJava applications are typically transferred to devices from a PC via cable.
PersonalJava has a richer application environment and can interact more extensively with the phone software.
J2ME CLDC uses a security model, often referred to as the sandbox. The sandbox includes a number of system components working together to ensure that untrusted applications cannot gain access to system resources. To put a sandbox into service, the Java platform uses three major components: the class loader, the
• Only the correct classes are loaded.
J2ME in detail• The classes are in the correct format.
• Untrusted classes do not execute dangerous instruc- tions.
25 | June 2004 |