Mobile mania has hit the JCP this week with three new specification requests relating to mobile technologies. The first proposes an API for mobile messaging (such as SMS and MMS) from J2SE and J2EE applications as opposed to J2ME applications. The other two proposals deal with adding Web Services Choreography and support for an ebXML specification to J2ME. In addition, Java Servlet, JSP and J2EE proposed final specifications have also been posted.
Three new specifications were proposed this week the first aiming at adding a high level mobile service invocation API to J2SE/EE with the first supported services being SMS and MMS. The second one deals with adding WSCI support to J2ME and the last one deals with adding support for one of the ebXML specifications to J2ME.
Mobile network services such as short message service (SMS) and multimedia message service (MMS) have gained tremendous popularity among users of mobile phones. Increasingly it is becoming necessary to provide J2EE and J2SE a standard, universal mechanism of compose, send and receive SMS and MMS messages as application developers add support for these technologies in their application servers or backend systems. The goal of this JSR is to provide API's for Java applications on top of J2SE/J2EE to compose, send and receive short messages and multimedia messages.
According to the proposal, the scope of this API will not limit itself to only SMS and MMS but rather provide a high level API to accessing messaging mobile services, thereby accounting for future mobile messaging applications. It intends to serve as an example for future Java API's accessing mobile network services.
There are currently JSR's relating to support of SMS and MMS messaging on the mobile platform (J2ME), namely JSR 120 Wireless Messaging API: http://www.jcp.org/en/jsr/detail?id=120 JSR 205 Wireless Messaging API 2.0: http://www.jcp.org/en/jsr/detail?id=205. The programming model for this JSR intends to be different from the above proposals. However it would be nice if there would a single standard interface to mobile network messaging across J2ME and J2SE/EE, rather than 2 distinct ones, at least API wise.
This JSR will be under public review until 28th April 2003. To contribute, send an email to jsr-212-comments at jcp.org.
The Web Service Choreography Interface (WSCI) is an XML-based interface description language that describes the flow of messages exchanged by a Web Service participating in choreographed interactions with other services. WSCI describes how Web Service can be choreographed in the context of a message exchange in which the Web Service participates.
WSCI describes the observable behavior of a Web Service which is a view on how the Web Service is perceived to behave by the external world in the context of a given message exchange, and how the Web Service perceives the behavior of the external world in the context of a given message exchange.
This observable behavior is expressed in terms of temporal and logical dependencies among the exchanged messages, featuring sequencing rules, correlation, exception handling, and transactions. WSCI also describes the collective message exchange among interacting Web Services, thus providing a global, message-oriented view of the interactions between the participating services.
The intent of this JSR is Micro WSCI achieves this by defining a layer on top of the existing J2ME Web Service stack. This layer implements the required 'observable' behavior of a choreographed Web Service on the J2ME Device, relative to the message exchange it must support.
This JSR will be under public review until 28th April 2003. To contribute, send an email to jsr-213-comments at jcp.org.
ebXML (Electronic Business using eXtensible Markup Language), is a modular suite of specifications that enables enterprises to conduct business over the Internet. It creates a standard method to exchange business messages, conduct trading relationships, communicate data in common terms and define and register business processes among electronic business processes. One core part of the ebXML suite of specifications is the Business Process Specification Schema (BPSS), which is an XML format defining a business process.
The exchange of information between two processes requires each process to know the other process's supported business collaborations, the other process's role in the collaboration, and the technology details about how the other process sends and receives messages. In some cases, it is necessary for the two participating processes to reach agreement on some of the details. The way each party can exchange information, in the context of a business collaboration, can be described by a Collaboration-Protocol Profile (CPP). The agreement between the Parties can be expressed as a Collaboration-Protocol Agreement (CPA). This is collectively referred to Collaboration-Protocol Profile/Agreement (CPP/A). This CPP/A is also part of the ebXML suite.
The goal of this JSR is to provide a standard set of APIs for representing and manipulating Collaboration Profile and Agreement information described by ebXML CPPA (Collaboration Protocol Profile/Agreement) documents on J2ME Devices. These APIs will define a way to construct and manipulate various profile information corresponding to the CPP/A.
This JSR will be under public review until 28th April 2003. To contribute, send an email to jsr-214-comments at jcp.org
Portlets are web components much like Servlets specifically designed to be aggregated in the context of a composite page. Usually, many Portlets are invoked to in the single request of a Portal page. Each Portlet produces a fragment of a page that it s combined with the fragments of other Portlets, composed within the Portal page. The Portlet specification will define the different components for Portal Computing, their interaction, lifecycle and semantics. These components will comprise -but they will not be restricted to-: Portlets, Deployment descriptor, Portlet APIs. In addition, APIs for vendor extensions, APIs for security, user customization and layout management will be considered. The Portlet specification will be based on the Servlet specification. It is envisioned that the developer API will be similar to the Servlet API.
The Community review closes on 19th May 2003. JCP members may access the Community review at http://java.sun.com/aboutJava/communityprocess/participant/jsr168/index.html
Public Review Specifications
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
The Public review closes on 15th May 2003. You may access the public review at http://jcp.org/aboutJava/communityprocess/review/jsr185/index.html
This JSR will define a J2ME profile targeting embedded networked devices that wish to support a Java runtime environment similar to the Mobile Information Device Profile (MIDP) version 1.0, but that do not provide the graphical display capabilities required by MIDP 1.0. The Information Module Profile (IMP) will be a strict subset of MIDP 1.0, where the APIs relating to GUI functionality (the LCDUI) are simply removed. Functionality not already present in MIDP 1.0 is not anticipated or desired.
The Public review closes on 22nd May 2003. You may access the public review at http://jcp.org/aboutJava/communityprocess/review/jsr195/index.html
Proposed Final Draft Specifications
JSR-152 Java Server Pages 2.0 Specification and
Another link concerning Java Server Pages 2.0 Specification
This is the third revision of the final draft.
Java servlets are small Java programs that run when invoked from a web server. They are usually responsible for producing dynamic web pages or performing some business logic on the server side. This JSR is an update the to Servlet specification 2.3 (JSR-53 http://jcp.org/en/jsr/detail?id=53) with additions and enhancements in the area of Servlet deployment, security and programming model.
This is the third revision of the final draft.
This specification will define a generic interface for positioning. As such, this API shall work with most positioning methods, such as GPS or E-OTD, but the core API will not expose features that pertain to one technology only (however it may allow extensions for specific purposes).
JSR-151 Java 2 Platform, Enterprise Edition 1.4 Specification and http://jcp.org/aboutJava/communityprocess/first/jsr151/index3.html
J2EE 1.4 is the Enterprise Edition of version 1.4 of the Java platform, and thus will be built on J2SE 1.4. This JSR will not itself define any new APIs, rather it will enumerate APIs defined in other JSRs or through the JCP maintenance process.A major goal of this JSR is to add support for Web Services. J2EE 1.4 intends to use the following JSR's as part of its release.
For basic web services support
- JSR-109 (Web Services)
- JSR-101 (JAX-RPC)
- JSR-67 (JAXM)
- JSR-93 (JAXR)
New capabilities provided by
- JSR-77 (management)
- JSR-88 (deployment API)
- JSR-115 (J2EE Authorization SPI)
- JSR-56 (JNLP)
Enhanced APIs that are in J2EE 1.3
- JSR-112 (J2EE Connector Architecture 2.0)
- JSR-152 (JSP 1.3)
- JSR-154 (Servlet 2.4)
- JSR-153 (EJB 2.1)
- JSR-9XX (JAXP 1.2 - XML Schema support)
- JSR-9XX (JMS 1.1 - queue/topic unification)
This is the third revision of this specification.
- The Java Wireless Architecture Roadmap: http://jcp.org/aboutJava/communityprocess/jsr/JSR185_roadmap.pdf
- The Wireless Messaging API implementation (JSR-120): http://java.sun.com/products/wma/
- Wireless Messaging API 2.0: http://www.jcp.org/en/jsr/detail?id=205
- Web Service Choreography Interface (WSCI): http://wwws.sun.com/software/xml/developers/wsci/wsci-spec-10.pdf
- ebXML specification suite including CPP/A and BPPS: http://www.ebxml.org/specs/index.htm#technical_specifications
- Various Portlet implementations which JSR-168 (Portlet Specification) intends to unify
- JetSpeed Portlet API: http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/
- BEA: Web Logic Portal 4.0: http://www.bea.com/products/weblogic/portal/index.shtml
- IBM: WebSphere Portal 2.1: http://www-4.ibm.com/software/webservers/portal/
- iPlanet: iPlanet Portal Server 3.0: http://www.iplanet.com/products/iplanet_portal/home_portal.html
- Oracle: Oracle 9i Portal: http://www.oracle.com/ip/deploy/ias/portal/index.html
- Connected, Limited Device Configuration (CLDC): http://java.sun.com/products/cldc/
- Mobile Information Device Profile (MIDP): http://java.sun.com/products/midp
- World Wide Web Consortium, where you will find all the XML specifications: http://w3c.org
- Java Server Pages Technology: http://java.sun.com/products/jsp/
- Java Servlet Technology: http://java.sun.com/products/servlet/index.html
- Starting point for all things related to the Java 2 Enterprise Edition Platform: http://java.sun.com/products/j2ee
What do you think of the JCP? What do you think of the current JSR's? Do you have any suggestions for this column? Feel free to write to me at email@example.com