WS-ReliableMessaging
Encyclopedia
WS-ReliableMessaging describes a protocol that allows SOAP
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

 messages to be reliably delivered
Reliable messaging
Reliable messaging is the concept of communicating messages across an unreliable infrastructure whilst being able to make certain guarantees about the successful transmission of the messages; for example, that if the message is delivered, it is delivered at most once, or that all messages...

 between distributed applications in the presence of software component, system, or network failures.

The original specification was written by BEA Systems
BEA Systems
BEA Systems, Inc. specialized in enterprise infrastructure software products known as "middleware", which connect software applications to databases and was acquired by Oracle Corporation on April 29, 2008.- History :...

, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

, IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

, and Tibco and in March, 2003 and subsequently refined over the next two years. The February, 2005 version was submitted to the OASIS
Oasis
In geography, an oasis or cienega is an isolated area of vegetation in a desert, typically surrounding a spring or similar water source...

 Web Services Reliable Exchange (WS-RX) Technical Committee in June of that year. The resulting WS-ReliableMessaging 1.1 was approved as an OASIS
Oasis
In geography, an oasis or cienega is an isolated area of vegetation in a desert, typically surrounding a spring or similar water source...

 Standard on June 14th, 2007, and v1.2 was approved on February 2, 2009.

Prior to WS-ReliableMessaging, OASIS
Oasis
In geography, an oasis or cienega is an isolated area of vegetation in a desert, typically surrounding a spring or similar water source...

 produced a competing standard (WS-Reliability
WS-Reliability
WS-Reliability is a SOAP-based 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 must also guarantee some level of reliability and security...

) that was supported by a coalition of vendors; namely Fujitsu
Fujitsu
is a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan. It is the world's third-largest IT services provider measured by revenues....

, Hitachi
Hitachi, Ltd.
is a Japanese multinational conglomerate headquartered in Marunouchi 1-chome, Chiyoda, Tokyo, Japan. The company is the parent of the Hitachi Group as part of the larger DKB Group companies...

, NEC
NEC
, a Japanese multinational IT company, has its headquarters in Minato, Tokyo, Japan. NEC, part of the Sumitomo Group, provides information technology and network solutions to business enterprises, communications services providers and government....

, Oracle Corporation
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation that specializes in developing and marketing hardware systems and enterprise software products – particularly database management systems...

, Progress Software
Progress Software
Progress Software Corporation , formerly Data Language Corporation, is an American software company that sells business application infrastructure software. Its best known product is the OpenEdge ABL , which was developed in the early 1980s. The best known application written in Progress is...

, and Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...

. 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 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 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
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

 and WSDL
Web Services Description Language
The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...

. 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 article explains why reliability is not needed at the message level, but required at the business level.

History


WS-ReliableMessaging Implementations

  • Apache Sandesha
  • Apache CXF
    Apache CXF
    Apache CXF is an open-source, fully featured Web services framework. It originated as the combination of two open-source projects: Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache...

  • WebLogic Server
    Oracle Weblogic Server
    Owned by Oracle Corporation, Oracle WebLogic consists of a Java EE platform product-family that includes:* a Java EE application server, WebLogic Application Server* an enterprise portal, WebLogic Portal* an Enterprise Application Integration platform...

  • IBM WebSphere
    IBM WebSphere
    IBM WebSphere refers to a brand of 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 applications and integrate applications with other applications...

  • GlassFish
    GlassFish
    GlassFish is an open source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server...

  • SAP NetWeaver
  • Microsoft Windows Communication Foundation
    Windows Communication Foundation
    The Windows Communication Foundation , previously known as "Indigo", is an application programming interface in the .NET Framework for building connected, service-oriented applications.-The architectures:...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK