[standards-jig] PubSub JEPs (JEP-0021, JEP-0024, JEP-0028)

DJ Adams dj.adams at pobox.com
Thu Jun 13 17:45:50 UTC 2002

On Mon, Jun 10, 2002 at 03:59:29PM -0600, Shane Holloway (RuneBlade) wrote:
> Perhaps this is simply a misunderstanding on my part, but as I understand the jabber stream architecture, it seems that:
>     <iq/> is for pulling content from a JID,
>     <message/> is for pushing content to a single JID, and
>     <presence/> is for pushing content / status to multiple JIDs

Well, not exactly. <iq/> (info/query) is for the exchange of information, 
often in a request/response fashion, betweeen Jabber entities. 
<message/> is more one-way (a parallel might be the one-way SOAP type
message). And not necessarily to a single JID - witness the potential
use of the jabber:x:envelope attachment to a <message/> element, and
the new Jabber Packet Headers JEP (0033). <presence/> is, despite what
might actually be seen these days, is for presence. Not general content.

So it makes a lot more sense to me to use <iq/> elements, rather than
<presence/> elements, for publish/subscribe content. You rquest a 
subscription with IQ, just like you request other things with IQ, and
the publisher can publish information, just like live browsing works
(in the jabber:iq:browse context). You could philosophically argue that the
packets you receive as a result of your subscription (the pushes from a pubsub
component) are multiple 'delayed' responses to your original subscription.


More information about the Standards mailing list