The Mobile Services Architecture (JSR-248) or MSA is almost final. The MSA expert group has published the Proposed Final Draft Specification:

"This JSR creates a mobile service architecture and platform definition
for the high volume wireless handsets continuing the work started in
JSR-185 and enhancing the definition with new technologies."

MSA defines what the next generation (short term) Java platform for handsets will be. Recall that MSA is an umbrella JSR, and that there were some concerns when MSA was initially defined – see The Main Issue with MSA for CLDC (JSR 248) and MSA for CLDC Approved – But With Request for Changes.

Today the EG has taken the right approach by defining a subset of the MSA stack – the specification now defines two MSA stacks: 1) a full MSA stack (16 JSRs), and 2) a MSA-subset stack (8 JSRs) as follows:


MSA stacks

Click to enlarge

…With the following JSRs and related clarifications:

    MSA Subset:


  1. J2ME Connected Limited Device Configuration 1.1 (JSR 139)

    – CLDC is the configuration, fundamental component of MSA.

  2. Mobile Information Device Profile 2.1 (JSR 118)

    – MIDP is the profile, a fundamental component of MSA.

  3. PDA Optional Packages for the J2ME platform (JSR 75)

    – access to the file system available on a device, and Personal Information Management functionality.

  4. Java APIS for Bluetooth (JSR 82)

    – access to Bluetooth functionality, and the OBEX protocol (conditionally mandatory).

  5. Mobile Media API (JSR 135)

    – MMAPI provides access media capabilities such as audio and video playback.

  6. Mobile 3D Graphics API (JSR 184)

    – Three dimensional (3D) graphics.

  7. Wireless Messaging API (JSR 205)

    – WMA profiles messaging features such as SMS and MMS.

  8. Scalable 2D Vector Graphics API for J2ME (JSR 226)

    – access to two dimensional (2D) Scalable Vector Graphics.
  9. Rest of Full MSA Stack:


  10. J2ME Web Services (JSR 172)

    – XML parsing and basic web services in a mobile device.

  11. Security and Trust Services API (JSR 177)

    – SATSA provides access to cryptographic services (mandatory), communication with Smart Cards (conditionally mandatory), and access to Public Key Infrastructure services (conditionally mandatory). Note that SATSA-JCRMI is not part of MSA or MSA Subset.

  12. Location API for J2ME (JSR 179)

    – access location information (conditionally mandatory).

  13. SIP API for J2ME (JSR 180)

    – access to Session Initiation Protocol (SIP).

  14. Content Handler API (JSR 211)

    – CHAPI for launching of Java applications based on content type.

  15. Payment API (JSR 229)

    – access to payment mechanisms.

  16. Advanced Multimedia Supplements (JSR 234)

    – extends JSR 135 to provide more advanced multimedia capabilities.

  17. Mobile Internationalization API (JSR 238)

    – enables the development of localized applications.

Go checkout the MSA specification, see what is coming, and get ready for the next generation handsets that will be coming probably starting this year…

ceo

[Via the Java Community Process]

[MSA stack image source: MSA specification]