Configuration example

This section describes an example configuration of 4 systems.

Figure 48. Configuration example

Diagram of four interconnected queue managers in an MQe/MQ network. The queue managers and their configurations are described in detail below.

The four systems are:

MQeMoonQM
This is an WebSphere MQ Everyplace client queue manager, sited on a handheld PC. The user periodically attaches the handheld PC to the network, to communicate with the MQeEarthQM WebSphere MQ Everyplace gateway.

MQeEarthQM
This is on a Windows/2000 machine, with an I/P address of 20.8.9.50 This is an WebSphere MQ Everyplace gateway (server) queue manager.

MQSaturnQM
This is a WebSphere MQ queue manager, installed on a Windows/NT platform. The I/P address is 20.8.9.51

MQJupiterQM
This is a WebSphere MQ queue manager, installed on a System/390(R) platform.

Requirement

The requirement for this example is that all machines are able to post a message to a queue on any of the other machines.

It is assumed that all machines are permanently connected to the network, except the MQeMoonQM machine, which is only occasionally connected.

Initial setup

For this example, it is assumed that there are local queues, to which messages can be put, on all the queue managers. These queues are called:

Enabling MQeMoonQM to put and get messages to and from the MQeEarthQM queue manager

On MQeMoonQM:
  1. Define a connection with the following parameters:
    Target queue manager name: MQeEarthQM
    Adapter: FastNetwork:20.8.9.50
    Note:
    Check that the adapter you specify when you define the connection matches the adapter used by the Listener on the MQeEarthQM queue manager.
    Applications can now connect directly to any queue defined on the MQeEarthQM queue manager directly, when the MQeMoonQM is connected to the network. The requirement states that applications on MQeMoonQM must be able to send messages to MQeEarthQ in an asynchronous manner. This requires a remote queue definition to set up the asynchronous linkage to the MQeEarthQ queue.
  2. Define a remote queue with the following parameters:
    Queue name: MQeEarthQ
    Queue manager name: MQeEarthQM
    Access mode: Asynchronous

    Applications on MQeMoonQM now have access to the MQeMoonQ (a local queue) in a synchronous manner, and the MQeEarthQ in an asynchronous manner.

Enabling the MQeEarthQM to send messages to the MQeMoonQM queue manager

Since the MQeMoonQM is not attached to the network for most of the time, use a store-and-forward queue on the MQeEarthQM to collect messages destined for the MQeMoonQM queue manager.

On MQeEarthQM:
  1. Define a store-and-forward-queue with the following parameters:
    Queue name: TO.HANDHELDS
    Queue Manager Name: MQeEarthQM
  2. Add a queue manager to the store-and-forward queue using the following parameters:
    Queue Name: TO.HANDHELDS
    Queue manager: MQeMoonQM

A (similarly named) home-server queue is needed on the MQeMoonQM queue manager. This queue pulls messages out of the store-and-forward queue and puts them to a queue on the MQeMoonQM queue manager.

On MQeMoonQM:
  1. Define a home-server queue with the following parameters:
    Queue Name: TO.HANDHELDS
    Queue manager name: MQeEarthQM

Any messages arriving at MQeEarthQM that are destined for MQeMoonQM are stored temporarily in the store-and-forward queue TO.HANDHELDS. When MQeMoonQM next connects to the network, it's home-server queue TO.HANDHELDS gets any messages currently on the store-and-forward queue, and delivers them to the MQeMoonQM queue manager, for storage on local queues.

Applications on MQeEarthQM can now send messages to MQeMoonQ in an asynchronous manner.

Enabling MQeEarthQM to send a message to MQSaturnQ

On MQeEarthQM:
  1. Define a bridge with the following parameters:
    Bridge name: MQeEarthQMBridge
  2. Define an WebSphere MQ queue manager proxy with the following parameters:
    Bridge Name: MQeEarthQMBridge
    MQ QMgr Proxy Name: MQSaturnQM
    Hostname: 20.8.9.51
  3. Define a client connection with the following parameters:
    Bridge Name: MQeEarthQMBridge
    MQ QMgr Proxy Name: MQSaturnQM
    ClientConnectionName: MQeEarth.CHANNEL
    SyncQName: MQeEarth.SYNC.QUEUE
  4. Define a connection with the following parameters:
    ConnectionName: MQSaturnQM
    Channel: null
    Adapter: null
  5. Define an WebSphere MQ bridge queue with the following parameters:
    Queue Name: MQSaturnQ
    MQ Queue manager name: MQSaturnQM
    Bridge name: MQeEarthQMBridge
    MQ QMgr Proxy Name: MQSaturnQM
    ClientConnectionName: MQeEarth.CHANNEL

On MQSaturnQM:
  1. Define a server connection channel with the following parameters:
    Name: MQeEarth.CHANNEL
  2. Define a local sync queue with the following parameters:
    Name: MQeEarth.SYNC.QUEUE

    The sync queue is needed for assured delivery.

Applications on MQeEarthQM can now send messages to the MQSaturnQ on MQSaturnQM.

Enabling MQeEarthQM to send a message to MQJupiterQ

On MQeEarthQM:
  1. Define a connection with the following parameters:
    ConnectionName: MQeJupiterQM
    Channel: null
    Adapter: null
  2. Define an WebSphere MQ bridge queue with the following parameters:
    Queue Name: MQJupiterQ
    MQ Queue manager name: MQJupiterQM
    Bridge name: MQeEarthQMBridge
    MQ QMgr Proxy Name: MQSaturnQM
    ClientConnectionName: MQeEarth.CHANNEL

On MQSaturnQM:
  1. Define a remote queue definition with the following parameters:
    Queue Name: MQJupiterQ
    Transmission Queue: MQJupiterQM.XMITQ

On both MQSaturnQM and MQJupiterQM:
  1. Define a channel to move the message from the MQJupiterQM.XMITQ on MQSaturnQM to MQJupiterQM.

Now applications on MQeEarthQM can send a message to MQJupiterQ on MQJupiterQM, through MQSaturnQM.

Enabling MQeMoonQM to send a message to MQJupiterQ and MQSaturnQ

On MQeMoonQM:
  1. Define a connection with the following parameters:
    Target Queue manager name: MQSaturnQM
    Adapter: MQeEarthQM

    The connection indicates that any message bound for the MQSaturnQM queue manager should go through the MQeEarthQM queue manager.

  2. Define a remote queue definition with the following parameters:
    Queue name: MQSaturnQ
    Queue manager name: MQSaturnQM
    Access mode: Asynchronous
  3. Define a connection with the following parameters:
    Target Queue manager name: MQJupiterQM
    Adapter: MQeEarthQM
  4. Define a remote queue definition with the following parameters:
    Queue name: MQJupiterQ
    Queue manager name: MQJupiterQM
    Access mode: Asynchronous

Applications connected to MQeMoonQM can now issue messages to MQeMoonQ, MQeEarthQ, MQSaturnQ, and MQJupiterQ, even when the handheld PC is disconnected from the network.

Enabling MQSaturnQM to send messages to the MQeEarthQ

On MQSaturnQM:
  1. Define a local queue with the following parameters:
    Queue name: MQeEarth.XMITQ
    Queue type: transmission queue
  2. Define a queue manager alias (remote queue definition) with the following parameters:
    Queue name: MQeEarthQM
    Remote queue manager name: MQeEarthQM
    Transmission queue: MQeEarth.XMITQ

On MQeEarthQM:
  1. Define a Transmission queue listener with the following parameters:
    Bridge name: MQeEarthQMBridge
    MQ QMgr Proxy Name: MQSaturnQM
    ClientConnectionName: MQeEarth.CHANNEL
    Listener Name: MQeEarth.XMITQ

Applications on MQSaturnQM can now send messages to MQeEarthQ using the MQeEarthQM queue manager alias . This routes each message onto the MQeEarth.XMITQ, where the WebSphere MQ Everyplace transmission queue listener MQeEarth.XMITQ gets them, and moves them onto the WebSphere MQ Everyplace network.

Enabling MQSaturnQM to send messages to the MQeMoonQ

On MQSaturnQM:
  1. Define a queue manager alias (remote queue definition) with the following parameters:
    Queue name: MQeMoonQM
    Remote queue manager name: MQeMoonQM
    Transmission queue: MQeEarth.XMITQ

Applications on MQSaturnQM can now send messages to MQeMoonQ using the MQeMoonQM queue manager alias . This routes each message to the MQeEarth.XMITQ, where the WebSphere MQ Everyplace transmission queue listener MQeEarth.XMITQ gets them, and posts them onto the WebSphere MQ Everyplace network.

The store-and-forward queue TO.HANDHELDS collects the message, and when the MQeMoonQM next connects to the network, the home-server queue retrieves the message from the store-and-forward queue, and delivers the message to the MQeMoonQ.

Enabling the MQJupiterQM to send messages to the MQeMoonQ

On MQJupiterQM:
Set up remote queue manager aliases for the MQeEarthQM and MQeMoonQM to route messages to MQSaturnQM using normal WebSphere MQ routing techniques.

Now any application connected to any of the queue managers can post a message to any of the queues MQeMoonQ, MQeEarthQ, MQSaturnQ or MQJupiterQ.



© IBM Corporation 2002, 2003. All Rights Reserved