Request-Response Communication
Clients typically communicate with traditional web services
using a request-response communication pattern, the client makes a request and
the service replays with a response. In queue based systems the communication
is one-way, one application sends a message and another application receives
it. There are, however, scenarios when request-response communication between
applications is required and must be implemented using a queue based
communication mechanism.
The Enterprise Integration Patterns website provides a description of
the Request-Reply pattern here.
|
Sending message acknowledgements is a typical example of
this. Just because a queue system offers guaranteed delivery it does not mean
that the receiving application can successfully process all the messages. An
application receiving an order messages could send acknowledgement messages
back to the sender of the order detailing weather the order had been processed
successfully or not.
Another scenario is when a request for information is made
using a queue based system. An application will send a message on a request
queue requesting details on a product. The application that receives this
request message will create a response message with the appropriate information
and send it back to the first application on a response queue.
In both of these scenarios there is a requirement to
correlate the request and response messages that are exchanged between the
applications.