WS-ReliableMessaging

WS-ReliableMessaging

WS-ReliableMessaging describes a protocol that allows SOAP messages to be delivered reliably between distributed applications in the presence of software component, system, or network failures.

The original specification was written by BEA Systems, Microsoft, IBM, and Tibco and in March, 2003 and subsequently refined over the next two years. The February, 2005 version was submitted to the OASIS Web Services Reliable Exchange (WS-RX) Technical Committee in June of that year. The resulting [http://docs.oasis-open.org/ws-rx/wsrm/200702 WS-ReliableMessaging 1.1 ] was approved as an OASIS Standard on June 14th, 2007.

Prior to WS-ReliableMessaging, OASIS produced a competing standard (WS-Reliability) that was supported by a coalition of vendors; namely Fujitsu, Hitachi, NEC, Oracle Corporation, Progress Software, and Sun Microsystems. Most of these vendors now also support the WS-ReliableMessaging specification.

Reliable Messaging Model

An Application Source (AS) wishes to reliably send messages to an Application Destination (AD) over an unreliable infrastructure. To accomplish this they make use of a Reliable Messaging Source (RMS) and a Reliable Messaging Destination (RMD). The AS sends a message to the RMS. The RMS uses the WS-ReliableMessaging (WS-RM) 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. [Note that the terminology in the diagram does not line-up with the text above. Assume the "Remote" in the figure equals "Reliable" in the above text.]

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 (i.e. the AD may get duplicate messages).
* AtMostOnce - Each message will be delivered to the AD at most once. Messages may 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 by 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 solutions.

History

* [http://xml.coverpages.org/ws-reliablemessaging20030313.pdf WS-ReliableMessaging 200303] authored by BEA, IBM, Microsoft, and Tibco.
* [http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-rm/ws-reliablemessaging200403.pdf WS-ReliableMessaging 200403] authored by BEA, IBM, Microsoft, and Tibco.
* [http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf WS-ReliableMessaging 200502] 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 [http://specs.xmlsoap.org/ws/2005/02/rm/WS-RMPolicy.pdf WS-RM Policy 200502] were submitted to the OASIS [http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-rx Web Services Reliable Exchange (WS-RX) Technical Committee] for standardization in June, 2005.
* [http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.1-spec-os-01.pdf WS-ReliableMessaging 1.1] is the product of the above-mentioned WS-RX TC. It is accompanied by the [http://docs.oasis-open.org/ws-rx/wsrmp/200702/wsrmp-1.1-spec-os-01.pdf WS-RM Policy 1.1] and [http://docs.oasis-open.org/ws-rx/wsmc/200702/wsmc-1.0-spec-os-01.pdf WS-MakeConnection 1.0] specifications.
** All three specifications were approved as OASIS Standards on June 14th, 2007.
* A new version of this specification will be forthcoming. The new version will replace the references to pre-standard versions of WS-Policy with references to the WS-Policy W3C Recommendation (when that Recommendation is available) as well as fix minor errors.

WS-ReliableMessaging Implementations

* [http://ws.apache.org/sandesha/ Apache Sandesha]
* BEA WebLogic
* IBM WebSphere
* GlassFish
* SAP NetWeaver
* Microsoft Windows Communication Foundation

ee also

* Web Services
* WS-Reliability

External links

* [http://docs.oasis-open.org/ws-rx/wsrm/200702/wsrm-1.1-spec-os-01.pdf WS-ReliableMessaging 1.1 OASIS Standard]
* [http://specs.xmlsoap.org/ws/2005/02/rm/ws-reliablemessaging.pdf WS-ReliableMessaging 200502]
* [http://www.infoq.com/articles/fremantle-wsrm-introduction An Introduction to Web Services Reliable Messaging]
* [http://dev2dev.bea.com/blog/gpilz/archive/2006/05/the_straight_st_1.html The Straight Stuff on WS-ReliableMessaging]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • List of web service frameworks — A list of web service frameworks: Name Platform Messaging Model(Destination) Specifications Protocols ActionWebService Ruby (on Rails) Client/Server  ? SOAP, XML RPC, WSDL AlchemySOAP C++ Client/Server WS Addressing SOAP …   Wikipedia

  • Web Services Interoperability Technology — (WSIT) is an open source project started by Sun Microsystems to develop the next generation of web service technologies. It consists of Java programming language APIs that allow developers to create web service clients and services that… …   Wikipedia

  • WS-Reliable Messaging — (Verlässliche Nachrichtenübermittlung) ist eine Spezifikation aus dem Bereich WS *, die garantiert, dass gesendete Nachrichten auch im Fall von Versagen einzelner Softwarekomponenten beim Empfänger ankommen. Dazu sind quasi auf Sender und… …   Deutsch Wikipedia

  • Apache CXF — Entwickler Apache Software Foundation Aktuelle Version 2.4.0 (18. April 2011) Betriebssystem plattformübergreifend Programmier­sprache Java …   Deutsch Wikipedia

  • List of Web service specifications — There are a variety of specifications associated with web services. These specifications are in varying degrees of maturity and are maintained or supported by various standards bodies and entities. Specifications may complement, overlap, and… …   Wikipedia

  • Windows Communication Foundation — The Windows Communication Foundation (or WCF) is an application programming interface (API) in the .NET Framework for building connected, service oriented applications.[1][2] Contents 1 The architectures 1.1 Endpoints …   Wikipedia

  • WS-Reliability — is a SOAP based ( [SOAP 1.1] and [SOAP 1.2 Part 1] ) OASIS specification that fulfillsreliable messaging requirements critical to some applications of Web Services. SOAP over HTTP is not sufficient when an application level messaging protocol… …   Wikipedia

  • Virtuoso Universal Server — Virtuoso Conductor (Database Administration User Interface) Developer(s) OpenLink Software …   Wikipedia

  • Apache CXF — Developer(s) Apache Software Foundation Stable release 2.4.3 / October 12, 2011; 24 days ago (2011 10 12) Development status Active …   Wikipedia

  • Microsoft Open Specification Promise — The Microsoft Open Specification Promise (or OSP), is a promise by Microsoft, published in September 2006, to not assert legal rights over certain Microsoft patents on implementations of an included list of technologies.[1] The OSP is an example… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”