WebSphere MQ Servers on z/OS
An alternative to using an WebSphere MQ link when connecting to MQ V6 on a z/OS platform is the use of a new type of server called a MQ Server. This is a special type of sever that can be added to a bus and used in place of an MQ link to take advantage of the advanced load balancing and high availability features of the z/OS based MQ shared queue groups.
An MQ shared queue group is a collection of queues that can be accessed by one or more queue managers. Each queue manager that is a member of the shared queue group has access to any of the shared queues. This has the advantages of high availability and workload balancing, as queue managers can fail over to one another as they become too busy or unavailable. For more information about MQ shared queue groups, please refer to MQ in a z/OS Parallel Sysplex Environment, SG24-6864.
The other advantage of the MQ Server over an MQ link is that the server does not depend on any one designated messaging engine. This type of connectivity to MQ can tolerate the failure of any given message engine as long as another is available in the bus, increasing robustness and availability.
Restriction: This type of connectivity will only work when communicating with z/OS installations of MQ. Any attempt to use a MQ Server with a non z/OS based MQ installation will fail and will require a MQ link in order to work.
A high level overview of a MQ server can be seen in Figure 9-32. It shows the high level of failure tolerance built in to this connectivity mechanism. An application can use any messaging engine within a bus to connect to the MQ Server, so if one fails, another can be used. The MQ Server itself can connect to a single MQ queue manager, or one of a shared group to access the queues. When connecting to a shared group, if one queue manager fails, another can be used to access the same queues.
For each queue manager or shared queue group that needs to be accessed, a separate MQ Server definition is required to be created. The process of creating a server definition allows the connection details and any security information to be defined for the target queue manager or shared group.
The defined server is added to a bus as a bus member. Queue destinations can then be created for the server definition and the queue points assigned to individual MQ queues. The destinations can be internally or externally mediated (MQ link does not support this). Where this is external, a separate process to the bus is used, but does the same job.
To the MQ Server, the MQ queue manager or shared queue group is regarded as a mechanism to queue messages for the bus. The MQ Server is regarded by the MQ network as just another MQ client attaching to the queue manager or shared queue group.
One major difference between MQ Server and MQ link is that messages are not stored within the messaging engine with MQ Server. Messaging applications directly send and receive messages from the MQ queues. This is the reason that MQ server is tolerant of a message engine failure. The message engines are stateless in this regard.
This allows message beans to be configured to immediately process messages as they arrive on an MQ queue. Similarly, any bus mediations take place immediately upon a message appearing on an MQ queue.
In other respects, the use of the MQ Server is similar to that of a MQ link, and we recommend that you consult the IBM Information Center and Addressing destinations across the MQ link for further information about the use of MQ destinations.