Message exchange through a WebSphere MQ link

A WebSphere® MQ link connects to a specific foreign bus that represents a WebSphere MQ network, and enables messaging engines on a service integration bus to exchange messages with queue managers on the WebSphere MQ network.

The figure below shows a high level view of the function of a WebSphere MQ link. Subsequent figures add more detail to this simple representation.

Figure 1. Exchanging messages between WebSphere Application Server and a WebSphere MQ network.
This figure shows an application server, with service integration, connected to a WebSphere MQ network.

A WebSphere MQ link is a service integration technologies administrative object that describes the attributes required for a messaging engine to establish channel links to a WebSphere MQ queue manager or (for WebSphere MQ for z/OS®) queue-sharing group.

The messaging engine that connects to WebSphere MQ by using a WebSphere MQ link is known as the gateway messaging engine. The WebSphere MQ queue manager or queue-sharing group to which a WebSphere MQ link connects is known as the gateway queue manager. To service integration, the gateway queue manager and any other queue managers connected to it appear to be a foreign bus, which is another bus that has a link to the local bus. To the gateway queue manager, the service integration bus appears to be a remote queue manager.

The figure below shows an application server that is a member of a bus and therefore contains a messaging engine. The messaging engine is a gateway messaging engine, which means it connects to a gateway queue manager within WebSphere MQ by using a WebSphere MQ link. The WebSphere MQ link appears to the gateway queue manager as a message channel - that is, a sender channel, a receiver channel, or a sender-receiver pair of channels.

Figure 2. Exchanging messages between a service integration bus, and a foreign bus in a WebSphere MQ network.
The service integration bus in WebSphere Application Server has a gateway messaging engine with a WebSphere MQ link which connects to WebSphere MQ, which appears to be a foreign bus. WebSphere MQ uses message channels to transmit the messages to and from the gateway queue manager.

Other messaging engines on the same bus can use the gateway messaging engine to send messages to, and receive messages from, the gateway queue manager on WebSphere MQ. In a similar way, the gateway queue manager receives messages from the WebSphere MQ link and routes them to other queue managers in the WebSphere MQ network. The gateway queue manager and the other queue managers it connects to are together represented as a foreign bus when you configure the WebSphere MQ link.

A WebSphere MQ link cannot use cluster-sender and cluster-receiver channels to connect to multiple queue managers in a WebSphere MQ cluster. Even if the gateway queue manager is a member of a cluster, the WebSphere MQ link must still connect directly to the gateway queue manager. The gateway queue manager manages routing of messages to other queue managers in the cluster.

The figure below shows how messages exchanged between the gateway messaging engine and the gateway queue manager, can be sent and received by other messaging engines on the same bus and other queue managers connected to the gateway queue manager.

Figure 3. Exchanging messages between messaging engines on a bus and queue managers connected to the gateway queue manager on a foreign bus.
The service integration bus in WebSphere Application Server has a gateway messaging engine with a WebSphere MQ link which connects to WebSphere MQ, which appears to be a foreign bus. WebSphere MQ uses message channels to transmit the messages to and from the gateway queue manager. In WebSphere Application Server there are two additional messaging engines that receive messages directly from the gateway messaging engine. In WebSphere MQ there are two additional queue managers that receive messages directly from the gateway queue manager.

A WebSphere MQ link can have definitions for a WebSphere MQ link sender or a WebSphere MQ link receiver or both. The link sender and receiver emulate the behavior of WebSphere MQ sender and receiver channels. The MQ link sender therefore sends messages to the receiver channel of the gateway queue manager, and the MQ link receiver receives messages from the sender channel of the gateway queue manager.

The figure below shows the sender and receiver channels that enable the gateway messaging engine and the gateway queue manager to exchange messages.

Figure 4. Exchanging messages between WebSphere MQ link sender and receiver channels, and a gateway queue manager with receiver and sender channels.
The WebSphere MQ link in WebSphere Application Server consists of an MQ link sender and MQ link receiver. The message channels in WebSphere MQ consist of a receiver channel and a sender channel.
The figure below shows how an individual message passes from the gateway messaging engine with a WebSphere MQ link, to the target queue in the WebSphere MQ network, and how a response message is returned over the WebSphere MQ link to a reply-to destination in WebSphere Application Server.
  1. A service integration JMS application sends a request message to a target destination, which is a JMS destination that points to a WebSphere MQ queue. The sending application includes the reply-to destination in a header field in the request message. The reply-to destination is a JMS destination that points to a service integration destination in the same service integration bus to which the sending application is attached.
  2. The messaging engine in the service integration bus uses the WebSphere MQ link to send the message to WebSphere MQ. WebSphere MQ puts the message on the target queue.
  3. The WebSphere MQ application receives the message from the queue, processes it, and sends a response to the reply-to destination. This application might be, but is not always, a JMS application.
Figure 5. Paths taken by a message and response exchanged between a messaging engine on a bus and a queue manager in WebSphere MQ
A request message is sent through a messaging engine and its WebSphere MQ link to a target queue managed by a WebSphere MQ queue manager. The response message is sent from a transmission queue owned by the WebSphere MQ queue manager, through the WebSphere MQ link and the messaging engine in WebSphere Application Server, to the reply-to destination.

You can configure a publish/subscribe bridge on a WebSphere MQ Link. The bridge allows subscribing applications connected to the service integration bus to receive messages from publishing applications connected to the WebSphere MQ network. The same publish/subscribe bridge allows subscribing applications connected to the WebSphere MQ network to receive messages from publishing applications connected to the service integration bus.

If you want to specify service integration bus destination attributes for a WebSphere MQ queue, or if you want to control access to a WebSphere MQ queue from service integration bus applications, then you can define a foreign destination to represent the WebSphere MQ queue. If you want your service integration bus applications to use a different name for the WebSphere MQ queue then you can define an alias destination.

The WebSphere MQ link communicates with WebSphere MQ by using WebSphere MQ format and protocols. To identify the supported version of WebSphere MQ, see the Supported hardware and software web page at http://www.ibm.com/support/docview.wss?rs=180&uid=swg27006921.

Concept topic    

Terms of Use | Feedback

Last updated: Oct 20, 2010 9:57:58 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=compass&product=was-base-dist&topic=cjc0001_
File name: cjc0001_.html