MQ Telemetry Transport, or MQTT for short, is a lightweight messaging protocol which is particularly useful in situations where you wish to minimize network bandwidth and device resource requirements (such as battery life on a mobile phone for example). MQTT uses a publish-subscribe style of messaging so that the information provider (publisher) can be decoupled from the consumer of the information (subscriber). One of the best known usages and widespread implementations of MQTT as a protocol is as the transport underpinning Facebook messenger
IBM Integration Bus provides an MQTTPublish message flow processing node and an MQTTSubscribe message flow processing node as one of the new features in IIBv10. These nodes communicate with an MQTT server (external to IIB) using MQTT over TCPIP. With the latest fix pack, v10.0.0.5, we have extended this support to also allow SSL to be used to encrypt the MQTT protocol. This blog post describes how you can use these IIB capabilities to securely exchange information with an MQTT server. There are lots of MQTT servers available, some of which are licensed through a vendor such as IBM, who provide an MQTT server implementation as part of the MQ product. There are also open source options available such as Mosquitto for example, which is EPL/EDL licensed.
This post will demonstrate the use of IBM’s Watson IoT platform as an MQTT server, which you can try out for free through Bluemix. The instructions which follow describe how you can quickly get this service up and running from scratch.
(see attached PDF for full article)