[Standards] NEW: XEP-0291 (Service Delegation)

Justin Karneges justin-keyword-jabber.093179 at affinix.com
Thu Feb 17 01:40:39 UTC 2011


Hi David,

On Wednesday 26 January 2011 20:56:14 David Ammouial wrote:
> I see the use case that this XEP addresses as an equivalent of HTTP
> 301 and 302 return codes.
> 
> As such, I'm not sure that asking and receiving the whole list of
> delegations of a given entity is the right way to go, or at least the
> most sensible one. If you want to, say, play chess with someone, you
> don't really care about their pubsub service, or the other 50 services
> they're announcing delegation for. And caching is not an answer,
> because it puts the complexity on the client's side.
> 
> This approach also only works well if the list of delegated services
> doesn't grow too much, which means it's not scalable. Also, it's a bad
> thing for mobile or generally low-bandwith devices. We don't want to
> have to "fix" this XEP in 3 years with a "delegation list versioning"
> one.
> 
> Do you ask an HTTP server about all redirected URLs, cache that answer,
> and the check that list against any URL you want to fetch?
> 
> Instead, I would say that the "regular" use case is that you try to
> play chess with someone, and receive an answer that says "please talk
> to JID xxx for that".
> 
> I might have overlooked something obvious though.
> 
> What do you think?

Your suggestion sounds beautiful by comparison.  At least I think it should 
work for direct delegations (where the user's own server understands how to 
redirect).

For the third-party registry stuff, we can change the protocol such that 
entities should query by a specific service type rather than querying for the 
entire delegation list.

It's tempting to want to make the registry act as a redirect service.  Imagine 
sending a stanza to jid_escaped(real_jid) + '@registry.example.com' and having 
registry.example.com return normal redirect responses.  Like purl.org!  But, I 
don't know if this buys us much more than a simple query by service type.

I think it should still be possible to send a normal stanza to the real JID 
and a delegate request to the registry simultaneously, right?

Hmm, there is one problem.  Originally, I was thinking that there may not 
necessarily be a 1:1 mapping between service type and XML namespace.  For 
example, imagine a chess service that hosts special vcards for their users and 
responds to requests for vcards using the standard vcard namespace.  You might 
have a "chess-vcard" delegation then, that points to your chess service JID.  
How would you configure a redirect on your server for this that doesn't end up 
completely overriding your normal vcard?  We'd need to know the context of the 
request somehow.

Anyway those are my thoughts for the moment.

-Justin



More information about the Standards mailing list