|
Get Small with Wireless Messaging and Mobile Media
Two new J2ME APIs intend to deliver on the promise of easier software development for small mobile devices
by Daniel F. Savarese
March 2003 Issue
Java could make a big splash in the development of software targeted at consumer and embedded computing devices. These devices comprise a broad spectrum of hardware and operating systems with unique functions and idiosyncratic programming interfaces. The range of devices requiring software applications changes from year to year—and even month to month—as the latest mobile phones, PDAs, and consumer electronics hit the market along with new features and application programming requirements. At the same time, although existing devices become obsolete, their applications remain useful. Java 2 Platform, Micro Edition (J2ME) makes it possible for software to survive the rapid evolution of small-device computing without major porting or rewriting efforts. All the pieces of J2ME have yet to come together, but some of its latest developments promise to simplify wireless application development. Let's examine two of the latest J2ME APIs of interest to wireless Java developers: the Wireless Messaging API (WMA) and the Mobile Media API (MMA).
Despite the potential J2ME has for unifying software development for consumer devices, it runs the risk of creating a morass of specifications and APIs that do not fit well together. The roles of J2ME configurations and profiles are well understood, but the relationship of the many emerging optional API packages to different configurations and profiles is not well defined. For example, the J2ME Wireless Toolkit can lead one to believe that wireless Java development is restricted to the Connected Limited Device Configuration (CLDC) and Mobile Information Device Profile (MIDP), yet the Wireless Messaging API can be implemented for the Connected Device Configuration (CDC) even though the reference implementation is limited to CLDC.
An attempt is being made through the Java Community Process (JCP) to clarify the relationship between optional packages, configurations, and profiles and how they relate to different classes of devices and market segments. In the area of wireless devices, the JSR-185 ("Java Technology for the Wireless Industry") expert group was formed in May 2002 to develop a clear architecture for wireless J2ME environments.
Another expert group, JSR-68 ("J2ME Platform Specification"), is addressing a general problem that has emerged with J2ME APIs. J2ME Profiles often duplicate functionality already present in Java 2 Platform, Standard Edition (J2SE). Rather than reinvent this functionality, it is better to use existing J2SE APIs. As a result of JSR-68, the next version of the J2ME platform will include the concept of a "J2ME Building Block." Building blocks define APIs derived from J2SE or Java 2 Platform, Enterprise Edition (J2EE) for use in J2ME and make them available to be incorporated into J2ME Profiles in a reusable fashion. JSR-68 should keep J2ME from becoming an indecipherable mess of overlapping, but incompatible, APIs. We'll know more when the expert group publishes a public review draft of their specification.
Back to top
|