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, plug-ins etc. - for different hardware and software platforms. Users of Java-enabled devices can install new applications and games to make their devices more personal and adapt them to specific needs.

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 two-way pagers.

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.

Hand-held computers and mobile phones that support Java also need a Java interpreter to run the applications. Since the Java Virtual Machine (JVM) was not the optimal interpreter for devices with small memory capacity and slower processors, Sun developed K Virtual Machine (KVM). A KVM requires only 40-80 KB of memory and can run on processors with low clock frequency. KVM is only used for J2ME CLDC. PersonalJava relies on the Java Virtual Machine (JVM).

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 byte-code verifier and the security manager. Each part plays an important role in maintaining the integrity of the system by securing that:

• 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

Page 29
Image 29
Sony Ericsson Z500A manual Java 2 Micro Edition, J2ME CLDC/MIDP kJava, Current situation, CLDC/MIDP v. PersonalJava