CARVIEW |
Team Comment on the WS-MessageDelivery Submission
W3C is pleased to receive the WS-MessageDelivery Version 1.0 submission from Oracle Corporation, Arjuna Technologies Limited, Cyclone Commerce Inc., Enigmatec Corporation, Ltd., IONA Technologies, Nokia Corporation, SeeBeyond Technology Corporation, and Sun Microsystems Inc.
The WS-MessageDelivery specification fills in a portion of the Web Services architecture by presenting a simple mechanism to deliver and correlate messages in the context of message exchange patterns (MEPs), found in the service description. It is especially useful when more than two agents are in use.
WS-MessageDelivery can be used with the Web Services Description
Language (WSDL), and the MEPs introduced in WSDL
1.1 and WSDL
2.0. It also defines the concept of Web Services references by
reusing the WSDL 1.1 service
element. For example, using
WS-MessageDelivery, one can indicate that the destination of an 'Out'
message when using the MEP In-Out should be
different from the sender of the message 'In'. Another example would be
the use of WSDL MEPs for asynchronous exchanges. WSDL 2.0 also
introduces the concept of service
reference, but this is still work in progress.
Concepts
Web Service Reference
When more than two agents are involved in a message exchange, one needs a mechanism to reference an agent. A Web Service Reference could be:
- an identifier, i.e. a Uniform Resource Identifiers (URI) representing the address of an agent;
- a service endpoint;
- or a subset of a service endpoint, when the interface and/or the interface binding are not determined.
Delivering messages
Multiplexing messages in Web Services is very analog to delivering emails using SMTP. Thus, WS-MessageDelivery introduces similar notions:
MessageOriginator
- equivalent to the SMTP header
From:
. This is a Web Service Reference. MessageDestination
- equivalent to the SMTP header
To:
. This is a Web Service Reference. ReplyDestination
- equivalent to the SMTP header
Reply-To:
. This is a Web Service Reference. FaultDestination
- in SMTP, an error, if any, is always returned to the agent who sent or relayed the email. WS-MessageDelivery allows a fault to be sent to a different destination.
MessageId
- equivalent to the SMTP header
Message-ID:
. The identifier is a URI. MessageReference
- equivalent to the SMTP header
References:
. However, WS-MessageDelivery gives the ability to correlate the messages. OperationName
- This has no equivalence in SMTP.
Next Steps
Web Service references and delivering messages are important concepts.
This proposal is along the lines of the WS-Addressing proposal. However, while addressing the same scope as the WS-Addressing document, WS-MessageDelivery is more fully integrated with WSDL, by defining its relations with the WSDL Message Exchange Patterns or by introducing a WSMD description for WSDL. It also follows the current work of the Web Services Description Working Group, and the service references introduced in WSDL 2.0. WS-Addressing, while relying on the WSDL concepts, does not use the WSDL service element as a service reference. WS-MessageDelivery relies on the implicit open content model of WSDL for extensions, while WS-Addressing has an explicit extension mechanism (the reference properties).
WS-MessageDelivery is linked to SOAP and doesn't provide a complete abstraction of the protocol layer. It does not rely on the SOAP Action mechanism and embed the operation name separately.
The WS-MessageDelivery approach suggests a strategy for possible standardization:
- ensure that we have consensus on the relation between WSDL and the service references, as used to deliver messages;
- allow the use of such service references for the WSDL 2.0 Message Exchange Patterns;
- define the abstract component to allow delivery;
- and provide the necessary extensions for SOAP 1.2 and WSDL 2.0.
Such work should be developed in a separate group (i.e. different from the XMLP, WSD, or WS Choreography WGs).
Philippe Le Hégaret, Architecture Domain Leader.
$Id: Comment.html,v 1.18 2023/09/05 12:32:46 denis Exp $