XMPP stands for Extensible Messaging and Presence Protocol which is an open source with decentralized real-time messaging protocol. As it was born from Jabber, the real-time chat protocol of early days - each of it’s clients is identified by Jabber ID. XMPP provides a well structured robust messaging engine design that’s highly capable to communicate over a variety of networks and platforms.
Since, XMPP is based on client-server architecture, it eliminates the client’s need to communicate directly and instead connect them via server as an intermediary. Among many others, XMPP's decentralized feature indicates it’s absence of a centralized XMPP server like email, wherein, anyone can run their own XMPP server.
However, with XSF (the XMPP standards Foundation), this XMPP is encouraged to be used in four main areas of technology including IoT, WebRTC, Instant Messaging and social media.
The original and authentic protocol for XMPP is Transmission Control Protocol, that uses open ended XML streams for long unbreakable TCP connections. Here, the authentication is handled by Simple Authentication and Security Layer (SASL) whereas the XMPP transport mechanism contains a streaming XML connection layer with security measures of TLS encryption to protect the data.
The XMPP protocol for streaming XML elements allows the exchange of messages and information over any network in close to real-time. It also provides the support to get to know the users status info and contact list, which makes it more suitable to be used in all kinds of industry with communication systems based on Publish/Subscribe paradigm.
It’s application in use cases includes network management, news feed, IoT device control, and content syndication, file-sharing, multiplayer gaming, multi-user collaboration, and real-time group chat.