Difference between revisions of "Tech pages/PubSub"
(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 |
Revision as of 17:36, 24 July 2010
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.
Specifications
PubSub is defined in several specifications:
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:
- Activities
- Atom / RSS Notifications
- Avatars
- Chatroom Visits
- Gaming Activities
- Geolocation
- Moods
- Music Tunes
- TV/Video Activities
- Website Visits
Implementations
Servers
The following XMPP servers include built-in support for PubSub or PEP:
- ejabberd
- Jabber XCP
- Openfire
- Tigase
Server Components
- Idavoll
Clients
- Gajim
- Psi
Libraries
- strophe (C or JavaScript)
- XMPP4R (Ruby)
Discussion Venues
The XMPP Standards Foundation maintains a dedicated email list (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.
- Info page and subscription information
- Subscribe via email
- Discussion archives