Advantages of XMPP protocol | disadvantages of XMPP protocol
This page covers advantages and disadvantages of XMPP protocol used in IoT (Internet of Things). It mentions benefits or advantages of XMPP protocol and drawbacks or disadvantages of XMPP protocol.
What is XMPP protocol?
XMPP stands for Extensible Messaging and Presence Protocol. It uses client server architecture in which XMPP client communicates with XMPP server using TCP socket. It also works via HTTP using a websocket implementation. It is an open protocol which streams XML elements to exchange messages in real time. It is asynchronous and based on XML.
The protocol is specified in various RFCs viz. RFC2778 and RFC2770 defines general model for presence and instant messaging. RFC3920 specifies XMPP core and RFC3921 specifies XMPP instant messaging. XMPP features such as addressing, scalability, federation and security are ideal for IoT (Internet of Things) applications. It also uses publish/subscribe mechanism for data sharing like MQTT protocol.
The figure depicts simple architecture of XMPP. It uses port 5222 for client to server communication and port 5269 for server to server communication. Refer XMPP Protocol for more information.
XMPP protocol is used for all the following applications.
• Instant messaging apps (Google Talk, WhatsApp)
• Presence status
• Message delivery
• Conferencing (Multi-party chat)
• Roster management
• Voice and video calls
• Online gaming
• News websites
• VoIP apps
Benefits or advantages of XMPP protocol
Following are the benefits or advantages of XMPP protocol:
➨Extensible : It can be customized to individual user requirements.
➨Messaging : Short messages are used for fast communication between user and server.
➨Presence : It is reactive to presence of user and his/her status.
➨Protocol : It is an open platform which is constantly evolving.
➨Secured : It uses TLS and SASL to provide secured end to end connection.
➨It offers persistent connection.
➨It is decentralized in nature as no central XMPP servers are needed.
➨It allows servers with different architectures to communicate.
Drawbacks or disadvantages of XMPP protocol
Following are the drawbacks or disadvantages of XMPP protocol:
➨It does not have QoS mechanism as used by MQTT protocol.
➨Streaming XML has overhead due to text based communication compare to binary based communication.
➨XML content transports asynchronously.
➨Server may overload with presence and instant messaging.