Overview of MQTT Support in Integration Server
MQTT is a publish-and-subscribe messaging protocol often used with devices in the Internet of Things (IoT) and machine-to-machine (M2M) communication. MQTT was designed to be light-weight and used with devices for which resources and network bandwidth are constrained, such as a sensor on a smart device. The protocol supports telemetry applications which measure and transmit data from sensors and devices.
Note:
A full discussion of the capabilities of MQTT is beyond the scope of this document but is available elsewhere.
Like other publish-and-subscribe solutions, MQTT consists of clients that publish or subscribe to messages and a server that routes published messages to subscribers.
Integration Server, which supports MQTT version 3.1.1, can act as an MQTT client that publishes messages to a topic on an MQTT server and an MQTT client that subscribes to topics on the MQTT server. Specifically:
Integration Server can publish MQTT messages to an MQTT server using the built-in service
pub.mqtt:publish.
Integration Server can subscribe to topics by creating an MQTT trigger. The MQTT trigger receives messages published to the topic on the MQTT server and then invokes a trigger service to process the messages.
Integration Server uses an MQTT connection alias to create a connection to the MQTT server. An invocation of the
pub.mqtt:publish service requires the MQTT connection alias to publish the message to the MQTT server. Similarly, an MQTT trigger specifies the MQTT connection alias that it uses to identify the MQTT server from which it retrieves messages and on which the trigger creates subscriptions.
Note:
An MQTT server is also referred to as an MQTT broker. The Integration Server documentation uses the term MQTT server to avoid confusion with the webMethods Broker product.
Adding an MQTT solution to Integration Server consists of the basic tasks listed in the following table.
Stage 1 | Determine which MQTT provider you will use. For a list of supported MQTT providers, see
Supported MQTT Servers. |
Stage 2 | |
Stage 3 | Build MQTT triggers. This step is necessary only if you intend to use Integration Server to retrieve and process MQTT messages from the MQTT server. For information about building MQTT triggers, see webMethods Service Development Help. |
Stage 4 | Build services that publish MQTT messages using the pub.mqtt:publishservice. This step is necessary only if you want to use Integration Server to publish MQTT messages. For more information about the pub.mqtt:publishservice, see the webMethods Integration Server Built-In Services Reference. |