OpenRPC: user-attended RPC between sites
mart at degeneration.co.uk
Sat Jul 16 17:31:44 PDT 2005
meepbear * wrote:
> Wouldn't it make more sense (and be a lot easier?) to have something
> that would integrate into existing standards rather than invent a
> completely new way of doing RPC?
> Maybe I'm getting it completely wrong but it seems that in the demo the
> actual "problem" is that LiveJournal doesn't expose its API through a
> webservice, leaving third-party sites with the only option of simulating
> everything (which requires the user's credentials).
> OpenRPC doesn't seem to eliminate that problem at all.
LiveJournal exposes its API in with at least four different APIs:
LiveJournal's own "flat" protocol, XML-RPC, The Blogger/MetaWeblog API
and the AtomAPI. I fail to see how any of these solve this problem: the
remote site still needs to include some credentials. Otherwise, how can
LiveJournal know that the posting site has permission?
OpenRPC (which definitely needs a new name as that name is apparently
taken by a project extending XML-RPC) doesn't necessarily have to be
competing with existing standards. I was imagining that in practice a
more featureful weblog posting API than that in my demo would be used,
perhaps based on having an AtomAPI entry as its parameter. Likewise,
profile exchange could be implemented by a function call which takes a
whole load of FOAF predicates and returns the values for those it is
willing to disclose. Both AtomAPI and FOAF are popular technologies, but
they didn't really seem worth implementing for the sake of a simple demo.
As far as I'm aware, XML-RPC and friends don't really offer the ability
of user-attended RPC. I would love to find out that I'm wrong and be
able to adapt XML-RPC to do this, though from what I've seen XML-RPC
doesn't offer the ability for standard, namespaced APIs but instead has
each service offer its own unique function set. Really, my OpenRPC demo
is essentially just XML-RPC with an extra token-passing framework
attached; I just did the encoding a little differently since I think the
functionality for posting to a weblog should be the same for all
weblogs, and I think for extensibility that functions should use named
parameters rather than place-based parameters.
Other than those two differences, it's not wholly unlike XML-RPC. I'm
not especially fussy about the actual encoding of the requests. What I'm
more concerned about is the ability for the three parties of user,
caller and RPC gateway to work together to make the request happen,
which (again, unless I've missed something completely) is not offered by
XML-RPC or any other "standard". Please correct me if I'm wrong.
More information about the yadis