Publish-subscribe using Jabber
Jabber is based on the Extensible Messaging and Presence Protocol (XMPP), an IETF approved streaming XML technology. Jabber consists of a fair number of protocol extensions to XMPP in the form of Jabber Enhancement Proposals (JEPs), facilitated by the namespace features of XML. One such extension revolves around publish-subscribe.
Instead of having consumers poll to see if new data has been made available, the publish-subscribe design pattern relies on pushing data towards (subscribed) consumers and promotes the decoupling of producers and consumers. JEP-0060 describes how to do publish-subscribe using Jabber, but only becomes interesting when actual uses of this design pattern are implemented.
This paper provides an overview of publish-subscribe using Jabber and highlights useful applications. Examples are publishing single news items in the form of Atom fragments and so-called Extended Presence like User Geolocation, User Activity and User Mood.




