217
edits
(initial copy) |
Neustradamus (talk | contribs) m |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
XMPP PubSub is a protocol extension for generic publish-subscribe functionality, specified in XEP-0060. The protocol enables XMPP entities to create nodes (topics) at a pubsub service and publish information at those nodes; an event notification (with or without payload) is then broadcasted to all entities that have subscribed to the node. Pubsub therefore adheres to the classic Observer design pattern and can serve as the foundation for a wide variety of applications, including news feeds, content syndication, rich presence, geolocation, workflow systems, network management systems, and any other application that requires event notifications. The personal eventing protocol (PEP), specified in XEP-0163, provides a presence-aware profile of PubSub that enables every user's JabberID to function as a virtual pubsub service for rich presence, microblogging, social networking, and real-time interactions. | XMPP PubSub is a protocol extension for generic publish-subscribe functionality, specified in XEP-0060. The protocol enables XMPP entities to create nodes (topics) at a pubsub service and publish information at those nodes; an event notification (with or without payload) is then broadcasted to all entities that have subscribed to the node. Pubsub therefore adheres to the classic Observer design pattern and can serve as the foundation for a wide variety of applications, including news feeds, content syndication, rich presence, geolocation, workflow systems, network management systems, and any other application that requires event notifications. The personal eventing protocol (PEP), specified in XEP-0163, provides a presence-aware profile of PubSub that enables every user's JabberID to function as a virtual pubsub service for rich presence, microblogging, social networking, and real-time interactions. | ||
== Specifications == | == Specifications == | ||
PubSub is defined in several specifications: | PubSub is defined in several specifications: | ||
* XEP-0060: Publish-Subscribe | * [http://xmpp.org/extensions/xep-0060.html XEP-0060: Publish-Subscribe] | ||
* XEP-0163: Personal Eventing Protocol | * [http://xmpp.org/extensions/xep-0163.html XEP-0163: Personal Eventing Protocol] | ||
* XEP-0248: PubSub Collection Nodes | * [http://xmpp.org/extensions/xep-0248.html XEP-0248: PubSub Collection Nodes] | ||
=== Payloads === | === Payloads === | ||
PubSub and PEP are "payload-agnostic" -- you can use them as neutral transports for a wide variety of data formats. Some of the more popular payloads are listed below, especially for rich presence related to IM users: | PubSub and PEP are "payload-agnostic" -- you can use them as neutral transports for a wide variety of data formats. Some of the more popular payloads are listed below, especially for rich presence related to IM users: | ||
* Activities | * Activities | ||
Line 25: | Line 22: | ||
== Implementations == | == Implementations == | ||
=== Servers === | === Servers === | ||
The following XMPP servers include built-in support for PubSub or PEP: | The following XMPP servers include built-in support for PubSub or PEP: | ||
* ejabberd | * ejabberd | ||
Line 35: | Line 30: | ||
=== Server Components === | === Server Components === | ||
* Idavoll | * Idavoll | ||
=== Clients === | === Clients === | ||
* Gajim | * Gajim | ||
* Psi | * Psi | ||
=== Libraries === | === Libraries === | ||
* strophe (C or JavaScript) | * strophe (C or JavaScript) | ||
* XMPP4R (Ruby) | * XMPP4R (Ruby) | ||
== Discussion Venues == | == Discussion Venues == | ||
The XMPP Standards Foundation maintains a dedicated email list ([http://mail.jabber.org/mailman/listinfo/pubsub pubsub@xmpp.org]) about PubSub, intended as a low-volume venue for discussion of PubSub implementation and protocol issues. As with all XSF technology lists, the pubsub@xmpp.org list is open to all interested individuals. | |||
The XMPP Standards Foundation maintains a dedicated email list ( | |||
* Info page and subscription information | * Info page and subscription information | ||
* Subscribe via email | * Subscribe via email | ||
* Discussion archives | * Discussion archives |
edits