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 the situation 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.