An Application Source wishes to reliably send messages to an Application Destination over an unreliable infrastructure. To accomplish this, they make use of a Reliable Messaging Source and a Reliable Messaging Destination. The AS sends a message to the RMS. The RMS uses the WS-ReliableMessaging protocol to transmit the message to the RMD. The RMD delivers the message to the AD. If the RMS cannot transmit the message to the RMD for some reason, it must raise an exception or otherwise indicate to the AS that the message was not transmitted. The AS and RMS may be implemented within the same process space or they may be separate components. Similarly, the AD and RMD may exist within the same process space or they may be separate components. The important thing to keep in mind is that the WS-RM specification only deals with the contents and behavior of messages as they appear "on the wire". How messages are sent from the AS to the RMS, how they are delivered from the RMD to the AD, whether messages are persisted on-disk or held in memory, etc.; none of these considerations are part of the WS-RM specification. The WS-RM protocol defines and supports a number of Delivery Assurances. These are: ;AtLeastOnce: Each message will be delivered to the AD at least once. If a message cannot be delivered, an error must be raised by the RMS and/or the RMD. Messages may be delivered to the AD more than once. ;AtMostOnce: Each message will be delivered to the AD at most once. Messages might not be delivered to the AD, but the AD will never get duplicate messages. ;ExactlyOnce: Each message will be delivered to the AD exactly once. If a message cannot be delivered, an error must be raised by the RMS and/or the RMD. The AD will never get duplicate messages. ;InOrder: Messages will be delivered from the RMD to the AD in the order that they are sent from the AS to the RMS. This assurance can be combined with any of the above assurances.
Composable Architecture
WS-ReliableMessaging uses the extensibility model of SOAP and WSDL. WS-ReliableMessaging does not define all the features required for a complete messaging solution. WS-ReliableMessaging is a building block that is used in conjunction with other Web Services specifications and application-specific protocols to build a complete messaging solution.
Criticism
This attempts to make the case that reliability is not needed at the message level, but required at the business level.
History
authored by BEA, IBM, Microsoft, and Tibco.
authored by BEA, IBM, Microsoft, and Tibco.
authored by BEA, IBM, Microsoft, and Tibco. This version of the specification has been implemented by a number of vendors and open source projects. It is sometimes referred to as "WS-ReliableMessaging 1.0" or "WS-RM 1.0".
*This specification and its companion were submitted to the OASIS for standardization in June, 2005.
is the product of the above-mentioned WS-RX TC. It is accompanied by the and specifications.
*All three specifications were approved as OASIS Standards on June 14, 2007.
The version replaces the references to pre-standard versions of WS-Policy with references to the WS-Policy W3C Recommendation and fixes some minor errors. It is accompanied by the and specifications.
*All three specifications were approved as OASIS Standards on February 2, 2009.