JAXM 1.0.1-ea1_01 Reference Implementation 
The JAXM 1.0.1-ea1_01 Reference Implementation (RI) is an implementation of
an XML-based messaging system. It is based on
-
JavaTM API for XML Messaging (JAXM) version1.0,
which was developed as JSR067
under the Java Community Process.
The overall goal is to provide a lightweight implementation to help build
business-to-business (b-to-b) applications using JAXM. Typical b-to-b scenarios generally
involve two or more business entities communicating via the Internet using
a common protocol, such as HTTP.
This RI tries to provide an application programming model for both servlet-based b-to-b
applications and standalone b-to-b applications.
The rest of this document briefly describes what is in this release.
The Core
The core includes client-side libraries to generate SOAP messages using the
JAXM API. This client-side runtime library can be used to send messages to
remote parties either directly or using a remote provider. Messages
can be received synchronously (using a request-response model)
or asynchronously (using a one-way model). In this release,
support for the asynchronous receipt of messages is implemented using a
servlet. A standalone client, that is, one that does not run in a container
such as a servlet, must include client-side libraries in its CLASSPATH.
Point-to-point SOAP Communication
A client can send messages directly to the ultimate recipient using a
SOAPConnection object. This type of connection,
called a point-to-point connection, connects
the client to the intended recipient rather than to a messaging provider.
Therefore, when the application sends a message, the message goes directly
to the intended recipient. This kind of SOAP message exchange uses the APIs
in the javax.xml.soap package. SOAPConnection
(and
its related classes) is a pure library implementation that lets you send
SOAP messages directly to a remote party. This model is simple to get started
but has limited possibilities for reliability and message delivery guarantees.
For instance, the point-to-point message exchange model relies largely on
the reliability of the underlying transport for delivering a message.
Remote Provider
A remote provider, also called a messaging provider, is akin to a
messaging server. The messaging provider takes a
message sent by an application and holds on to it until the message has been
successfully delivered. The application itself may be active or quiescent, but
the remote provider continues to try to deliver any messages that the application
has sent and to receive any incoming messages on the application's behalf.
When an application comes up and establishes a connection to the remote
provider, messages received by the provider for that application are delivered
to it. All messages sent through a remote provider are logged for perusal
later. APIs to work with the remote provider are in the javax.xml.messaging
package
of the JAXM API.
Provider Admin Tool
The JAXM provider administration tool allows users to make changes to
the provider configuration. It is expected that the main users will
be Systems Administrators, but anyone who needs to change the configuration for
the provider can use it.
Instructions for starting up the provider
administration tool are at JWSDP_HOME/docs/tutorial/doc/JAXM.ws.html
in
the section "The Provider Administration Tool" in the JAXM tutorial.
Samples
This release contains the following sample applications.
Instructions for running the sample applications
are at JWSDP_HOME/docs/tutorial/doc/JAXM.ws.html
in
the section "Running the Samples" in the JAXM tutorial.
-
jaxm-simple - A simple example of sending and receiving messages using
the local provider.
-
Standalone - A standalone client communicating with a receiver using the local
provider
-
UddiPing - A request-response example that generates a simple query into a
UDDI registry and prints out the response
-
jaxm-remote - An example that uses a remote provider to send and receive
messages using the ebXML profile.
-
JAXM Tags - An example that use JSP tags to generate and consume
SOAP messages
-
jaxm-translator - A simple translation service that translates text into
different languages
-
jaxm-SOAPRP - An example of a roundtrip message exchange via a provider,
using the SOAP-RP profile
Documentation
-
"JAXM API Docs" has the
JavadocTM comments for the JAXM API.
-
"EbXML and SOAP-RP profiles API Docs" has
the Javadoc comments for the EbXML and SOAP-RP profiles, which are
implementations build on top of SOAP.
-
"ReleaseNotes" has a list of known bugs and
features that have not yet been implemented.
-
"Getting Started with JAXM" gives step-by-step instructions
for writing JAXM applications, showing both using a messaging provider and
not using a messaging provider.
-
"Building Web Applications" explains how to
use the sample Ant file buildapps.xml to build web applications
easily.
-
"Deployment and Configuration Guide" explains how
to deploy and configure the client that talks to a remote provider, as well
as how to configure the remote provider itself.
-
"JSP tags for JAXM" explains how to use custom JSP
tags to send and receive JAXM messages.
-
"JAXM Security" has some short notes on how
to do HTTP basic authentication and HTTPS.
Please send feedback on this JAXM 1.0.1-ea1_01 release to jaxm-feedback@sun.com.