Focus on Java Mobility
Addressing Java ME-specific matters
By: Patrick Curran
Nov. 9, 2009 04:15 PM
For several months now a subset of the JCP's Executive Committees has been meeting as the Java ME Working Group to address Java ME-specific matters. In this column I'll focus on Java ME and on some of the issues that the Working Group has been discussing. (To follow our activities, check out our bulletin board at jcp.org.)
There are a number of reasons for this. Firstly, the Java ME specifications are much more modular than those for Java SE and Java EE, allowing many combinations and permutations of APIs. Even where two devices implement the same APIs, the implementations may differ for a variety of reasons: because the specifications are imprecise (either deliberately or through omission), because of different capabilities between devices, or simply because of bugs in the implementations.
Umbrella specifications such as JSR 249: Mobile Service Architecture (MSA) 2 address specification problems by reducing optionality and tightening requirements, but this is not sufficient. More comrehensive testing - above and beyond that performed by the TCKs - is also required.
Recognizing this fact, a new organization was recently formed by Orange, Sony Ericsson, Sun Microsystems, and Vodafone. JATAF (Java Application Terminal Alignment Framework) seeks to gather information about differences in Java ME implementations (whether or not these differences are caused by bugs), and to develop an open-source test suite that can be used by device manufactures and others to identify and hopefully eliminate these differences.
This effort can only succeed with the active participation of all Java ME developers. If you work with Java ME, please participate. Join the JATAF project at java.net, and report on your experiences with Java ME implementations. Implementation differences will be addressed by the development of tests and the clarification of specifications. Collectively we can all help to improve the quality of the platform.
Feature Phones and Smartphones
The Mobile Information Device Profile (MIDP) 3.0 specification adds new capabilities such as concurrency, inter-application communications, background processing, shared libraries, events, and improved user-interface components to enable the creation of Java applications that meet and exceed the capabilities of the most advanced smartphones..
Although JSR 249: MSA 2, addresses the fragmentation issue as discussed above, an equally important goal is to define a complete stack of APIs that will provide all of the functionality necessary to create fully-featured applications. The specification actually defines three profiles, for entry-level, mid-level, and high-end devices. Component JSRs include APIs for messaging, Bluetooth, contactless communication, user-interface development and deployment, graphics and multimedia, cryptography, and web services.
Cellphones implementing these two specifications will indeed be state of the art.
Now that Blu-ray has won the standards battle with HD-DVD we can expect to see all optical-disc players migrate to the new standard within a few years. While the advatages that Blu-ray offers in storage capacity and high definition are well known, it's less widely understood that all Blu-ray disc players incorporate a fully programmable Java Virtual Machine with network connectivity. The Blue-ray disc Java (BD-J) specification is built on a combination of Java ME and Java-based TV sepecifications. BD-J provides a complete environment for the development of interactive and network-based video content. We don't yet know where this will lead, but the possibilities are endless. (Neal Young's Archives project is beginning to exploring this territory.)
Finally, a completely different application for Java ME is provided by Sentilla, who provide energy-management solutions for data centers by gathering data from tiny Java ME-based sensors that measure energy consumption and environmental factors such as temperature and humidity. This is a more focused approach than they originally adopted ("sensors everywhere") but it does suggest the way things will be done in the future. When it's possible to embed a Java VM with wireless communication capabilities in a device the size of a quarter then all sorts of possibilities open up.
For more news about Java ME and the variety of ways in which it is being used, visit the Mobile & Embedded Community at java.net.
Recent JSR Changes
Congratulations are also due to Star Spec Lead David Nuescheler of Day Software, whose JSR 283: Content Repository for Java Technology recently made its Final Release. This update to JSR 170 defines an abstract model and a Java API for data storage and related services commonly used by content-oriented applications such as content-management systems and other applications that manage a mixture of structured and unstructured information.
For full details of other JSR chanages please see the jcp-announcements bulletin board on the new jcp.org web site, which replaces the previous JCP-interest mailing list. (Sneak preview: we'll soon be introducing RSS feeds at jcp.org, so you'll be able to have the latest news delivered to your mailbox.)
Until next time...
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week