Those who can remember the early days of Internet workings might be familiar with the Publish-Subscribe method of electronic messaging. Someone who wanted their information to be seen by certain people could publish that content but wouldn’t be required to use a special application specific to each unique reader. The benefit worked both ways. Readers didn’t need to worry about having a proprietary tool to access their subscribed content.
Typically, a type of queue manager was involved, allowing for the easy exchange between publishers and subscribers. This concept worked nicely in the days of dial-up networking and the beginnings of the networked age.
Today, at a time when the internet is integral to our daily lives, you might imagine that concepts used in its infancy would be long forgotten, but that would be incorrect, especially for the publish/subscribe (“pub/sub”) method.
It is due to the emergence of the Industrial Internet of Things (IIoT) that we have returned to the pub/sub method as a best practice standard for data transmission. IoT gateways provide a bridge between an on-premises communications network and a cloud-based one. These gateways, also referred to as “edge” devices, provide “southbound” communication to plant or factory equipment, typically using industry standard protocols such as OPC UA, BACnet, Modbus, SNMP, or web services. An IoT gateway also communicates “northbound” and is often based on the publish/subscribe method. This same northbound communication is required to be highly secure and uses emerging communications protocols such as Advanced Message Queue Protocol (AMQP) and Message Queuing Telemetry Transport (MQTT).
So not only has pub/sub continued to exist, it has evolved, especially in the case of IoT-based data communications.
IoT gateways can come pre-installed with software, such as ICONICS’ IoTWorX™, which provides additional benefits such as integrating connected data with HMI/SCADA, historian, analytics, and mobility applications. An IoT gateway combined with such software can then communicate with a cloud-based hub (such as Microsoft’s Azure IoT Hub) via pub/sub method using the bi-directional AMQP transport protocol supported by Microsoft. The IoT gateway software (e.g., IoTWorX) publishes its messages to the IoT Hub independently from the subscribers that will ingest the data. This decouples the gateway from the consuming applications and services in the cloud, effectively comprising what is known as Message-Oriented Middleware (MOM). The Azure IoT Hub acts as the message broker between the gateway and the connected subscribers (i.e., the consuming applications such as those for HMI/SCADA, historian, analytics, and mobility).
MQTT was specifically created for SCADA systems and their related networks. It uses the pub/sub method to minimize data payloads and overhead with application-specific, custom JSON or binary formats. MQTT is widely accepted in IT departments worldwide, with many open source examples available in just about any programming language. ICONICS recommends the use of MQTT when network bandwidth is at a premium and always in conjunction with a secure communications method such as Transport Layer Security (TLS).
The publish/subscribe method solved speed, ease of access, and compatibility concerns in the early days of internetworking and has certainly grown, along with innovative software such as ICONICS IoTWorX, to do the same for today’s Industrial Internet of Things. To learn more about ICONICS IoT solutions or to register for an in-person event, click here.