Application programming interfaces

IBM® App Connect Enterprise supports programming interfaces that are in use by IBM MQ applications; it does not provide any unique programming interfaces.

For example, you can use the Message Queue Interface (MQI). The MQI provides a few calls that allow an application to interact with other applications in a network of IBM MQ queue managers. The calls support a large range of parameters that allow a rich choice of processing options for each message.

Client applications that use the MQI can run on any supported IBM MQ operating system, and therefore any limitations that are enforced for language or function are defined by the relevant product for that operating system.

The MQI is described in the Application Programming Reference and Application Programming Guide sections in the IBM MQ product documentation online. Details are also provided of the programming language and operating system support available for clients that use this interface.

If you have existing user applications that are written for an IBM MQ interface, the application can typically run unchanged in an integration node environment. You must create the message flows to interact with these applications from the supported protocols, by using the appropriate input and output nodes. IBM App Connect Enterprise provides built-in input and output nodes for its supported protocols and you can create your own user-defined nodes to support additional protocols.

You can also create new user applications to interact with the integration node.

Message headers

IBM App Connect Enterprise provides parsers for many IBM MQ headers, and can therefore accept messages that contain these headers from the IBM MQ Enterprise Transport protocol.

Messages must include an IBM MQ Message Descriptor (MQMD) as the first header, which must precede user or application data in every message. The MQMD contains basic control information that must travel with the message, including:

  • The message identifier
  • The destination of the reply, if one is to be sent
  • Reply and report options (for example, confirm on delivery report)
  • The format of any following data in the message

When a message is processed by an IBM App Connect Enterprise integration node, it typically (but not necessarily) has one or more additional headers. The header that follows the MQMD is always identified in the format field within the MQMD, and itself contains another format field to identify either the header that follows, or the format of the user data.

The additional headers can include:

MQRFH
The Rules and Formatting header is used by IBM MQ Publish/Subscribe.
MQRFH2
The MQRFH2 is an updated version of MQRFH and allows Unicode strings to be transported without translation, and it can carry numeric data types. The MQRFH2 header carries a description of the message contents, so that IBM App Connect Enterprise can select the correct message parser when content-based processing is carried out on the message. In addition, this header contains publish/subscribe command messages.

Use the MQRFH2 header in all new applications that are written for the IBM App Connect Enterprise environment that use a supported protocol that is based on IBM MQ technology. The MQRFH2 header must be immediately before the body of the message (that is, the last header).

If an MQRFH2 header is not included (which is normally the case of the application uses a supported protocol that is not based on IBM MQ technology), you must configure the message flow that processes its messages to specify the message characteristics (by setting the input node properties).