I think it's fair to say that October 2008 was an important inflection point for many people's understanding of REST principles. It occurred when Roy Fielding expressed his frustration at many so-called "REST" services not embracing the hypermedia constraint. His blog post was entitled "REST APIs must be hypertext-driven", and when I first read it I didn't understand it. At all.
Since 2008 the world has been playing catch-up, and in terms of published books I would say that "REST in Practice" is the key book that provides would-be service designers with the full background they need to fully embrace REST, to be properly RESTful. And there are many benefits in doing so, as the book explains.
So this book is an essential read, basically. After reading it, and after thinking and considering and doing further research online, I went back to Roy Fielding's blog post from October 2008, and this time I understood it.
Although I regard it as essential, I dock a mark from this book because a) I disagree with the "in Practice" title, b) at times it's a tad verbose: less would have been more, and c) too much implementation code is presented for my liking, which wastes space. The real point of this book is to describe modern REST design; I felt the code was totally unnecessary.
So this book give the background understanding. Armed with that, I am getting great joy from using the "RESTful Web Services Cookbook" reference (also from O'Reilly). The Cookbook is the real "in Practice" book. Ironically the Cookbook has no implementation code... there's no need. Instead of code it has Recipes, and this approach works really, really well.
Any REST book from 2008 or earlier must be carefully evaluated in light of understanding the hypermedia constraint. For folk starting with REST, my advice is to start here with "REST in Practice".
It is very well written, very didactic, taking the time to explain the REST concepts and philosophy. Now, it is mostly geared towards .NET and Microsoft's Window Communication Foundation (WCF), which incidentally nicely illustrates the power of REST as an integration architecture, since REST is not at all a Microsoft concept, if you know what I mean. So, excellent if you are a .NET developer or a Microsoft architect. All the same if you come for a different background, but have Microsoft Visual Studio at hand in that case (I used Visual Studio 2010 to run the examples, to good effect).
REST in Practice should be on every software architect's bookshelf. It doubles up as both a well-thought-out tutorial and an indispensable reference to implementing RESTful web services. Pragmatically presenting its ideas in a such a way that does not favour a specific technology, it steps through many real-life situations and successfully manages to capture the original intent behind HTTP and the World Wide Web.
Fundamentally, this book throws open a window to an architectural style that there is little reason not to use when building distributed systems.
Very well wrtiten, on a subject that is complex, vast and dynamic. Provides a very good insight into practical concerns, architectural principles and challenges as well as pragmatic standpoints of design & implementation.