stervinou.com > JY's Weblog > Jeu 3 juil 2003

JY's Weblog

 jeudi 3 juillet 2003

Georg Bauer: XML-RPC vs. REST. "I think exactly this is a good reason to provide both in Necho. A RESTian API for full document working and XML-RPC API for more programmatic access. Both have their points for them."
  

There's some interesting discussions about using XML-RPC or simple HTTP POST in the Echo API.

Tim Bray has a clear piece A Web Interface for Web Publishing explaining why using an HTTP POST way is simpler, and Dave Winer thinks they are re-inventing the wheel.

Maybe i'm wrong, but i think that using just "XML over HTTP" (the "POST" way) focuses on transmiting a very visible XML file (visible from the developer point of view) and that XML-RPC focuses on transmiting data, using XML as the secret hidden vehicle.

Let me explain this with a small drawing.

XML-RPC

Basically the purpose of these API is to transmit data from one software to another (running in different environments).

One software will encode the data in XML, then send it (post it) via HTTP to the other software, that will extract the data out of the XML file.

The powerful thing is that XML-RPC factors all this work so that the developer has only to deal with the data (and some function calls).

One way or the other, the developer would have to reprogram one part of XML-RPC (without knowing it) with the "POST", XML over HTTP, way.

Then you ask "eh, if so, why using RSS to syndicate data?! You have to decode the XML file and so on, so we should use an XML-RPC approach as you've just explained!".

Well, the thing is that in this case, you don't have the software on the left part of the drawing to do the data encoding in XML! Most RSS files are static files (so you can host them on any basic webserver), and yes you then have to decode the data from the RSS files.

Any comment? jy@stervinou.com
  

Previous Day / Jour Précédent

Juillet 2003
Dim Lun Mar Mer Jeu Ven Sam
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
Juin   Aoû