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