[Standards] XEP-0080 interoperability

Nathan Fritz nathanfritz at gmail.com
Mon Apr 12 21:12:08 UTC 2010


On Mon, Apr 12, 2010 at 1:52 PM, Stephen Pendleton
<pendleto at movsoftware.com> wrote:
> PEP is great - it works, easy to implement and widely supported on the
> server side.
>
> Without a way to search meta information for pubsub nodes, or to have a
> well-known name for common services though, pubsub itself is less useful
> than it could be.
>
> For example, in the microblogging XEP it suggests using PEP, but says: "A
> person's microblog SHOULD be located at a personal eventing (PEP) node whose
> name is "urn:xmpp:microblog:0" but MAY be located at a generic
> publish-subscribe node that is not attached to a user's IM account. For
> instance, if the Shakespearean character Romeo has a JabberID of
> <romeo at montague.lit> then his microblog would be located at that JID with a
> node of "urn:xmpp:microblog:0". Outside of native XMPP systems, this node
> can be referred to as the following XMPP URI (see RFC 5122 [5]).
> xmpp:romeo at montague.lit?;node=urn%3Axmpp%3Atmp%3Amicroblog".
>
> It goes on to say you can use service discovery to discover this node, but I
> am not sure that can really be accomplished. I wouldn't know what to look
> for in the service discovery output in a machine readable manner.
>
> Also, I am not sure how this works for pubsub - what does "located at that
> JID" mean in the above text? The server that they jid belongs to? It is my
> understanding that pubsub nodes are globally named so romeo at montague.lit and
> Juliet at montague.lit cannot both publish to pubsub node
> "urn:xmpp:microblog:0"
>
> If pubsub nodes ARE NOT globally named in scope, and since microblogging has
> "urn:xmpp:microblog:0" why don't we have geoloc use "urn:xmpp:geoloc:0"?
>
> How would I subscribe to a node like this? This doesn't seem legal, because
> the to jid should be the pubsub service, not the JID:
>
> <iq type='set'
>    from='francisco at denmark.lit/barracks'
>    to='juliet at denmark.lit'
>    id='sub1'>
>  <pubsub xmlns='http://jabber.org/protocol/pubsub'>
>    <subscribe
>        node='urn:xmpp:geoloc:0'
>        jid='francisco at denmark.lit'/>
>  </pubsub>
> </iq>
>

I think the disconnect you're having is that Pubsub isn't for IM
clients. PEP is, or at most pubsub-service-on-a-barejid is.  XMPP
isn't confined to IM use cases.  As an XMPP consultant, most of my
work is Pubsub for non-IM situations.  Pubsub isn't useful for
extending presence in an IM client outside of the concept of PEP and
other barejid implementations. It's a service for eventing,
broadcasting, synchronizing, storage, etc for services.  So when you
talk about discoverability, that's generally a service implementation
piece -- maybe they use a naming scheme, or maybe their clients are
just told because they're not using vanilla IM clients.  Microblogging
MAY be in a separate pubsub domain, but it won't be discoverable that
way to generic IM clients, and that's probably fine for a lot of
services.

I'm currently working a XEP for job-distribution (and various
supporting XEPs). I have these things being used at various companies.
Discoverability on jobs is purely an implementation detail.

-Fritzy



More information about the Standards mailing list