XML-RPC and http

Clay Shirky clay@shirky.com
Wed, 11 Jul 2001 08:35:20 -0400 (EDT)


OK, so sorry for not following up to the earlier mail, but I didn't
know this was an issue I cared about til after I'd cleaned out my
mailbox for the night.

It seems to me the important ifferences between http and XML-RPC/SOAP
are rigor, context, and dependencies.

Rigor: A query-string can be checked for validity only as a
url-encoded string. It can't be checked for the validity of its
elements, eg. a NOT NULL requirement. XML, by contrast, is (or should
be) more of a straitjacket, forcing the sender to rigorously encode
meta-data in the XML doc. 

Context: In addition, XML can contain context -- can be
self-documenting, in other words. In addition to being parseable, XML
can contain meta-data about the elements themselves.

Dependencies: Finally, XML can nest data, so that if I am sending two
Zip codes (sender and recipient, say), I can contain the Sender's zip
in general sender data.

Now I know that http can be made to do all these things -- 
http://foo.com/msg?ID_not_null=12345&senders_first_name=clay&...
but it can't be made to do these things in a way anyone else can
automatically recognize without my parser. 

Checking the validity of an XML document, with anyone's parser, says
something about content; checking the validity of an http request only
says something about the form.

Now I am usually on the 'use the simpler technology' tip, so I find
myself surprised to be advancing this view, but it seems to me that
the there is a big enough differnece here to merit adoption of the XML
format.

-clay