WS-Reliable Messaging

from Wikipedia, the free encyclopedia

WS-Reliable Messaging ( Reliable Messaging ) is a specification from the field * WS arrive guarantees that messages sent in the case of failure of individual software components at the receiver.

For this purpose, a mediator each on the middleware level is interposed on the sender and recipient side .

Sub-specifications

WSRM contains the sub-specification WS-Reliable Messaging Policy Assertion , which specifies possible guidelines from the area of ​​reliable messaging. These assertions can then be integrated via WS-Policy .

Communication process

  1. The sender passes his message to his intermediary.
  2. This intermediary establishes a connection to the intermediary on the recipient side.
  3. The message is transmitted from agent to agent.
  4. The receipt of the message is confirmed by the recipient intermediary.
  5. The intermediary on the recipient side delivers the message to the actual recipient.

This process ensures that a) the recipient has actually received the message and b) the sender also knows about it.

How it works and example

This can also have a longer chain function of messages by the intermediary at the transmitter in the SOAP header in addition blend even an identifier and a message number. If a message is the last of a whole series of messages, an additional <wsrm: LastMessage /> element is inserted, which shows the intermediary on the recipient side that no more messages will come. In the respective confirmation of receipt, the intermediary on the recipient side then also specifies which identifier he is referring to and the numbers of the messages that he has already received or that are still missing. For example, the following response excerpt would say that messages 1, 2 and 4 through 7 were received and 3 is still missing:

<!-- usw. -->
<wsrm:AcknowledgementRange Upper="2" Lower="1"/>
<wsrm:AcknowledgementRange Upper="7" Lower="4"/>
<wsrm:Nack>3</wsrm:Nack>
<!-- usw. -->

There are four possible delivery guarantees ("delivery assurances"):

  • AtLeastOnce: Every message is delivered at least once, it is also possible that it arrives significantly more often. If delivery is not possible, an error must be reported.
  • AtMostOnce: Each message is delivered a maximum of once. It is possible that a message may not arrive, but the recipient will never receive a message more than once.
  • ExactlyOnce: Each message is delivered exactly once. There are no duplicates and messages cannot be lost. If delivery is not possible, an error message is triggered.
  • InOrder: All messages will arrive exactly in the order in which they were sent. This guarantee can be combined with any of the three preceding delivery guarantees.

See also

  • WS-Reliability (competing specification, but in contrast to WS-Reliable Messaging not coordinated with the other WS- * specifications)

Web links