JCP Watch: Enhanced Wireless Messaging, XML Data Binding and SIP Support
There was one new proposed JSR's along with other JSR's that have matured. Significantly, the Java XML Binding API and the SIP Servlet API (details below) have been approved in their final ballots and additional support for wireless messaging has been proposed.
There is one new JSR dealing with Wireless Messaging. This JSR is an extension to the original Wireless Messaging API (JSR-120 Wireless Messaging API) to provide Multimedia Message Service (MMS) support.
JSR-205 Wireless Messaging API
The original JSR (JSR-120) dealing with wireless messaging was confined to Short Message Service (SMS), Unstructured Supplementary Service Data (USSD) and Cell Broadcast Service (CBS). All of these messaging technologies deal with text based messaging. SMS allows sending of text messages to another cell phone. USSD is similar to SMS but unlike SMS messages, which get saved if the cell phone is unavailable USSD messages are generated and consumed within a single session, while the cell phone is active. Finally CBS allows for broadcasting text messages to a set of cell phones within a geographical area.
Text based messaging is widely prevalent today primarily due to the nature of deployed wireless networks. These mobile networks are referred to as 2G (2nd Generation) networks and allow transmission of data at speeds up to 14.4Kbs. Now as mobile network technologies have matured the deployment of 3G (3rd Generation) networks has started taking place. 3G networks allow transmission of data at speed up to 2Mbps which makes these networks capable of transmitting not only text but also video and audio to wireless devices. 3G capable mobile handsets have also become widely available.
Java already has support for text based messaging using SMS, USSD and CBS. This JSR intends to extend the existing wireless messaging API's to support Multimedia Message Service (MMS), which would allow Java mobile applications to create, send and receive rich media messages containing text, graphics, animations, audio and video.
This JSR will be under public review until 10th February 2003. To contribute, send an email to jsr-205-comments at jcp.org
Approved JSRsTwo JSR's were approved for further development under the guidelines of the JCP. These JSR's were approved via ballot voting by the Executive Committee members. (http://jcp.org/en/participation/committee)
JSR-204 Unicode Supplementary Character Support
The proposal for extending Java's support and handling of Unicode characters has been approved. This JCP intends to add support for the Unicode 3.1 specification that defines characters outside the basic 16-bit width character sets.
This JSR was covered in my last column at (http://www.developer.com/java/other/article.php/1576701)
JSR Community Draft approvals
The Community Draft Specification is the specification developed in collaboration by members of the expert group for the JSR.
JSR-158 JStream Stream Assembly Interface
A stream is a contiguous sequence of bytes, representing a flow of data, transmitted continuously over a communications path, serially (one at a time). A multiplexed stream is one in which multiple distinct streams of data are combined and transmitted over a single stream in an interlaced format. An example of a multiplexed stream is a video stream in which there are 2 streams interlaced with each other and audio stream and a video stream. The Stream Assembly Interface intends to provide an API for real time creation, assembly and modification of media (audio, video) and generic data streams. Currently proprietary interfaces and software is required for the creation and assembly of such streams. This API will provide a portable and neutral mechanism for multiplexed stream creation and applications regardless of the underlying implementation of multiplexing and the transport for transmission of such streams.
JSR Final Ballot Approvals
The final specifications were approved were approved via ballot voting by the Executive Committee members. (http://jcp.org/en/participation/committee). At this stage, the complete final specification is available for download along with documentation and reference implementations of the specification.
JSR-31 XML Data Binding Specification
XML provides a way to hierarchically structure data in a tree like format. This tree is similar to object hierarchies, in which an object can reference other objects forming a tree of objects. There is an implicit mapping that may be formed between hierarchical XML structures and it's representation in Java objects. This is the essence of XML Data Binding. It takes an XML document and automatically maps and generates Java classes describing the XML document. This is similar to Object/Relational mapping but applied to XML.
You may download the final specification from (http://jcp.org/aboutJava/communityprocess/first/jsr031/index.html)
JSR-116 SIP Servlet API
Session Initiation Protocol (SIP) is an upcoming standard for establishing sessions over an IP networks. SIP is a signaling protocol similar to tone based dialing on telephone networks. SIP specifies how to establish, maintain and terminate a simple two-way telephone call or a collaborative multi-media conference session over an IP network. The goal of this JSR is to provide an API that allows SIP protocol handling based on the Java Servlet API. Just as HTTP protocol handling is implemented in javax.servlet.http, SIP protocol handling intends to be implemented in javax.servlet.sip.
You may download the final specification from (http://jcp.org/aboutJava/communityprocess/first/jsr116/index.html)
Proposed Final Draft Specifications
JSR-152 Java Server Pages 2.0 Specification
JSR-185 Java Technology for the Wireless Industry
This is an umbrella JSR that covers the use and relation of various other JSR's relating to the wireless industry. In particular, this JSR describes and overall architecture of how the various proposed wireless API technologies work together to form a complete handset solution for the wireless services industry. This JSR was updated with a list of other JSR's under the umbrella of this JSR and provides a reference to the Java Wireless Architecture Roadmap This also links to an Open letter from the Expert group describing the status and future of this JSR.
- The JCP website: http://www.jcp.org
- The Unicode consortium: http://www.unicode.org
- The Wireless Messaging API implementation (JSR-120): http://java.sun.com/products/wma/
- XML Binding Specs and Implementation (JSR-31): http://java.sun.com/xml/downloads/jaxb.html
- Inspiration for XML Binding: http://java.sun.com/xml/jaxp-1.0.1/docs/bind.pdf
- All about Session Initiation Protocol (SIP): http://www.sipcenter.com/aboutsip/whatissip.html
- Java Servlet API: http://java.sun.com/products/servlet/
- Java Server Pages: http://java.sun.com/products/jsp/
- The Java Wireless Architecture Roadmap: http://jcp.org/aboutJava/communityprocess/jsr/JSR185_roadmap.pdf
- Open letter from the expert group of JSR-185: http://java.sun.com/products/jtwi/openletter.html
What do you think of the JCP? What do you think of the current JSR's? Feel free to write to me at apu at jcpwatch.org