Title: JAXM vs. SAAJ clarification
JAXM 1.0 was the first Java API to support SOAP. It originally contained two packages: javax.xml.soap and javax.xml.messaging. The soap package is a low-level SOAP API. It provides access to the SOAP envelope and supports basic SOAP communication. The messaging package is a higher level messaging API that supports asynchronous SOAP communications. The messaging package auto-generates a SOAP envelope (using the soap package) based on a predefined "profile", such as an ebXML profile. (The ebXML profile supports security and reliable message delivery -- but not all JAXM profiles necessarily support these features.) The application then adds the XML payload to the generated SOAP envelope. (The primary goal of this package is to support ebXML.)
 
Then the JAX-RPC effort came along. JAX-RPC also requires a low-level soap package, but it doesn't require a messaging package. Rather than developing a new low-level soap package, and rather than forcing JAX-RPC to pre-req all of JAXM, they decided to split JAXM into two separate APIs: JAXM (messaging) and SAAJ (soap). So now JAXM and JAX-RPC both rely on SAAJ.
 
JAX-RPC defines three interfaces: call, service, and stub. The service and stub interfaces are RMI-like interfaces that support synchronous, request/response invocations. The call interface is a dynamic invocation interface (DII) that supports synchronous and asynchrous messaging.
 
People that want to use ebXML should use JAXM. People that want to use SOAP and WSDL should use JAX-RPC. Today, if you need reliable message delivery, you can use JMS or SMTP. In the future you'll probably use WS-ReliableMessaging over HTTP.
 
The JWSDP is more focused on the SOAP/WSDL market, and most SOAP/WSDL users have no need for JAXM, so I assume that Sun thought it better to supply the package separately.
 
But I recommend using Apache Axis over Sun's JWSDP.
 
Anne
 
----- Original Message -----
Sent: Tuesday, August 05, 2003 9:20 AM
Subject: JAXM vs. SAAJ clarification

Can someone clarify the current state of JAXM and SAAJ for me?  Here's what I thought was going on, but I'm not positive.

JAXM predates SAAJ and includes two basic mechanisms for XML-based messaging.  These are point-to-point and provider-based (like publish/subscribe) messaging.  SAAJ is basically the point-to-point part of JAXM.

JAXM is no longer included in the Java WSDP, but SAAJ is included.  Interest in JAXM is fading.  People that were interested in the provider capabilities of JAXM are using SOAP with JMS instead.

Please correct me if I've misstated anything above!



***********************************************************************************
WARNING: All e-mail sent to and from this address will be received or
otherwise recorded by the A.G. Edwards corporate e-mail system and is
subject to archival, monitoring or review by, and/or disclosure to,
someone other than the recipient.
************************************************************************************

Reply via email to