CP RSS Channel
About Our Sponsors
Articles & Papers
Technology and Society
|Java XML-Based Messaging System (JAXM)|
The Java API for XML Messaging (JAXM) Optional Package enables applications to send and receive document oriented XML messages using a pure Java API. JAXM implements Simple Object Access Protocol (SOAP) 1.1 with Attachments messaging so that developers can focus on building, sending, receiving, and decomposing messages for their applications instead of programming low level XML communications routines. The 1.1 version of the JAXM specification includes the notion of messaging Profiles. The intent is to establish a foundation for supporting a family of higher level standards-based messaging protocols. An example of a Profile would be an implementation of ebXML Transportation, Routing, and Packaging Message Handling Service or the W3C's XMLP layered on JAXM. Consequently, Java technology developers using JAXM will have pluggable XML messaging capabilities. These higher level protocols frequently implement additional functionality beyond basic SOAP-based messaging. This additional functionality is often useful for scalable, robust, and secure messaging frequently required for reliable messaging applications." [website description 2002-09]
From the FAQ document: You are free to use the Java 2 Platform, Standard Edition (J2SE) as well as the Java 2 Platform, Enterprise Edition (J2EE). A stand-alone client (a client that does not use a messaging provider) can use the J2SE platform to send request-response messages to Web services that process request-response messages. This requires no deployment or configuration from the client, so it is easy to do... You do not have to use a messaging provider; you need to use a messaging provider only when your application requires one-way (asynchronous) messaging. In this type of messaging, a message is sent to a recipient as one operation, and the recipient responds at some later time in a different operation. If you application uses a request-response style of messaging, in which the response to a message is sent back as part of the same operation, you do not need a messaging provider... You can use ebXML headers if you use an ebXML profile that is implemented on top of SOAP. A profile is a standard protocol, such as ebXML TRP or SOAP-RP, that works on top of SOAP to give you added functionality. You need to use a messaging provider that supports the profile, and you need to arrange with your recipients to use the same profile..."
[November 03, 2000] Early description: Rajiv Mordani (Sun Microsystems) announced the 'M Project' as an "early access, pre-alpha, use-at-your-own-risk-only prototype implementation of an XML-based messaging system. It is based on work currently in progress as part of the ebXML initiative and the Java Community Process JSR-000067. [JSR-000067 'Java APIs for XML Messaging 1.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.] The overall goal is to provide a prototype for discussion of a messaging system for use in 'B2B' systems. These 'B2B' scenarios are generally conceived of as involving two or more business entities communicating via the Internet (TCP/IP). In particular, a Java application developer should be able to easily communicate with other business entities which have agreed to adhere to specifications which the ebXML initiative has put forth by working with a set of simple Java interfaces. Note that as of this announcement (October 18, 2000), the ebXML specifications upon which this work is based are not final, and therefore this release can not be considered to be an 'implementation' of the ebXML specification(s) upon which it is based."
- Java API for XML Messaging (JAXM) website
- JSR-000067 Java APIs for XML Messaging. Maintenance Release, June 2002.
- JAXM FAQ document
- JAXM download
- Java Web Services Developer Pack - This package includes JAXM.
- M Project web page
- Java Community Process JSR-000067. Java APIs for XML Messaging 1.0. "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. 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. JAXM 1.0 will specify API's enabling the Java Community to develop portable applications that support emerging industry messaging standards: (1) Support for industry standard message envelope and headers for routing of message content, (2) Support for the reliable delivery of messages, (3) Support for message exchange templates (message choreographies), (4) Support for a variety of data types in message payloads, (5) Support for the non-repudiation of messages - privacy and integrity of communications between parties - authentication of senders of messages - (6) Access control to business 'services', (7) Support for secure audit trails. 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..." Contact: Nicholas Kassem.
General: Articles, Papers, News
[May 05, 2003] "Developing E-Business Interactions with JAXM." By Nikhil Patil (Cysive, Inc). From the O'Reilly Network ONJava.com (April 30, 2003). "JAXM, the Java API for XML Messaging, defines a lightweight Java API for composing, processing, sending, and receiving XML documents. The goal of JAXM is to provide a rich set of interfaces for document-style web services. Document-style web services enable the exchange of XML documents between two parties, as opposed to RPC-style web services, which expose software functions as web services. JAXM-based web services can be used effectively in the following scenarios: (1) When interactions between two parties are asynchronous in nature. JAXM provides support for both synchronous and asynchronous exchange of XML documents. (2) When two parties want to exchange data using XML documents that are bounded using well-defined XML schemas instead of invoking software functions (Java objects, C procedures, etc.) exposed as RPC-style web services... JAXM provides a good starting point for developing document-style web services that can promote the exchange of information between enterprises in a loosely coupled fashion through context-sensitive documents. Using JAXM, developers can build applications that are a combination of synchronous and asynchronous interactions..."
[December 04, 2000] "Sun Microsystems Announces Early Access Availability of Key Java Technologies for XML. Java APIs Enable Developers to Easily Leverage XML for B2B Ecommerce Applications." - "Sun Microsystems, Inc. today announced the early access availability of two key Java technology application programming interfaces (APIs) for the Extensible Markup Language (XML): the Java API for XML Messaging (JAXM) and the Java API for XML Parsing (JAXP). Both APIs are downloadable free of charge through Sun's Java Developer Connection Connection at http://java.sun.com/jdc. More information on Sun's historical and present work with XML can be found at http://www.sun.com/xml. These two APIs, along with the Java API for XML Data Binding (JAXB), form the core of XML support in the Java 2 platform. JAXB, formerly called Project Adelard is nearing completion through the Java Community Process (JCP) program. These Java technologies for XML give developers a powerful, easy-to-use API tool set for developing and deploying Java technology-based applications that harness the synergies of the Java platform's portable code and XML's portable data. With the delivery of JAXM, JAXP, and the forthcoming JAXB, Sun is providing essential XML functionality to Java technology developers and continuing to deliver on its vision of simplifying development of network-centric applications based on open industry standards. All three technologies are being developed through the JCP program, the open, community-based organization that stewards the evolution of the Java platform. JAXP, JAXM and JAXB are expected to be included in the next releases of the Java 2 Platform, Enterprise Edition (J2EE) and Java 2 Platform, Standard Edition (J2SE). (1) JAXM: Enabling B2B Messaging Through Support of the ebXML Standard. The early access implementation of JAXM, known by the code name 'The M Project,' enables the packaging, routing and transport of both XML and non-XML business messages across a number of key communications infrastructures, such as those based on HTTP, SMTP, and FTP protocols. By supporting industry standard packaging and an asynchronous messaging model, Java technology programmers will be able to easily and quickly build robust, reliable, and secure B2B Ecommerce applications with JAXM. JAXM will support a variety of XML messaging methods, such as the evolving XML messaging standard being defined in the ebXML framework. ebXML is intended to provide a global standard for simple, robust, low-cost trade facilitation and is a joint development effort between OASIS and the UN/CEFACT (United Nations Centre for Trade Facilitation and Electronic Business). (2) JAXP: Supporting Latest XML Standards JAXP enables the reading, manipulating, and generating XML documents through Java APIs by providing a standard way to seamlessly integrate any XML-compliant parser with a Java technology-based application. JAXP v 1.1 supports the latest XML standards, including: the Document Object Model (DOM) level 2, a W3C recommendation that was released last month; Simple API for XML (SAX) level 2, the industry standard for XML parsing; and XSL Transformations (XSLT), an integrated XML transformation standard defined by the W3C. (3) JAXB: Simplifying Creation of XML and Java Technology-Based Applications. JAXB, formerly Project Adelard, will enable Java technology developers to deliver and maintain high-performance XML-enabled applications with a minimum of development effort. JAXB provides two-way mapping between XML documents and Java technology-based objects along with a schema compiler tool. The compiler will automatically generate Java technology classes from XML schemas without requiring developers to write any complex parsing code. In addition, the compiler will contain automatic error and validity of checking of XML messages, helping to ensure that only valid, error-free messages are accepted and processed by a system. With JAXB, developers will be able to more easily develop and deploy Java technology-based applications that leverage XML and enterprises will also cut costs through more productive development."
[December 04, 2000] "Sun Announces XML for Java Interface Specs." By Peter Sayer. In InfoWorld (December 04, 2000). "Sun Microsystems published details on Monday of two new interfaces to link its Java programming language to XML. The two new Java APIs -- JAXM (Java API for XML Messaging) and JAXP (Java API for XML Parsing) -- and a slew of supporting acronyms deal with the messaging and parsing of XML. Work on the APIs is still continuing, and Sun described the information released Monday as "early access" versions of the specifications. The APIs, along with the still incomplete JAXB (Java API for XML Data Binding), form the core of Sun's support for XML in the Java 2 platform, the company said in a statement. All three technologies are being developed through the Java Community Process (JCP), an organization set up by Sun to manage the evolution of Java. JAXM enables packaging, routing, and transport of XML and other messages using HTTP, SMTP, and FTP, and will be useful to programmers building robust, secure e-commerce applications, Sun said. Future versions of the API will support other messaging methods, including those being defined in the ebXML (electronic business XML) initiative framework by OASIS (Organization for the Advancement of Structured Information Standards) and the UN/CEFACT (United Nations Center for Trade Facilitation and Electronic Business). Sun said it expects the final version of JAXM to be ready in early 2001, and hopes to make the specification available through "a credible open-source organization, such as the Apache Software Foundation." The other API, JAXP, enables Java applications to read, manipulate, and generate XML documents. The draft version of the specification is available through JCP and supports XML standards including the recently released Document Object Model (DOM) Level 2, Sun said. It expects to ship the final version in the first quarter of next year. The third, as-yet unreleased API, is intended to help develop and maintain XML-enabled applications with a minimum of effort. JAXB maps XML documents to Java objects. It will include a compiler that can automatically generate Java classes from XML schemas without developers having to write any parsing code. The compiler will automatically check XML messages for errors and validity..."
See also: "XML Messaging (IETF)"
See also: "Java API for XML Registries (JAXR)"
See also: Sun Resources: Java Technology and XML
|Receive daily news updates from Managing Editor, Robin Cover.|