Developing applications for IBM MQ

We can develop applications to send and receive messages, and to manage your queue managers and related resources. IBM MQ supports applications written in many different languages and frameworks.


New to developing applications for IBM MQ?

To learn about developing applications for IBM MQ, visit IBM Developer:

  • LearnMQ (learn the basics, run a demo, code an app, take more advanced tutorials)
  • MQ developer downloads (including free developer editions and trial versions)

We might also find it easier to develop the applications if we are familiar with the concepts described in the following sections:


Support for object oriented languages and frameworks

IBM MQ provides core support for applications developed in the following languages and frameworks:

See also Object-oriented applications. .NET supports applications developed in many languages. To illustrate using the IBM MQ classes for .NET to access IBM MQ queues, the MQ product documentation contains information for the following languages:

See Writing and deploying IBM MQ .NET programs.

IBM MQ supports .NET Core for applications in Windows environments from Version 9.1.1 and for applications in Linux environments from Version 9.1.2. For more information, see Installing IBM MQ classes for .NET Standard.

IBM MQ also supports the MQ Light API, which implements the OASIS AMQP 1.0 protocol. There are messaging APIs for the following languages:

See also Developing AMQP client applications. The following language bindings are provided as-is:


Support for programmatic REST APIs

IBM MQ provides support for the following programmatic REST APIs to send and receive messages:

See Developing REST applications with IBM MQ, and also the tutorial Get started with the IBM MQ messaging REST API in the IBM MQ area of IBM Developer. This tutorial includes examples in the following languages, provided as-is, for use with the IBM MQ messaging REST API:

  • Go example that uses the MQ messaging REST API
  • Node.js example using HTTPS module
  • Node.js example with Promise module


Support for procedural programming languages

IBM MQ provides support for applications developed in the following procedural programming languages:

These languages use the message queue interface (MQI) to access message queuing services. See Developing MQI applications with IBM MQ. Note that the IBM MQ Object Model, used by the object oriented languages and frameworks, provides additional functions that are not available to the procedural languages using the MQI.


Specify the application name

Before IBM MQ Version 9.1.2, you could specify an application name on Java or JMS client applications. From Version 9.1.2, we can also specify the application name on additional programming languages. For more information, see Specify the application name in supported programming languages.


Related concepts


Related tasks


Related reference