Interaction between IBM App Connect Enterprise and IBM MQ

Greater flexibility was introduced in IBM® Integration Bus 10.0 in its interactions with IBM MQ. IBM App Connect Enterprise 12.0 maintains this enhanced flexibility.

IBM MQ is not a prerequisite for using IBM App Connect Enterprise, which means that you can develop and deploy applications with IBM App Connect Enterprise independently of IBM MQ.

Some IBM App Connect Enterprise features and scenarios require access to IBM MQ, including the MQ nodes and the event-driven processing nodes that are used for aggregation and timeout flows, message collections, and message sequences. The integration node listener requires access to IBM MQ Server, so you must install it if you want to use an integration node listener to manage HTTP messages in your HTTP or SOAP flows. However, if you use HTTP nodes or SOAP nodes with the integration server embedded listener, they do not require access to IBM MQ.

For more information about the main IBM App Connect Enterprise features, including information about the features that require the installation of IBM MQ Client or Server, see IBM App Connect Enterprise features.


Installing IBM MQ

IBM MQ is not provided as part of the IBM App Connect Enterprise installation package. However, when you purchase a license for IBM App Connect Enterprise, your license entitles you to install IBM MQ for use by App Connect Enterprise, within the terms of the license. For more information, see Installing IBM MQ.

Local or remote queue manager

When you use IBM MQ with IBM App Connect Enterprise, many scenarios can be successfully configured with local or client connections to IBM MQ. These connections enable your integration nodes to get messages from, or put messages to, queues on a local or remote queue manager. You can configure either a local or client connection between your integration node and your queue manager, depending on the configuration of your existing architecture. If your IBM MQ queue manager is running on the same machine as your integration node, you can specify a local connection to the queue manager. Alternatively, if the IBM MQ queue manager is hosted on a separate machine from IBM App Connect Enterprise, you can configure a client connection from your integration node so that it can access the messages on the remote queue manager.

Note that IBM MQ does not support z/OS® client connections to a remote queue manager.
For more information, see https://www.ibm.com/docs/en/ibm-mq/9.3?topic=client-creating-server-connection-connection-definitions-server.

The following IBM App Connect Enterprise features require access to system queues on a either a local or remote queue manager for the storage and retrieval of state information:
  • Record and replay
  • Event-driven processing nodes (aggregate, collector, sequence, resequence, and timeout nodes)

For more information about creating the system queues, see Creating the default system queues on an IBM MQ queue manager.

The MQInput, MQOutput, MQGet, and MQReply nodes require that IBM MQ is installed either locally or remotely. However they do not require a queue manager to be specified on the integration node unless you want to use this queue manager by default for your local IBM MQ connection.

For more information, see Configuring a local connection to IBM MQ and Configuring a client connection to IBM MQ.

Message flows can contain multiple MQInput and MQOutput nodes, each of which can access different queue managers that are specified in the MQ node. For more information, see MQInput node and MQOutput node.

Local queue manager only
When you use IBM MQ with IBM App Connect Enterprise, some scenarios can be run only with a local IBM MQ server and queue manager. For example:
  • The following IBM App Connect Enterprise features require IBM MQ Server to be installed on the same machine as the integration node. They are available for use only if you specify a queue manager on the integration node:
    • Queue-based administration security (IBM MQ is not required for file-based security)
    • Global transactionality
    • FTEInput and FTEOutput nodes
    • CDInput and CDOutput nodes
    • Integration nodes with HTTP listeners
    • HTTP proxy servlet
    • High availability configurations
  • The MQInput, MQOutput, MQGet, and MQReply nodes require that IBM MQ is installed either locally or remotely. They require a queue manager to be specified on the integration node if you want to use this queue manager by default for your local MQ connection. For more information, see Configuring a local connection to IBM MQ and Configuring a client connection to IBM MQ.

  • The SAPInput, SAPReply, and SAPRequest nodes require that either IBM MQ Client or Server is installed on the same machine as the integration node. They also require a queue manager to be specified on the integration node.
For more information, see Features, scenarios, and message flow nodes that require a local IBM MQ server and queue manager.

Configuring connections to IBM MQ
You can get messages from, or put messages to, IBM MQ queues on local or remote queue managers, by configuring the connection properties of the following IBM MQ nodes:

Alternatively, you can specify a queue manager to be associated with the integration node by using the -q parameter on the mqsicreatebroker command. This queue manager is used by default for IBM MQ processing in the message flow if no queue manager is specified explicitly on the IBM MQ node. This queue manager is also used by some message flow nodes that require a queue manager to be specified on the integration node. For example, the event-driven processing nodes used for aggregation, timeout, message collection, and message sequencing. The -q parameter specifies the name of a queue manager, but it does not create the queue manager automatically. You must define and start the queue manager as separate tasks, in addition to specifying it with the mqsicreatebroker command. For more information, see mqsicreatebroker command and https://www.ibm.com/docs/en/ibm-mq/9.1?topic=configuring-creating-queue-managers-multiplatforms.

On Linux® and AIX® systems only, you must also configure the IBM MQ environment that you want the integration node to use before you start it. If you do not set the environment, your integration node might not run in the expected location. For more information, see Setting the IBM MQ environment on Linux and AIX.

When you configure a connection from an MQ node to an IBM MQ queue manager, you can optionally configure the connection to use a security identity for authentication, SSL for confidentiality, or both. The security identity, which passes username and password security credentials to the queue manager, can be used on connections to local or remote queue managers. For connections to remote queue managers, you can choose whether to use the SSL protocol to provide confidentiality on the client connection. IBM App Connect Enterprise supports a subset of the SSL functionality that is supported by IBM MQ. For more information, see Connecting to a secured IBM MQ queue manager.

Note: You cannot use a secured queue manager as the local default queue manager for an integration node or an integration server.