Mobile Service Architecture 2 — Coming Your Way

   
By Richard Marejka, July 2008  

The Java Platform, Mobile Edition (Java ME) platform's MSA specification (JSR 248) defines a standard set of application functionality for mobile devices. It also clarifies interactions between various technologies associated with the MIDP and CLDC specifications. The Java Community Process (JCP) is working on the next version of two important JSRs: Version 2 of the Mobile Service Architecture and version 3 of the Mobile Information Device Profile (MIDP).

These new versions will align the standards with current and near-future technology. In the case of MSA2 (JSR 249), this translates into the inclusion of new JSRs, especially in the area of multimedia and the newest versions of some existing JSRs. MIDP 3 will take advantage of more powerful hardware devices to add, among other things, concurrently executing applications.

Contents
 
MSA and MSA2 Overview
New Features
Release Timing
Call to Action
 
MSA and MSA2 Overview

MSA aims to create a predictable environment for application developers who utilize the latest handset technologies. By choosing to meet this specification, manufacturers benefit from a large number of compatible applications that take advantage of their devicesPH*PH*PH\u2019PH*PH*PH hardware and software functionalities. When creating products for this software and service environment, developers can access a broad range of devices that support their applications. MSA started in July 2004 as an umbrella standard, to define a Java ME runtime platform and reduce the fragmentation in the device space. Eighteen months after starting, the final release was available (December 2006). Since then there has been one maintenance release, in February 2008.

To demonstrate their commitment to MSA, manufacturers announced MSA-compliant devices just 3 months after the JSR was ratified. These devices were shipping within 12 months. For developers, both the Sun Java Wireless Toolkit for CLDC and NetBeans IDE support the creation of MSA applications.

Work has begun on JSR 249: Mobile Service Architecture 2 to build on the success of MSA. Interestingly, JSR 249 has been around as long as JSR 248, the original MSA standard. In July 2004, JSRs 248 and 249 were accepted by the JCP as Mobile Service Architecture for CLDC and CDC respectively. Since then, JSR 248 has been renamed and ratified as Mobile Service Architecture and JSR 249 has been renamed Mobile Service Architecture 2 (MSA2) and has just left the Early Draft Review stage.

MSA2 has a new look but remains backward-compatible with its predecessor. Where the original MSA offered two versions — full and subset — MSA2 offers three versions: Limited, Subset, and Full.

Each MSA2 version is a superset of its MSA equivalent.

The following figure shows MSA2 Full with its Limited and Subset variations.

 
MSA 2.0 Full
Mobile Service Architecture 2 Specification Draft
 
 
New Features

On the preceding figure, two changes are immediately apparent.

  • Virtual Machine layer An MSA2 device can use either CLDC 1.1 or CDC 1.1 as its configuration. That is, this change extends the MIDlet execution environment to the Connected Device Configuration.
  • Application Environment level MSA2 Limited uses MIDP 2.1, while MSA2 Subset and MSA2 Full use MIDP 3.0.

The following list outlines the new features of MSA2: the new, the updated, and the single withdrawn JSRs.

  • JSR 218: Connected Device Configuration (CDC) 1.1 - Maintenance Release August 2006

    There are now two supported configurations: CLDC 1.1 and CDC 1.1. That is, MIDlets running on a CDC device is part of the plan. This will leverage the large baseline of existing MIDlet applications onto new Java ME platforms.
  • JSR 229: Payment API - Maintenance Release January 2006

    Payment is the only JSR that was part of MSA that is no longer in MSA2. This does not mean that manufacturers will stop shipping Payment, just that Payment is no longer required for compliance.
  • JSR 256: Mobile Sensor API - Maintenance Release July 2007

    Mobile Sensor allows access to on-device sensors such as accelerometers. Sensors collect data that can be used by an application for something as simple as game control to complex biometrics and environmental monitoring.
  • JSR 257: Contactless Communication API - Final Release October 2006

    Think Radio Frequency Identification (RFID), Near Field Communication (NFC), and barcodes &mash; small amounts of data being read from objects around you. Want to do some comparison shopping? Let your mobile device read the product's bar code and compare prices from on-line vendors. Check out An Introduction to Near-Field Communication and the Contactless Communication API for more information.
  • JSR 258: Mobile User Interface Customization API - Final Release June 2008

    Almost all electronic devices support some kind of user interface customization in terms of "skins", that is, color, font, and shape of UI elements that create an appealing visual appearance. This JSR brings UI customization to your MIDet suite, allowing your end users to choose their own look.
  • JSR 271: MIDP 3.0 - Public Review Ballot March 2008

    This will be the 3rd major revision of MIDP and it comes with several new features. As mentioned under the CDC section, MIDP3 will be supported by both CLDC and CDC virtual machines. MIDlet concurrency will bring multi-tasking to the MIDP-space along with an InterMIDlet Communication facility as part of the javax.microedition.io package. The new package javax.microedition.event will provide application-to-application communication and notification of system events. There are other MIDP enhancements.
  • JSR 272: Mobile Broadcast Service API for Handheld Terminals - Final Approval Ballot June 2008

    All the carriers have plans to bring streaming multi-media to your Java ME device and this is how it will be done. The JSR includes everything from an electronic program guide, through purchasing and DRM, to connection management and presentation. The JSR also provides for access to auxiliary broadcast data in whatever specific form that may take (more specifically, MIME type of the auxiliary data).
  • JSR 280: XML API for Java ME - Final Release October 2007

    XML is the lingua franca for information and data exchange. It is already in use on Java ME platforms and has been for some time. It first appeared as kxml an open source project with release 1.0 in 2001, then as a component of JSR 172: Web Services in 2004. The XML API for Java ME will enable widespread use of XML in Java ME applications for data storage and exchange between applications, devices, and remote services.
  • JSR 281: IMS Services API - Final Approval Ballot June 2008

    At first glance, Internet Multimedia Subsystem (IMS) sounds simply like a quality of service (QoS) implementation for the Java ME environment. However, QoS is only a small part of the specification. IMS is a multimedia platform for packet-oriented access networks — UMTS, EDGE, GPRS or W-LAN. It enables a single-login to access voice, multimedia, and data services in a secure manner with session-control services (registration, routing, and roaming).
  • JSR 287: Scalable 2D Vector Graphics API 2.0 for Java ME - Proposed Final Draft II May 2008

    SVG 2 is the latest revision of scalable 2D vector graphics for the Java ME platform. The new version will add support for use cases involving entertainment, map visualization, 2D gaming, application and UI components, and document rendering.
  • JSR 293: Location API 2.0 - Proposed Final Draft January 2008

    This is a revision to the original Location API (JSR 179). It adds support for geocoding, maps incorporating landmarks and navigation. It also extends the features of the Location API 1.0 with the exchange of landmarks and landmark management.

As for the other MSA 1.1 components, they remain the same in MSA2.

Release Timing

While all this is good news for developers and consumers, the question is: When will it be available? This requires some evaluation of the included JSRs and an estimation of completion times for those JSRs that are not yet at the final stage. The JSRs that are not yet final, in reverse stage order, are

  • JSR 272: Mobile Broadcast Service API for Handheld Terminals - Final Approval Ballot June 16, 2008
  • JSR 281: IMS Services API - Final Approval Ballot June 2, 2008
  • JSR 287: Scalable 2D Vector Graphics API 2.0 for Java ME - Proposed Final Draft II May 2, 2008
  • JSR 293: Location API 2.0 - Proposed Final Draft January 18, 2008
  • JSR 271: MIDP 3.0 - Public Review Ballot March 24, 2008

Of the five JSRs listed, two are at the final ballot stage, two at final draft, and one is at public review ballot. Based on an estimate it takes six months to go from public review ballot to final release, the finalization of MIDP3 will happen in the fourth quarter of 2008. The ratification of MSA2 would follow that of MIDP3, but probably not before the first quarter of 2009.

If manufacturers are just as keen with MSA2 as they were with MSA, the first devices are about one year away. While this may seem like a long time, by the time the JSRs are integrated with the development tools, we can learn as much as we can now about the individual JSRs and start thinking about the new applications that can be created when the devices will be ready.

Call to Action

The next opportunity to comment on MSA2 will be at the Public Review stage, sometime in the fourth quarter of 2008. Be prepared and download a copy of the Early Draft Review now. At 126 pages, it is a quick read.

Discuss
 

Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
Your email address (no reply is possible without an address):
Sun Privacy Policy

Note: We are not able to respond to all submitted comments.