Six leading vendors have contributed to the working draft of a Web Services Reliability (WS-Reliability) specification designed to support reliable Web services messaging. WS-Reliability is a "specification for open, reliable Web services messaging including guaranteed delivery, duplicate message elimination and message ordering, enabling reliable communication between Web services. The reliability features are based on extensions to the Simple Object Access Protocol (SOAP), rather than being tied to the underlying transport protocol. The specification will allow a variety of systems to interoperate reliably in a platform- and vendor-neutral manner. Following collaboration on the specification draft, the companies plan to submit WS-Reliability to a standards body on a royalty-free basis. Reliable message delivery means the ability to ensure delivery of a message with the desired level of quality of service. Some examples of this quality of service level for message delivery are: (1) Message sent at least once -- guaranteed delivery; (2) Message sent at most once -- guaranteed duplicate elimination; (3) Message sent exactly once -- guaranteed delivery and duplicate elimination." The specification has been produced by Fujitsu Limited, Hitachi, Ltd., NEC Corporation, Oracle Corporation, Sonic Software Corporation, and Sun Microsystems, Inc.
Update 2003-02-13: "OASIS Members Form Technical Committee for Web Services Reliable Messaging." OASIS has announced a new Web Services Reliable Messaging TC, formed with the goal of creating a generic and open model for ensuring reliable message delivery for Web services. "Reliable message delivery" in this context means the ability to guarantee message delivery to software applications, whether Web services or Web service client applications, with a chosen level of quality of service (QoS). The TC will address the following aspects of message delivery: "message persistence, message acknowledgement and resending, elimination of duplicate messages, ordered delivery of messages, and delivery status awareness for sender and receiver applications. The specification to be created will provide WSDL definitions for reliable messaging and the message formats will be specified as SOAP headers and/or body content. The resulting specification must be programming language-neutral and platform-neutral. The TC hopes to establish: (1) a standard and interoperable way of achieving a known, acceptable, and defined level of reliability at the SOAP messaging level, and (2) a common vocabulary for describing reliable message exchange patterns. Key deliverables include a reliability requirements document (use cases for WS-RM in EAI, B2B, and wireless scenarios) and a WS-Reliability specification, including description of WS-Reliability bindings to transport protocol(s)." Technical specifications approved by the TC will be issued under royalty-free terms.
Overview from the version 1.0 specification
"Web Services Reliability (WS-Reliability) is a SOAP-based protocol for exchanging SOAP messages with guaranteed delivery, no duplicates, and guaranteed message ordering. WS-Reliability is defined as SOAP header extensions, and is independent of the underlying protocol. This specification contains a binding to HTTP. This model enables a sender (i.e., a SOAP node with reliable messaging functions for sending) to send a message to a receiver (i.e., a SOAP node with reliable messaging functions for receiving) that can accept an incoming connection. Functions to accommodate a receiver that cannot accept an incoming connection (e.g., because of a firewall) are intended for further study, and are not included in this version of the specification... The purpose of WS-Reliability is to address reliable messaging requirements, which become critical, for example, when using Web Services in B2B applications. SOAP over HTTP is not sufficient when an application-level messaging protocol must also address reliability and security. While security is getting traction in the development of Web Services standards, reliability is not. This specification is intended as an initial proposal for defining reliability in the context of current Web Services standards. The specification borrows from previous work in messaging and transport protocols, e.g., SOAP, and the ebXML Message Service [ebXML Message Service Specification Version 2.0]. It proposes appropriate modifications to apply this work to Web Services... The goal of this specification is to define: (1) A mechanism to guarantee message delivery and its e xpression in SOAP messages; (2) A mechanism to eliminate duplicate messages and its expression in SOAP messages; (3) A mechanism to guarantee received message order (within a context) and its expression in SOAP messages..."
From the FAQ document [Sun Microsystems]:
Reliable Web services messaging is achieved in the proposed specification [because] the specification defines a set of SOAP headers, or instructions within the SOAP envelope, that govern the control of message acknowledgments, sequencing and message persistence.
Why is WS-Reliability important for asynchronous messaging? Asynchronous messaging de-couples the interaction between applications and systems. As such it helps ensure the health of the total system even if one of the applications in unavailable, which is frequently the case in real-world interactions between business systems. WS-Reliability provides a key enabling technology for allowing asynchronous-style Web services to take place.
WS-Reliability is defined as SOAP header extensions and is independent of the underlying transport protocol. This specification contains a binding to HTTP. The WS-Reliability specification does not provide defined mappings for message envelope standards other than SOAP. However, its reliability model could be adopted for other message envelope standards, such as ebXML Message Service, AS2 or RNIF.
WS-Reliability relationship to SOAP and WS-Routing: SOAP1.1 is the base protocol for WS-Reliability. This specification defines extensions to SOAP Header and Body elements. WS-Reliability could be updated, at an appropriate time, to be compliant with SOAP 1.2 and its exchange patterns when SOAP 1.2 becomes a W3C Recommendation... WS-Reliability builds upon the foundation of SOAP, which is an important Web service standards. WS-Reliability defines a set of SOAP extensions for reliable messaging and is designed for general purpose Web services usage... WS-Routing is a proprietary specification published by Microsoft, and their intent around licensing or standardizing this work is unclear. Some of the semantics and functions are similar, and we would look forward to working with Microsoft in a standards organization to converge these ideas...
WS-Reliability relationship to the ebXML Message Service: WS-Reliability is complementary to how reliability is defined within the ebXML Message Service specification, yet it is designed as a set of stand alone SOAP extensions for Web services. The WS-Reliability standard consists of two major components: a reliability model for XML messaging and a SOAP v1.1 mapping of that model. It is anticipated that the model will be mapped to ebMS in the future, thus providing architectural continuity between it and other WS-Reliability implementations.
Statements from the sponsors
"We are pleased to take this step toward standardizing one of the key technologies for Web Services, which will leverage our experience in providing high-reliability, mission critical enterprise systems," said Yasushi Ishida, General Manager of Strategy and Technology Division, Software Group for Fujitsu Limited. "We have been working to create and promote open, royalty-free standards for Reliable Messaging with the various standards bodies for years. This cooperative WS-Reliability effort is a significant step for Web Services standardization, and we are proud to be playing a leadership role through our donation of the early draft specification."
"Reliability is a critical factor to the widespread adoption and deployment of Web services. We believe WS-Reliability will ensure the promise of Web Services for business customers," said Kiyoshi Kozuka, Executive General Manager of Software Division, Hitachi, Ltd. "We are excited to have this opportunity to contribute our technologies based on extensive experience with developing mission-critical systems that demand the highest reliability."
"We are convinced that WS-Reliability will play a crucial role in making Web Services more dependable and bringing them to the real world mission critical enterprise systems," said Yutaka Kasahara, General Manager of Internet Solution Division, NEC Corporation. "Our rich experience in developing a variety of high-availability systems makes NEC confident that we are very well positioned to provide mission critical systems also in the Web Services era."
"Open-standards-based reliability is essential for Web services to meet real-world business needs," said Don Deutsch, Vice president of Standards Strategy and Architecture for Oracle Corporation. "WS-Reliability is an important step in defining a solid infrastructure for Web services and Oracle is pleased to contribute its enterprise software expertise to this effort."
"The WS-Reliability specification will provide the framework to help make Web services a truly enterprise-capable standard for integration within and between companies," said Gordon Van Huizen, vice president of product management for Sonic Software. "Reliable e-business communications has been Sonic's core business for years and we share a deep commitment to addressing the challenges of integration across mission critical deployments in a standards-based way." "Sun is very pleased to be part of this effort to define a true standards-based approach to reliable Web services messaging. The combined expertise of the companies developing this specification is truly impressive and we expect WS-Reliability to be widely adopted," said Mark Bauhaus, vice president of Sun ONE Java Web services at Sun Microsystems. "This specification provides a solution that allows companies to deploy Web services with confidence, enabling a level of messaging reliability suitable for just about any business application."
Principal references:
- Announcement 2003-01-09: "Web Services Reliability Specification Published by Leading IT Vendors. Royalty-Free Specification Promotes Open, Reliable Messaging Standard for Web Services."
- "Web Services Reliability (WS-Reliability)." Version 1.0.
- WS-Reliability XML Schema
- Web Services Reliability (WS-Reliability) Version 1.0: Frequently Asked Questions. From Sun Microsystems.
- Fujitsu Statement on WS-Reliability and ebMS. Posted by Jacques Durand.
- Sources for the specification:
- "Reliable Messaging" - Main reference page.