Introduction to MQ Telemetry

People, businesses, and governments increasingly want to use MQ Telemetry to interact more smartly with the environment we live and work in. MQ Telemetry connects all kinds of devices to the internet and to the enterprise, and reduces the costs of building applications for smart devices.

What is MQ Telemetry?

  • It is a feature of IBM® MQ that extends the universal messaging backbone provided by IBM MQ to a wide range of remote sensors, actuators and telemetry devices. MQ Telemetry extends IBM MQ so that it can interconnect intelligent enterprise applications, services, and decision makers with networks of instrumented devices.
  • The core parts of MQ Telemetry are:
    The MQ Telemetry (MQXR) service.
    This service runs inside the IBM MQ server, and uses the IBM MQ Telemetry Transport (MQTT) protocol to communicate with telemetry devices.
    MQTT applications that you write.
    These applications control the information that is carried between the telemetry devices and the IBM MQ queue manager, and any actions that are taken in response to that information. To help create these applications, you use MQTT client libraries.

What can it do for me?

  • MQTT is an open messaging transport that allows MQTT implementations to be created for a wide variety of devices.
  • MQTT clients can run on small footprint devices that have limited resources.
  • MQTT works efficiently on networks where the bandwidth is low, where cost of sending data is expensive or which might be fragile.
  • Message delivery is assured and decoupled from the application.
  • Application programmers do not need to have communications programming knowledge.
  • Messages can be exchanged with other messaging applications. These can be another telemetry application, or an MQI, JMS or enterprise messaging application.

How do I use it?

  • Download IBM Messaging Telemetry Clients SupportPac, which includes the MQTT client libraries.
  • Use the IBM MQ Explorer and its associated tools to administer the telemetry feature of IBM MQ.
  • Use the client libraries to help you create MQTT applications that connect to a queue manager, and that use publish/subscribe messaging.
  • Distribute your application and client library to the device where your application is to run.

How does it work?

  • MQTT is a publish subscribe protocol. An MQTT client application can publish messages to an MQTT server, or subscribe for messages that are sent by applications that connect to an MQTT server.
  • MQTT client applications use client libraries that implement the MQTT message transport.
  • A basic MQTT client application works like a standard MQ client but can run on a much wider variety of platforms and networks.
  • The MQ Telemetry (MQXR) service turns an IBM MQ queue manager into an MQTT server.
  • When an IBM MQ queue manager acts as the MQTT server, other applications that connect to the queue manager can subscribe for and receive the messages from the MQTT client.
  • The queue manager acts as router distributing messages from publishing applications to subscribing applications.
  • Messages can be distributed between different types of client applications. For instance, between Telemetry clients and JMS clients.
Note: MQ Telemetry replaces the SCADA nodes that were withdrawn in version 7 of WebSphere® Message Broker (now known as IBM Integration Bus ) and runs on Windows, Linux®, and AIX®.