MIDP 2.0: A Leap Forward
MIDP 2.0 is fully defined in the Java Community Process' JSR 118
communityprocess/final/jsr118/), and the complete specification can be downloaded from the JCP site. MIDP 2.0 is also a key component of Sun's Java Technology for the Wireless Industry (JTWI) roadmap (JSR 185 http://jcp.org/aboutJava/
communityprocess/jsr/JSR185_roadmap.pdf), which also includes the J2ME Wireless Messaging API (for SMS messaging) and (optionally) the J2ME Multimedia API (JSR 135) and CLDC 1.1. This roadmap represent Sun's (and other key industry partners such as Motorola, Nokia, and Sony Ericsson) vision of a common platform for wireless devices featuring MIDP 2.0 as the technological centerpiece.
MIDP 2.0 itself fills a great deal of the holes left by the 1.0 release. Application delivery and billing are now handled through the specification's Over-The-Air Provisioning capabilities. The runtime MIDlet model has been improved beyond the 1.0 concept of simple untrusted MIDlets that were unable to access any APIs or device functionality outside the MIDlet's own runtime sandbox. MIDP 2.0 introduces the concept of trusted MIDlet suites, which make use of "protection domains" via an X.509 public key infrastructure.
MIDP 2.0 MIDlets can be digitally signed and verified, and individual APIs can be access-controlled using a data policy file. HTTP and HTTPS networking is now supported, as are datagram, socket, and server socket connectionsall huge steps forward over the original capabilities. An additional connectivity improvement is an API for accessing serial ports on a device. This is especially important for devices with attached GPS receivers or bar code scanners. The capability to read from the serial port means that even a simple J2ME application now supports the delivery of location-based services.
The MIDP 2.0 Media API (javax.microedition.media) provides much-needed audio generation and playback capabilities, including MIDI playback support. Advanced capabilities of the Media API include video streaming and WAV file support.
Game developers will welcome the new MIDP Game API (javax.microedition.lcdui.game), which includes classes for managing game layers and sprites. The javax.microedition.pki package defines a new X.509 certificate profile that builds on the WAP Certificate Profile. Another interesting new requirement is that the MIDP environment must provide the user with a visual indication of network usage generated by the application. This is a nice feature indeed when you're getting billed by the byte! One final bonus for those who have been living with J2ME shortcomings for some time: CLDC 1.1 (an optional component of the current Java Technology for the Wireless Industry roadmap) will include floating-point support!