Update 2007-05-15: WS-ReliableMessaging Version 1.1 was submitted for ballot as an OASIS Standard in May 2007. Four years in development, WS-RM has three parts. The core "WS-ReliableMessaging V1.1" document defines a protocol for reliable message exchange even in the presence of network/system failures. The protocol allows Web service nodes to implement a variety of delivery assurances, including 'At Most Once', 'At Least Once', 'Exactly Once', and 'In Order' delivery of messages. "WS-ReliableMessaging Policy 1.1" defines an XML policy language that enables Web services to advertise their support for the WS-ReliableMessaging specification; it is is designed for use with the WS-Policy Framework. "WS-MakeConnection" defines a protocol for two-way communication when only a transport specific back-channel is available. See "WS-ReliableMessaging Version 1.1 Submitted for Ballot as an OASIS Standard."
Update 2005-02-18: BEA Systems, IBM, Microsoft, and TIBCO have released a revised version of "WS-ReliableMessaging." WS-RM is now published as two separate specifications: one for the core protocol elements and one for the related policy assertion (WS-RM Policy). This release, updating the March 2004 version and offered for use on royalty-free licensing terms, has been improved based upon user feedback from a May 2004 Interoperability Workshop and subsequent endpoint testing. See "New Release of Web Services Reliable Messaging Protocol (WS-ReliableMessaging)."
[March 13, 2003] Two new specifications have been published as part of the Global XML Web Services Architecture (GXA) platform being developed by Microsoft, IBM, and others.
The Web Services Reliable Messaging Protocol (WS-ReliableMessaging) specification from BEA, IBM, Microsoft, and TIBCO "allows messages to be delivered reliably between distributed applications in the presence of software component, system, or network failures. The primary goal of this specification is to create a modular mechanism for reliable message delivery. It defines a messaging protocol to identify, track, and manage the reliable delivery of messages between exactly two parties, a source and a destination. It also defines a SOAP binding which is required for interoperability. Additional bindings may be defined. This mechanism is extensible allowing additional functionality, such as security, to be tightly integrated. This specification integrates with and compliments the WS-Security, WS-Policy, and other Web services specifications. Combined, these allow for a broad range of reliable, secure messaging options."
The Web Services Addressing (WS-Addressing) specification from BEA, IBM, and Microsoft defines "provides transport-neutral mechanisms to address Web services and messages. Specifically, this specification defines XML elements to identify Web service endpoints and to secure end-to-end endpoint identification in messages. This specification enables messaging systems to support message transmission through networks that include processing nodes such as endpoint managers, firewalls, and gateways in a transport-neutral manner."
[Excerpted from the section "Exchanging Messages Reliably" in the Joint White Paper from IBM Corporation and Microsoft Corporation]
"Messages exchanged between the distributor and supplier travel over multiple nodes, some on the public Internet. This means that some messages may be lost in transit. Additionally, it is possible that either the supplier's or the distributor's system may fail while a message is in transit, leaving the still-running system in a state of confusion as to whether a given message has been processed or not."
"WS-ReliableMessaging takes advantage of the algorithms used in reliable messaging and transaction protocols. Specifically, WS-ReliableMessaging provides a flexible acknowledgement scheme in which receivers can efficiently convey the range of messages that have (and have not) been received. WS-ReliableMessaging also provides an efficient ordering mechanism to ensure that receivers can process messages in the same order in which they were sent, even in the face of reordering due to retransmissions or multi-path routing."
"WS-ReliableMessaging was designed to compose with the existing Web service infrastructure. In particular, WS-ReliableMessaging is meant to layer on existing application protocols and interfaces described in WSDL and XML Schema. This means that the distributor and supplier do not need to redesign their application-level message schemas or exchange patterns. The applications' implementations use the WSDL and XML Schema that define the business interfaces of the services. The infrastructure software providing the Web services protocols compose the reliable messaging functions with the Web services protocols."
"WS-ReliableMessaging is not bound to underlying transport protocols or sessions. This means that the lifetime of a WS-ReliableMessaging conversation can span long periods of time (days, weeks) even when one or both systems are rebooted. This allows conversations to be suspended mid-stream (for example, to allow system maintenance) and then resumed without needing to retransmit the entire conversation."
"The WS-ReliableMessaging protocol has several features that benefit a large bi-directional transfer such as those typically used in partner integration scenarios such as this one. WS-Addressing allows messages to be sent asynchronously in either direction. WS-ReliableMessaging takes advantage of this capability in several ways. Rather than send an acknowledgement message for every message received, WS-ReliableMessaging allows the destination to cumulatively acknowledge every message it has received in a single, compact control element. This control element can be sent in its own message or included with a subsequent application message that is sent back to the source (for example, a response message in a request/reply conversation). WS-ReliableMessaging does not place any arbitrary restrictions on the number of outstanding messages in transit; two endpoints can have several reliable messages "in flight" in either direction over a single underlying transport connection. In this common case, the message overhead for WS-ReliableMessaging becomes very low."
Web Services Reliable Messaging Protocol (WS-ReliableMessaging). March 13, 2003. Edited by Christopher Ferris (IBM) and David Langworthy (Microsoft). Copyright BEA, IBM, Microsoft, and TIBCO Software. 33 pages (PDF). Authors: Ruslan Bilorusets (BEA), Adam Bosworth (BEA), Don Box (Microsoft), Felipe Cabrera (Microsoft), Derek Collison (TIBCO Software), Jon Dart (TIBCO Software), Donald Ferguson (IBM), Christopher Ferris (IBM, Editor), Tom Freund (IBM), Mary Ann Hondo (IBM), John Ibbotson (IBM), Chris Kaler (Microsoft), David Langworthy (Microsoft, Editor), Amelia Lewis (TIBCO Software), Rodney Limprecht (Microsoft), Steve Lucco (Microsoft), Don Mullen (TIBCO Software), Anthony Nadalin (IBM), Mark Nottingham (BEA), David Orchard (BEA), John Shewchuk (Microsoft), and Tony Storey (IBM).
Web Services Addressing (WS-Addressing). March 13, 2003. Edited by Don Box (Microsoft) and Francisco Curbera (IBM). Copyright BEA Systems Inc., International Business Machines Corporation, and Microsoft Corporation. 14 pages (PDF). Authors: Adam Bosworth (BEA), Don Box (Microsoft, Editor), Erik Christensen (Microsoft), Francisco Curbera (IBM, Editor), Donald Ferguson (IBM), Jeffrey Frey (IBM), Chris Kaler (Microsoft), David Langworthy (Microsoft), Frank Leymann (IBM), Steve Lucco (Microsoft), Steve Millet (Microsoft), Nirmal Mukhi (IBM), Mark Nottingham (BEA), David Orchard (BEA), John Shewchuk (Microsoft), Tony Storey (IBM), and Sanjiva Weerawarana (IBM).
Web Services Reliable Messaging Technical Overview
Context for the WS-ReliableMessaging protocol is provided in the Architecture and Roadmap document. Excerpts follow.
A cornerstone of the architecture we define in this paper is the core reliable messaging specification: the Web Services Reliable Messaging (WS-ReliableMessaging) protocol. WS-ReliableMessaging defines the facilities for ensuring efficient, asynchronous reliable message delivery. The architecture of WS-ReliableMessaging supports composition with other messaging and Web service specifications and standards. This architecture consists of the following specifications:
- WS-ReliableMessaging: A protocol that allows messages to be delivered reliably between distributed applications in the presence of software component, system, or network failures.
- WS-Addressing: A framework to identify Web service endpoints and to ensure end-to-end endpoint identification in messages.
- WSDL: A set of constructs to specify Web service interfaces and bindings for endpoints.
- WS-Policy: A base set of constructs that can be used and extended by other Web services specifications to describe a broad range of requirements, preferences, and capabilities of service interfaces.
- WS-Transactions and WS-Coordination: A set of Web service interface definitions and protocols that support participant control and agreement on the outcome of distributed, multi-party interactions.
- WS-EndpointResolution: A set of Web service mechanisms that support selecting a specific endpoint for an operation or message from a set of allowed candidates. This is particularly useful in server farms and mobile environments.
- WS-MetadataExchange: A set of Web service mechanisms to exchange policies, WSDL and potentially other metadata between two or more parties.
- The WS-Security Roadmap protocols: In April 2002, IBM and Microsoft published a roadmap for Web service security [WS-Security Roadmap] that supports, integrates and unifies several popular security models, mechanisms, and technologies.
- WS-TransmissionControl: A set of constructs for controlling the exchange of messages between services to improve reliability by preventing message loss due to service unavailability, overloading queues and other causes.
WSDL, WS-Security, WS-Policy, WS-Transactions, and related documents have been published by IBM, Microsoft and others and are submitted to or on track to standards bodies. We are publishing WS-Addressing and WS-ReliableMessaging with this summary. WS-MetadataExchange, WS-EndpointResolution and WS-TransmissionControl represent new areas in which IBM and Microsoft, working together with our customers, partners, and standards organizations, are investigating possible and practical solutions.
- Announcement 2003-03-13: "Microsoft, IBM, BEA and TIBCO Announce Reliable Messaging Specifications. Publication of WS-ReliableMessaging and WS-Addressing Signifies Milestone In Development of Web Services Architecture."
- Reliable Messaging
- "Web Services Reliable Messaging Protocol (WS-ReliableMessaging)." [PDF, cache]
- WS-ReliableMessaging XML Schema. [cache]
- "Reliable Message Delivery in a Web Services World: A Proposed Architecture and Roadmap." A Joint White Paper from IBM Corporation and Microsoft Corporation. Version 1.0. March 13, 2003. 9 pages. [PDF, cache]
- WS-ReliableMessaging Specification Index Page
- Press and commentary:
- David Chappell on WS-Reliability and WS-ReliableMessaging. WSRM TC posting 2003-03013.
- "Web Services Faces Standards Snarl." By Martin LaMonica. In CNET News.com (March 13, 2003).
- "IBM, Microsoft Tout Two Web Services Specs. Several Vendors Look to Bolster Message Delivery." By Nancy Weil. In InfoWorld (March 13, 2003).
- "IBM, Microsoft Team on Reliability Spec for Web Services." By John Fontana. In Network World (March 13, 2003).
- Global XML Web Services Architecture (GXA)
- XML Web Services Developer Center Home (Microsoft)
- See also: "OASIS Members Form Technical Committee for Web Services Reliable Messaging."
- "Web Services Addressing (WS-Addressing)" - Main reference page.
- "Reliable Messaging" - Main reference page.