STOMP Architecture basics | STOMP protocol in IoT

This page covers STOMP Protocol architecture basics. STOMP is a text based protocol used with message oriented middleware in IoT (Internet of Things). STOMP stands for Simple Text Oriented Messaging Protocol.

• STOMP is text based protocol.
• It is developed to work with message oriented middleware.
• It uses interoperable wire format.
• This format enables clients to communicate with message broker to enable easy and widespread messaging interoperability. This communication is irrespective of languages, platforms and brokers used in the architecture.
• STOMP protocol provides message header with properties and frame body like AMQP.
• It is a simple and light weight with wide range of language bindings. Some transactional semantics are also provided by it.

STOMP Architecture working operation

STOMP protocol architecture
Figure: STOMP Architecture

Like other broker based protocols, STOMP specifies publish-subscribe mechanism. Here clients subscribe to topics (compare to a path in HTTP) and they will be notified whenever messages have been sent to that particular topic by broker.

• STOMP does not require use of queues and topics. Instead, it uses "SEND" semantic with "destination" string.
• STOMP is a bi-directional protocol which uses textual headers similar to HTTP.
• The broker must map "destination" string onto something which it understands internally e.g. topic, queue or exchange.
• Consumers subscribe to these destinations.
• Different brokers can support different flavors of destinations as they are not mandatory in the specifications. Hence care need to be taken while porting code between different brokers as it is not straightforward.

EXAMPLE: Generic broker services e.g. RabbitMQ or ActiveMQ use STOMP/AMQP protocols to ease and scale the deployment of modern cloud services. Websockets help to use queuing protocols e.g. STOMP/AMQP directly from web browsers.


AMQP and MQTT Related Links

AMQP vs JMS
MQTT protocol basics
MQTT vs HTTP
MQTT vs REST

What is difference between

MQTT vs HTTP   Difference between OSI and TCPIP layers  Difference between TCP UDP  FTP vs HTTP   FTP vs SMTP   FTP vs TFTP   ARP vs RARP   NAT vs PAT   RIP vs OSPF  SLIP vs PPP  IMAP4 vs POP3  IPV4 vs IPV6 

IoT Wireless Technologies

WLAN    ➤THREAD    ➤EnOcean    ➤LoRa    ➤SIGFOX    ➤WHDI   
Zigbee   ➤6LoWPAN   ➤Zigbee RF4CE   ➤Z-Wave   ➤NFC   ➤RFID   ➤INSTEON  

RF and Wireless Terminologies