WS-ReliableMessaging describes a protocol that allows
SOAP
Soap is a salt (chemistry), salt of a fatty acid (sometimes other carboxylic acids) used for cleaning and lubricating products as well as other applications. In a domestic setting, soaps, specifically "toilet soaps", are surfactants usually u ...
messages to be reliably delivered between distributed applications in the presence of software component, system, or network failures.
The original specification was written by
BEA Systems
BEA Systems, Inc. was a company that specialized in enterprise infrastructure software products, which was wholly acquired by Oracle Corporation on April 29, 2008.
History
BEA began as a software company, founded in 1995 and headquartered in ...
,
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
,
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
, and
Tibco
TIBCO Software Inc. is a business unit of Cloud Software Group that provides enterprise software. It has headquarters in Palo Alto and offices in North America, Europe, Asia, the Middle East, Africa and South America.
History
TIBCO (The Info ...
and in March, 2003 and subsequently refined over the next two years. The February, 2005 version was submitted to the
OASIS
In ecology, an oasis (; : oases ) is a fertile area of a desert or semi-desert environmentWS-ReliableMessaging 1.1 was approved as an OASIS Standard on June 14, 2007, and v1.2 was approved on February 2, 2009.
Prior to WS-ReliableMessaging,
OASIS
In ecology, an oasis (; : oases ) is a fertile area of a desert or semi-desert environmentWS-Reliability WS-Reliability was a SOAP-based OASIS specification that fulfills reliable messaging requirements critical to some applications of Web Services. WS-Reliability was superseded by WS-ReliableMessaging.
SOAP over HTTP is not sufficient when an applica ...
) that was supported by a coalition of vendors; namely Fujitsu,
Hitachi
() is a Japanese Multinational corporation, multinational Conglomerate (company), conglomerate founded in 1910 and headquartered in Chiyoda, Tokyo. The company is active in various industries, including digital systems, power and renewable ener ...
,
NEC
is a Japanese multinational information technology and electronics corporation, headquartered at the NEC Supertower in Minato, Tokyo, Japan. It provides IT and network solutions, including cloud computing, artificial intelligence (AI), Inte ...
,
Oracle Corporation
Oracle Corporation is an American Multinational corporation, multinational computer technology company headquartered in Austin, Texas. Co-founded in 1977 in Santa Clara, California, by Larry Ellison, who remains executive chairman, Oracle was ...
,
Progress Software
Progress Software Corporation is an American public company that produces software for creating and deploying business applications. Founded in Burlington, Massachusetts with offices in 16 countries, the company posted revenues of $531.3 mill ...
, and
Sun Microsystems
Sun Microsystems, Inc., often known as Sun for short, was an American technology company that existed from 1982 to 2010 which developed and sold computers, computer components, software, and information technology services. Sun contributed sig ...
. 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.
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 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
Soap is a salt (chemistry), salt of a fatty acid (sometimes other carboxylic acids) used for cleaning and lubricating products as well as other applications. In a domestic setting, soaps, specifically "toilet soaps", are surfactants usually u ...
and
WSDL
The Web Services Description Language (WSDL ) is an XML-based interface description language that is used for describing the functionality offered by a web service. The acronym is also used for any specific WSDL description of a web service (also ...
. 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
Thi article attempts to make the case that reliability is not needed at the message level, but required at the business level.
History
WS-ReliableMessaging 200303 authored by BEA, IBM, Microsoft, and Tibco. WS-ReliableMessaging 200403 authored by BEA, IBM, Microsoft, and Tibco. 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 companio WS-RM Policy 200502 were submitted to the
Apache CXF
Apache CXF is an open source software project developing a Web services framework. It originated as the combination of Celtix developed by IONA Technologies and XFire developed by a team hosted at the now defunct host CodeHaus in 2006. These two ...
IBM WebSphere
IBM WebSphere refers to a brand of proprietary computer software products in the genre of enterprise software known as "application and integration middleware". These software products are used by end-users to create and integrate applications ...
*
GlassFish
GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by OmniFish, Fujitsu and Payara. The support ...
*
gSOAP
gSOAP is a C and C++ software development toolkit for SOAP/XML web services and generic XML data bindings. Given a set of C/C++ type declarations, the compiler-based gSOAP tools generate serialization routines in source code for efficient XML se ...
*
SAP NetWeaver
SAP NetWeaver is a software stack for many of SAP SE's applications. The SAP NetWeaver Application Server, sometimes referred to as WebAS, is the runtime environment for the SAP applications and all of the mySAP Business Suite runs on SAP WebA ...
*Microsoft
Windows Communication Foundation
The Windows Communication Foundation (WCF), previously known as Indigo, is a free and open-source runtime and a set of APIs in the .NET Framework for building connected, service-oriented applications.
.NET Core 1.0, released 2016, did not s ...
See also
*
Web Services
A web service (WS) is either:
* a service offered by an electronic device to another electronic device, communicating with each other via the Internet, or
* a server running on a computer device, listening for requests at a particular port over a n ...
*
WS-Reliability WS-Reliability was a SOAP-based OASIS specification that fulfills reliable messaging requirements critical to some applications of Web Services. WS-Reliability was superseded by WS-ReliableMessaging.
SOAP over HTTP is not sufficient when an applica ...