Friday, July 13, 2007

RESTful Web Services

As promised, here's my quick book review for RESTtful Web Services by Leonard Richardson and Sam Ruby.

This book has a wealth of conceptual information for what the authors have dubbed "Resource Oriented Architecture". They identify three different categories of web services, "Big" web services (those that use WSDL and SOAP stacks), REST-RPC hybrid services, and strictly RESTful web services. They describe the pro's and cons of each, and present a good case for RESTful services.

I set out to create my own RESTful service, and this book really helped me to clarify and design it correctly. For java developers, unless you know ruby or have a strong desire to learn it, feel free to skip Chapter 7, where the authors implement a RESTful service using RoR. The implentation details of this book aren't what makes it great, it's the concepts it describes, so don't get bogged down in the details if you don't need to. In fact the restlet.org website has restlet implementations of all the examples in the book. That's going to help a java guy much more than the ruby examples. The section on restlets is brief but useful for getting started, I read this section at least three times.

The restlet framework has been a joy to work with so far, and I'll probably be releasing the source to my restlet implementation very soon.

If your interested in learning REST, and want to understand it in more developer-friendly language than Fielding's now famous dissertation, then I highly recommend reading this book.