OASIS Web Services Reliable Messaging TC


1. What is the need for the WS-Reliability specification?

As Web services start to be deployed across enterprise boundaries and for collaborative e-business and e-transaction scenarios, message reliability becomes a critical issue. This is because communications over the Internet (and Intranets) is inherently unreliable, as usage of the "transport protocols" (e.g., HTTP, SMTP, and other message delivery protocols) admit conditions which do not offer guaranteed or ordered delivery. Yet Web services messages need be delivered to the ultimate receiver, even in the presence of component, system, or network failures. If a message can't be reliably delivered, then the user must be so informed.

2. What are the reliability features supported by the WS-Reliability specification?

WS-Reliability supports:

a] Guaranteed delivery at least once - the sent message must be delivered at the receiver or else a notification of potential delivery failure is given to the sender

b] Duplicate elimination - delivery at most once - duplicates are detected and eliminated by the receiver

c] Guaranteed message ordering - messages are delivered in the order sent

3. How does the WS-Reliability protocol relate to WSDL operation types?

WS-Reliability has been designed to support One-Way and Request-Response operations. The two following requirements are observed by WS-Reliability:

  • An implementation of WS-Reliability is not supposed to be aware of the type of WSDL operation associated with the messages it is processing.

  • The RM protocol specified is compatible with current WS-I profiles.

One-Way operations: All specified RM features apply to these operations, with the following restriction: in order to comply with current WS-I profiles, the "Response" reply pattern must not be used with these operations.

Request-Response operations: All specified RM features apply to these operations, with the exception of the "response" leg of the operation, to which the Guaranteed Delivery protocol as defined does not apply: the HTTP binding required by current WS-I profiles requires a particular handling of re-sending that is beyond V1.0. It should be noted that the benefits of RM features may not be as obvious for this operation type as for the previous one: because Request-Response is often supported in a synchronous way by SOAP implementations, the application will generally have a level of control that may supersede some RM features. For example, an application can be certain that a delivery of a request occurred, when it receives the correlated response.

Because an implementation is not required to distinguish messages based on their associated WSDL operation type, an appropriate use of RM features will depend on the user layer.

4. Why are there several reply patterns?

Because there are different use case and deployment scenarios and different WSDL MEPs/operations, limiting to just one reply pattern will adversely affect its usage and importance of the protocol. For example, a Sender behind a firewall may prohibit incoming requests, as required by the callback reply pattern and, hence, needs to use some kind of polling mechanism to poll for the message.

Similarly a one-way WSDL operation cannot use a Response pattern as it is against the WS-I Basic Profile 1.0 for a one-way operation to have a SOAP envelope in its response. Because of such common, yet different use cases, different reply patterns have to be supported by WS-Reliability.

5. When will the WS Reliability spec be completed and what is it based on?

Agreement was reached in November 2003 on a committee draft spec (v0.52), which was implemented in a demo at the XML Conference in December 2003. The TC has recently approved a Committee Draft specification (v.0.992), which completed its 30-day public review, 19 April 2004. Note that the spec is based on Requirements issues that have been compiled for the TC's internal use (over 100 requirements have been identified).

WS-Reliability could be approved as an OASIS Standard in the second quarter of 2004.

6. What is the relationship between WS-Reliability and ebXML V2.0?

Overall, both specifications have same messaging reliability contracts as objectives--guaranteed delivery, no duplicate delivery, ordered delivery, and combinations of these. WS-R, however, has improved on scalability and performance by generalizing the use of sequence numbers and can accommodate different security and access conditions on each party, as this is more frequently the case with a Web service and its clients, compared to more symmetrical access conditions in messaging. The reliability contract is more "application-oriented" in WS-R, where acknowledgment is on final delivery, in contrast to "on receipt" by the message handler in ebMS.

7. Why do the specification and the TC have different names?

The difference in naming of the OASIS Web Services Reliable Messaging (WSRM) Technical Committee and the WS Reliability specification is a result of the way materials were originally submitted to OASIS to initiate this activity. The TC chose not to rename the specification to avoid confusion with a similarly named, though unrelated, specification (WS-ReliableMessaging) that has not been submitted to a standard body. This permits one to unambiguously refer to the exact specification being discussed.