WebSphere Message Brokers
File: ac34660_
Writer: Jane Brockbank

Concept topic

This build: July 31, 2007 21:20:26

SOAP over JMS using MQGet node

This topic is an overview of implementing a SOAP/JMS Web service using the MQGet node and describes the costs and benefits of this approach.

When you use a synchronous request-reply pattern, the request message is sent using an MQOutput node and the reply is received inline with an MQGet node.

A flow like the one in the following simplified diagram would enable synchronous SOAP-over-HTTP to SOAP-over-JMS translation:

The diagram shows a flow consisting of the following nodes from left to right, each one's output going into the next one's input: HTTPInput, Compute 1, MQOutput, MQGet, Compute 2, HTTPReply.

The above flow provides a simple mechanism to implement a synchronous translation of HTTP to SOAP-over-JMS in which each incoming HTTP request is fully processed and responded to before moving onto the next HTTP request. To avoid the failure of the SOAP-over-JMS service, set a timeout on the MQGet node. An advantage of this flow model is that the whole request-reply translation is handled in a single transaction enabling simple rollback and recovery.

This synchronous flow might not be appropriate in cases where the SOAP-over-JMS processing are long running, because the processing of other incoming HTTP requests cannot be initiated until the current request is completed. In this situation the Message Flow must be designed asynchronously, with separate request and reply flows, with any required correlation context being saved to a storage medium in the request flow and restored during the reply flow. A solution is to use a queue to store the required correlation context and use an MQGet node in the reply flow to retrieve it. This flow design allows the HTTP requests to be dispatched to the SOAP-over-JMS service as they are received and replies are delivered back to HTTP in the order that they are received. This prevents, for example, fast running enquiry requests being blocked by a longer running update request.

If you want information about the asynchronous request-reply scenario using an MQGet node see the Related links. The asynchronous request-reply scenario is also detailed in the following sample which can be adapted for Web Service usage.
Another Web services scenario is described in the sample:
You can view samples only when you use the information center that is integrated with the Message Brokers Toolkit.
Related concepts
Message flows overview
Related reference
A request-response scenario using an MQGet node
Notices | Trademarks | Downloads | Library | Support | Feedback

Copyright IBM Corporation 1999, 2007Copyright IBM Corporation 1999, 2007. All Rights Reserved.
This build: July 31, 2007 21:20:26

ac34660_ This topic's URL is: