Tim Bray has written some good food for thought in his post WS-Gartner where criticizes some of the party-line praise of WS-* technologies as the future of building services on the Web and calls for vendors to provide better tooling and developer support around simple XML/HTTP/REST technologies.
Don Box has written two good responses from the perspective of a Microsoft employee. The first Going Down to the Crossroads outlines the various ways Microsoft supports working with XML, HTTP and REST. One thing I particularly like about Don's post is the following excerpt
To get a more accurate picture of what we've done so far, I'll break this category in two: Lo-Rest, which is the use of HTTP GET (or equiv) for information retrieval/query, and Hi-Rest, which is characterized by the use of HTTP PUT and DELETE (or equiv) for doing update.
I like the distinction between Lo-Rest which I've also seen people call Plain Old XML over HTTP (POX/HTTP) and Hi-Rest which is actually rare in practice with notable examples being WebDAV and the Atom Publishing Protocol. Don isn't the first person I've seen make this distinction using this terminology. Nelson Minar of Google was the first person I've heard make the distinction between Hi-Rest and Lo-Rest In his talk Building a New web Service at Google at last year's O'Reilly Emerging Technology Conference.
Don's second post in response to Tim Bray is entitled HTTP, XML, REST and $100 and he uses what has become a common tactic by Microsoft bloggers to get prioritizations of feature requests from our users. He asks how Microsoft should better support building RESTful web services including better support for HTTP and XML. Specifically he wrote
You have $100 engineering dollars to spend. No matter how many millions we'd actually wind up spending, we use $100 as an easy number for people to keep in their heads. There are well over $100 dollars worth of features you want. The challenge is in determining how to spread the $100 in a way that produces with the most aggregate value.
There are well over $100 dollars worth of features you want.
The challenge is in determining how to spread the $100 in a way that produces with the most aggregate value.
So how would you allocate resources? Here's my first stab with not a lot of deep thinking [after all, I'm still in Las Vegas] ;)
I'd write more but my girlfriend is giving me that look that says I've already spent too much time in front of the computer. :)