Rebuttal to REST
I skimmed Paul Prescod's piece on O'Reilly saying that Google made a mistake by using SOAP to create a programming interface for its search service. It's a familiar debate, it's been going on for a couple of years on XML developer mail lists.
Prescod is an advocate of a philosophy called REST, which suggests that there is a single correct way to expose XML-based services over the Internet. They say that the basic methods of HTTP: GET, POST, PUT, etc are all that's needed to construct an interface for any service that's programmable over the Internet. I don't choose to argue that point, I'll concede that anything you could do with XML-RPC or SOAP could also be done with REST.
However my conclusion is different from Prescod's, I think it's fantastic, wonderful and fabulous that Google exposed their inner-workings over SOAP. And I'd go further to say that I'd be just as happy if they had used REST or XML-RPC.
I think that what goes over the wire is nowhere near as important as the fact an interface to a popular Web application now exists. It gets a lot of minds thinking. When people wanted to write a script to tap into Google's database through SOAP, it was very easy to do. We were able to explore all facets of the interfaces that Google exposed, leaving us wanting more. If Google were to redesign their interface to please a few people, that would be a waste of resources. I want Google to keep pushing, expose more functionality for developers, and let us build even more interesting applications based on their technology.
Because I run a small company that makes applications for people, I am driven to get more functionality that activates minds, and don't have the luxury of being picky about how it works. That it works at all, to me, is a miracle. It's a different philosophy from the advocates of any one way of building XML-based Internet applications.
SOAP is, as Prescod acknowledges, a juggernaut. It's better, imho, to accept that it's here, above all the objections that have been raised. Every service that comes online is potentially a killer app for the next layer of the Internet, one that's not confined to HTML browsing. I'm sure that somewhere in this space is huge growth of knowledge-sharing made possible by tools that work better for more people. That's where the prize is, in the activation of minds.
Yes, you could do it with REST. You don't even need XML, but since that's what's happening, go with the flow, let's make new apps, and let's enjoy this moment, instead of looking back and talking about how it could have been done.