Review: RESTful Web Services
Anyone who has attempted to build a Web Service has come away scarred by the complexity of all the WS-* standards. Heavyweight standards that in many ways reinvent earlier distributed object technologies like CORBA and DCOM, providing Remote Procedure Calls over HTTP. The promised interoperability hasn’t really happened: a web service built with one stack of tools may or may not be consumable by another stack.
A movement has arisen in the last few years, arguing for RESTful Web Services: lighterweight services built on top of the REST architectural style with simpler tools.
Big Web Services expose algorithms and method calls. ROA (REST-oriented architecture) web services expose data (resources) through the simple, uniform interface of HTTP.
I’m not going to try to explain REST or ROA here. Poke around the book site and the RESTwiki if you want more details.
I think this book is destined to be a minor classic. It explains the REST-oriented architecture very clearly. It works through several plausible examples, building services and clients in a variety of languages (most notably Ruby on Rails). It’s not intimately tied to one software stack, which means that the book will still be useful five years from now. In part, that’s because the tools support is fairly weak. As far as I can tell, you’re reduced to rolling your own ROA web service from scratch in .NET, for example.
I haven’t had to dig very deeply into WS-*, fortunately, but I haven’t cared for what I’ve seen. The authors don’t spend a lot of time critiquing what they see as the shortcomings of SOAP and the WS-* standards, but I’m not equipped to find fault in what they say. What they do say, sounds reasonable to me.
Recommended.