Data Protocols for IoT Part:2

Transitioning from the foundational aspects, my second part of this blog series places a spotlight on protocols such as AMQP and WebSocket. In the first part, we covered MQTT and COAP, in case you missed that post.

AMQP (Advanced Message Queuing Protocol)

AMQP, Advanced Message Queuing Protocol, uses a publish/subscribe model and Point-to-Point, a queuing system developed to connect servers (S2S). It operates at the application layer for message-oriented middleware environments, acting as an intermediary through routing and queuing systems. AMQP is an open standard, internationally recognized for its robustness, particularly evident in its adoption in the banking industry for reliable message handling.

The protocol’s workflow consists of three essential parts: Exchange, Message Queue, and Binding. The Exchange component routes messages to queues based on binding rules. The Message Queue stores messages until the client securely processes them, ensuring transactional consistency. Finally, Binding marks the connection between the Exchange component and the Message Queue, establishing the relationship between messages and their destinations.

WebSocket

WebSocket, utilizing TCP, enables bidirectional communication. It is used for establishing simple yet persistent connections through TCP between a client and a server, beginning with an initial handshake via HTTP. The full-duplex nature of WebSocket allows both client and server to send data simultaneously, offering a more efficient and enduring connection compared to traditional HTTP. This protocol provides significant advantages for event-based web applications requiring real-time synchronization and updates, such as devices sending status reports to servers and receiving responsive instructions or software updates.

DDS – Data Distribution Service

DDS is tailored for communication between devices (D2D) in environments demanding high performance and scalability. Suitable for systems ranging from those with constrained devices (in terms of code, bandwidth, and power) to cloud-based implementations, DDS uniquely employs multicasting to deliver high Quality of Service (QoS) to applications without the need for traditional message brokers.

The protocol architecture is mainly divided into two layers: DCPS (Data-Centric Publish-Subscribe) and DLRL (Data-Local Reconstruction Layer). DCPS is responsible for efficiently delivering information to listeners, while DLRL provides an object-oriented interface to access and interact with the DCPS functionality.

As we continue our exploration into the varied protocols governing IoT connectivity, we recognize the dynamic and ever-evolving nature of this technological domain. In the last part, we will delve into Lightweight M2M.