XMPP

Definition

The Extensible Messaging and Presence Protocol (XMPP) is an open technology for real-time communication, using the Extensible Markup Language (XML) as the base format for exchanging information. In essence, XMPP provides a way to send small pieces of XML from one entity to another in close to real time.

(Saint-Andre, Smith, and Tronçon 2009, 3)

The important thing to realize about XMPP is that rather than being a set of software, it is a set of standards that define how clients and servers should interact, much like HTTP is a standard rather than a specific piece of software like Apache.

(Watkin and Koelle 2016, 8)

XMPP provides many advantages outside of its ecosystem, such as being:

  • Decentralized
  • Secure
  • Scalable
  • Real-Time
  • Multi-Device
  • Extensible
  • Mature

Architecture

References:

Saint-Andre, Peter, Kevin Smith, and Remko Tronçon. 2009. Xmpp: The Definitive Guide. O’Reilly Media, Inc.
Watkin, Lloyd, and David Koelle. 2016. Practical Xmpp. Packt Publishing Ltd.