JSRs: Java Specification Requests
JSR 67: JavaTM APIs for XML Messaging 1.0
JCP version in use: 2.6
Java Specification Participation Agreement version in use: 2.0
JAXM provides an API for packaging and transporting business transactions using on-the-wire protocols being defined by ebXML.org, Oasis, W3C and IETF.
Please direct comments on this JSR to the Spec Lead(s)
The following information has been updated from the original proposal:
2017.02.01: The Maintenance Lead changed to Lukas Jungmann.
Specification Lead: Lukas Jungmann, Oracle
E-mail address: lukas.jungmann
Telephone number: +420 221 43 8543
Section 1. Identification
Submitting Participant: Sun Microsystems, Inc.
List of other Participants who endorse this JSR:
Section 2: Request
2.1 Please describe the proposed Specification:
This JSR requests the creation of the Java API's for XML Messaging 1.0 specification (JAXM). This specification will describe Java API's designed specifically for the exchange of XML business documents such as, invoices, purchase orders, and order confirmations. This JSR will refer to such documents generically as business messages or messages for short.
The business messaging community is working to converge on a set of standard message headers and industry-specific message payloads. It is planned that this JSR will leverage work currently under way in the ebXML Transport Working Group, Oasis, W3C, IETF and potentially other relevant and open standards bodies.
This JSR does not aim to define either XML messaging standards or XML schemas for particular tasks. These networking and formatting standards belong in networking standards bodies such as Oasis or IETF. Instead this JSR aims to define standard Java APIs to allow convenient access from Java to emerging XML messaging standards, such as the emerging ebXML Transport/Packaging & Routing standard.
2.2 What is the target Java platform? (i.e., desktop, server, personal, embedded, card, etc.)
The JAXM 1.0 specification will be provided, at least initially, as a standard extension but will be incorporated into the Java 2 Enterprise Edition platform as soon as this is practical and there is sufficient demand to warrant such integration.
2.3 What need of the Java community will be addressed by the proposed specification?
JAXM 1.0 will specify API's enabling the Java Community to develop portable applications that support emerging industry messaging standards:
2.4 Why isn't this need met by existing specifications?
Given the diversity of communication requirements and technologies amongst multiple trading partners, there is currently no standard way to accomplish the secure, reliable exchange of business documents. However, industry standards are emerging.
More specifically, there is currently no standard Java API facilitating the exchange of XML messages over the Web. The ability to describe a "software contract" in XML such that Java applications can exchange data (either synchronously or asynchronously) with other business applications will facilitate Web based business-to-business communication.
Although, this specification will focus exclusively on business applications written in the Java Programming language and messages described using XML (as specified by open industry standards e.g. ebXML), such applications will be capable of interoperating with all applications conforming to a common message exchange Schema.
2.5 Please give a short description of the underlying technology or technologies:
The JAXM 1.0 specification will most likely specify a low-level abstract Java interface specifically targeting the transmission and reception of XML messages. The specifications will be developed by industry experts to ensure that message delivery can be accomplished by supporting a number of communications infrastructures and key networking transports including, but not limited to, HTTP(S) and SMTP.
2.6 Is there a proposed package name for the API Specification? (i.e., javapi.something, org.something, etc.)
2.7 Does the proposed specification have any dependencies on specific operating systems, CPUs, or I/O devices that you know of?
2.8 Are there any security issues that cannot be addressed by the current security model?
The goal is to leverage the security services of the JavaTM 2 platform, Standard Edition and Java 2 platform, Enterprise Edition where possible.
2.9 Are there any internationalization or localization issues?
The goal is to leverage the I18N services of the Java 2 platform, Standard Edition. There are no localization implications at this time.
2.10 Are there any existing specifications that might be rendered obsolete, deprecated, or in need of revision as a result of this work?
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.
3.2 Explanation of how these items might be used as a starting point for the work.
These documents are being developed independently and are therefore at different stages of completion and can serve as a starting point for the work of the Expert Group.