IBM MQ MQI clients

An IBM® MQ MQI client is a component of the IBM MQ product that can be installed on a system on which no queue manager runs.

An IBM MQ MQI client is a component that allows an application running on a system to issue MQI calls to a queue manager running on another system. The output from the call is sent back to the client, which passes it back to the application.

Using an IBM MQ MQI client, an application running on the same system as the client can connect to a queue manager that is running on another system. The application can issue MQI calls to that queue manager. Such an application is called an IBM MQ MQI client application and the queue manager is called a server queue manager.

An IBM MQ server is a queue manager that provides queuing services to one or more clients. All the IBM MQ objects, for example queues, exist only on the queue manager machine (the IBM MQ server machine), and not on the client. An IBM MQ server can also support local IBM MQ applications.

The difference between an IBM MQ server and an ordinary queue manager is that a server has a dedicated communications link with each client. For more information about creating channels for clients and servers, see Configuring distributed queuing.

An IBM MQ MQI client application and a server queue manager communicate with each other by using an MQI channel. An MQI channel starts when the client application issues an MQCONN or MQCONNX call to connect to the queue manager and ends when the client application issues an MQDISC call to disconnect from the queue manager. The input parameters of an MQI call flow in one direction on an MQI channel and the output parameters flow in the opposite direction.
Figure 1. Link between a client and server
IBM MQ MQI client application running on a client communicating with a queue manager on a server.
The following platforms can be used. The combinations depend on which IBM MQ product you are using and are described in Platform support for IBM MQ clients.
IBM MQ MQI client
IBM MQ server
AIX® and Linux®
Windows
IBM i
AIX and Linux
Windows
IBM i
z/OS®

The MQI is available to applications running on the client platform; the queues and other IBM MQ objects are held on a queue manager that you have installed on a server.

An application that you want to run in the IBM MQ MQI client environment must first be linked with the relevant client library. When the application issues an MQI call, the IBM MQ MQI client directs the request to a queue manager, where it is processed and from where a reply is sent back to the IBM MQ MQI client.

The link between the application and the IBM MQ MQI client is established dynamically at run time.

You can also develop client applications using the IBM MQ classes for .NET, IBM MQ classes for Java or IBM MQ classes for Java Message Service (JMS). You can use Java and JMS clients on the following platforms:
  • [IBM i]IBM i
  • [AIX]AIX
  • [Linux]Linux
  • [Windows]Windows
The use of Java and JMS is not described here. For full details on how to install, configure, and use IBM MQ classes for Java and IBM MQ classes for JMS see Using IBM MQ classes for Java and Using IBM MQ classes for JMS.

IBM MQ applications in a client-server environment

When linked to a server, client IBM MQ applications can issue most MQI calls in the same way as local applications. The client application issues an MQCONN call to connect to a specified queue manager. Any additional MQI calls that specify the connection handle returned from the connect request are then processed by this queue manager.

You must link your applications to the appropriate client libraries. See Building applications for IBM MQ MQI clients.