MSA defines Next-gen J2ME

J2ME's Mobile Services Architecture

A few weeks ago I wrote about the Sony Ericsson Z750, which is apparently the first mass market device to fully support the Mobile Services Architecture (MSA) standard. But what is MSA?

MSA is an attempt to define a standard platform of APIs developers can rely upon. MSA for CLDC phones is defined in JSR 248, which states, "There is a need to have a single expert group select the relevant technologies for a single specification for the purposes of defining primarily CLDC based mobile handset platform for the wireless industry. In addition, this specification will provide continual architectural consistency, focus, and direction to this collection of efforts for J2ME." In other words, MSA is aimed at one of the J2ME developers' biggest headaches: API fragmentation and inconsistencies.

Current mobile devices generally abide by the Java Technology for the Wireless Industry (JTWI, or JSR 185) to define the baseline of Java support. Unfortunately, JTWI doesn't leave much to work with; the standard only requires three technologies: CLDC 1.0, MIDP 2.0 and WMA 1.1.

MSA, on the other hand, requires nearly two dozen JSRs ranging from CLDC 1.1 to Mobile 3D Graphics API 1.1. Sun has more details on MSA's requirements in this introduction and this datasheet (.pdf).

So far Sony Ericsson's HSDPA Z750 is the only public device to support MSA that I'm aware of, but it is only a matter of time: the expert group that defined the standard included members from Nokia, BenQ, RIM, T-Mobile, Cingular, Motorola, Vodafone and more.

P.S. Continue to send your feedback on the new newsletter layout--it's still a work in progress. -Eli