JSRs: Java Specification Requests
JSR 172: J2METM Web Services Specification
JCP version in use: 2.8
Java Specification Participation Agreement version in use: 2.0
The purpose of this specification is to define an optional package that provides standard access from J2ME to web services.
NOTICE: Please be aware the CDC 1.0 specification initially related to this JSR has been replace (superseded) with the newer CDC 1.1 specification. CDC 1.0 will no longer be supported after 18-Aug-2009. This JSR and other optional technologies based on the CDC 1.0 standards are fully compatible with the CDC 1.1 standards. All development and certification efforts should be updated to use the current, supported technology.
The following information has been updated from the original proposal:
2011.09.09: The Maintenance Lead changed the JCP version of this JSR from JCP 2.1 to 2.7.
Specification Lead: Jean-Yves Bitterlich
E-Mail Address: jean-yves.bitterlich
Telephone Number: +49 89 46008 1097
Fax Number: -
Section 1. Identification
Submitting Member: Sun Microsystems, Inc.
Name of Contact Person: Danny Coward
E-Mail Address: firstname.lastname@example.org
Telephone Number: +1 408 276 7049
Fax Number: +1 408 276 7191
Specification Lead: Jon Ellis, Mark Young
E-Mail Address: email@example.com, firstname.lastname@example.org
Telephone Number: +1 408 276 7633
Fax Number: +1 408 276 7191
Initial Expert Group Membership:
Section 2: Request
2.1 Please describe the proposed Specification:
There is great interest and activity in the Java community in the use of web services standards and infrastructures to provide the programming model for the next generation of enterprise services. There is considerable interest in the developer community in extending enterprise services out to J2ME clients.
This JSR is designed to provide an infrastructure as two optional packages for J2ME to:-
2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)
The specification is targeted for the J2ME platform including the CLDC- and CDC-based profiles.
2.3 What need of the Java community will be addressed by the proposed specification?
Since J2ME contains only low level programming and communication APIs to support web services, the barrier is high for the developer to take advantage of the new web service technologies. Currently the enterprise developer of J2ME clients to enterprise services is offered a number of non-standard and proprietary approaches for communicating with web services.
2.4 Why isn't this need met by existing specifications?
Although JSR 63 (JAXP) and JSR 101 (JAX-RPC) define Java APIs and conventions for XML processing and XML based RPC targeted at the J2SE and J2EE platforms, they will not provide such facilities for the J2ME developer. This is because the desgn center for these specifications does not take into account the different constraints, such as footprint, on J2ME devices.
2.5 Please give a short description of the underlying technology or technologies:
2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)
Where this optional package uses APIs that are subsets of established packages, the original package name will be used. Should any original APIs be created by this JSR, they would be in javax.microedition.
2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?
No. The goal of this work is to provide optional packages suitable for J2ME devices.
2.8 Are there any security issues that cannot be addressed by the current security model?
An implementation should take advantage of the security model of the underlying environment.
2.9 Are there any internationalization or localization issues?
2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?
No. We aim that this work will leverage the protocols, data formats, and definition languages belonging to network interoperability standards groups such as W3C or OASIS. We aim that this specification will subset the APIs and conventions defined by JAXP and JAXRPC where possible, and so will be complementary with the existing and ongoing work in the Java Community on XML processing (JAXP) and XML based RPC messaging.
2.11 Please describe the anticipated schedule for the development of this specification.
Community Review: Dec 2002
2.12 Please describe the anticipated working model for the Expert Group working on developing this specification.
We anticipate the expert group will follow the model of the JSR118 expert group and others, using in the main email communications with occasional telephone and possibly face to face meetings, which will be teleconferenced.
Section 3: Contributions
3.1 Please list any existing documents, specifications, or implementations that describe the technology. Please include links to the documents if they are publicly available.
J2ME Platform specification
J2ME Connected, Limited Device Configuration (CLDC) Version 1.0, May 2000
J2ME Mobile Information Device Profile (MIDP)
J2ME Connected Device Configuration
JavaTM API for XML Processing 1.1
JavaTM APIs for XML based RPC
W3C Web Services Activity web site. This includes a variety of information on the
W3C's work on XML Protocol, which includes support for RPC using XML.
WSDL specification 1.0
SOAP Protocol Specification v 1.1
WAP Binary XML Content Format
3.2 Explanation of how these items might be used as a starting point for the work.
This optional package should work with CLDC- and CDC-based profiles, in particular MIDP, should subset the APIs defined in JSRs 063 and 101, and should support standard industry protocols for connecting with web services.