[standards-jig] PubSub JEPs (JEP-0021, JEP-0024, JEP-0028)
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