First the movie, now the book
As previously noted, Leonard Richardson and Sam Ruby’s RESTful Web Services is out. If you’re not already on the RESTful (Rails) path, or any other “just works” alternative, might be a good idea to equate yourself with the principles of building simple, elegant solutions that do not require a house cards tooling to work (if and when).
I have not read the book myself, but I did get to see an early draft (thanks Leonard), so I can echo Thomas Beck when he says:
Every IT generation has its seminal tome that transcends time and connects the dots in a way that no book had before it. For the object oriented generation in the 1980s, it was the Gang of Four (GoF) book. For the application architecture generation in the 1990s, it was Fowler’s book on patterns (PoEAA). “RESTful Web Services†will be, in my opinion, that book for the 2000s Web services generation.
I don’t think it’s about messaging and protocols and scaling. Neither about a lightweight alternative to WS-*. And definitely not about passing the REST Compatibility Toolkit and implementing Enterprise REST 2.0 Capabilities in your next product.
It’s about simple, elegant design principles, starting from the bottom and building your way up.
Wired
Speaking of simple, and this will only take a few minutes, check out Hampton Catlin’s make_resourceful presentation (PDF). This will change the way you look at Rails. Whether you plan on using it or not, there’s a lot of inspiration in make_resourceful.
Tired
Also of interest, WSDL 2.0 is now a “proposed recommendation”, one step away from being a recommendation, which tool vendors fondly refer to as a standard (the W3C being an organization for the publication of recommendations, does not in itself issue standards, regardless of what your RFP requested that we implement in our product).
Although I never found WSDL 1.1 lacking in this regard, WSDL 2.0 does indeed improve on it in four areas. It’s longer, more convoluted, incomprehensible to human beings, and obfuscated, although I do believe the later is a form of text-based DRM.
Either way, it’s a shame because WSDL 2.0 … get this … seems to have well rounded support for describing PRS(*), from first look, it actually looks completed (at least fixes all problems in earlier drafts). I’m just wondering if it’s not a too much, too late.
PRS: Predictable RESTful Service, a service implemented by honoring HTTP verbs and resource URIs, in such a way that all outputs can be predicted before any inputs are made, and all URIs can be decided before URIs are questioned, thereby making it toolable.