WebSphere Application Server uses WS-ReliableMessaging as part
of the transport layer for SOAP over HTTP messages. The message exchange patterns
supported at the API layer are one-way "fire and forget", or two-way
request and reply.
The reliability is provided by reliable messaging middleware that sits
between the Web service requester and the Web service provider. This middleware
layer is shown beneath the dotted line in the following diagram, and includes
the reliable messaging source and the reliable messaging destination.
Note: When using WS-ReliableMessaging with a two-way programming API, if the
requesting application fails and is restarted it will not receive its reply
message. In this model, WS-ReliableMessaging is being used to protect from
network failures only. Moreover:
- Client-side retransmissions only start after the client starts sending
new messages to the service (this is true for both one-way and two-way operations).
- Two-way operations that resume cannot drive the response message right
back to the client application; the message only gets back as far as the inbound
sequence on the client.
Figure 1. The interactions used to exchange Web services
messages reliably.
In the previous diagram, the application source invokes a Web service.
The sequence of interactions is as follows:
- The invocation is passed to the reliable messaging source.
- The reliable messaging source stores the message and then returns control
to the application.
- The reliable messaging source sends the message to the reliable messaging
destination.
- After the reliable messaging destination receives the message, it stores
it locally and sends an acknowledgement message back to the reliable messaging
source.
- The reliable messaging source can now delete its copy of the message.
- The reliable messaging destination can deliver the message to the application
destination at any time after it receives it from the reliable messaging source.
To configure a Web service application to use WS-ReliableMessaging, you attach a policy set that contains a WS-ReliableMessaging policy type. This policy type offers a range of qualities of service: managed persistent, managed non-persistent, or unmanaged non-persistent.
The managed qualities of service, managed persistent and managed non-persistent, are supported by the service integration bus. For each attachment between an application and a policy set, you can select the bus and messaging engine to use for the reliable messaging protocol state.