Sun Microsystems' development language, Java, is going mobile. The new Java 2 Mobile Edition (J2ME) offers a platform for write once, run anywhere application development for cellphones, personal digital assistants and other memory-light devices.
The J2ME specification is divided into two configurations. The smallest is the CLDC (connected limited device configuration) aimed at very small devices, such as cellphones. The second, CDC (connected device configuration) is targeted at bigger machines, such as set-top boxes that are capable of higher processor speeds and memory.
On top of the configurations, the device profile specifies device-specific information, such as screen size and input device. The theory is that through the abstraction that these configurations and profiles offer, a Java application will run on both a small monotone cellular display and a large colour palmtop without any loss of functionality.
Developers designing applications for these devices will be able to use either the high-level or low-level API. High-level development will result in greater portability, but the application will look different on each device. The developer has little control over how the device's library fits everything onto the screen.
The low level API allows for greater power and control, but limits portability. It is expected that this methodology will be primarily used by games designers.
Support for J2ME is coming predominantly from Nokia, Motorola, Palm and Windows CE. Motorola's new Accompli offering, boasting support for WAP, J2ME and GPRS, has already been demonstrated to ITWeb.
J2ME is not seen as a direct competitor for WAP, and Sun is working with the WAP forum to design what it calls "midlets" - applets for WAP. Once this standard has been ironed out, developers will be able to embed Java midlets within a WAP page.
"Up to now, if you wanted to access anything online through your mobile device, you had to use WAP," says Grant Morgan, Sun business manager, enterprise systems, Dimension Data. "There's a certain amount of disillusionment around WAP. For one thing, you've got to be online all the time. The great thing about Java is you can get the application you want, disconnect, and browse it offline."
DiData's enterprise systems division is excited about the development as it encourages users to migrate to Java 2 Enterprise Edition on the back-end, which will allow corporate customers to push applications out to their workers' mobile devices.
The first version of J2ME has shipped without the ability to connect to Jini, Sun's auto detecting system that allows devices on a network to recognise one another and communicate without user intervention. Sun is working on shrinking the Jini component to squeeze it on to smaller devices. It is also looking at the possibilities of including SSL (secure socket layer) into the next release for greater security.

