REST for scalable, fault-tolerant, asynchronous event-driven distributed systems? Really?
This is precisely the motivating factor that Jim Webber and co. had for writing REST in Practice. After reading the book I’m definitely someone who believes they could be onto something.
Using an Atom feed to expose a list of events is nothing new. It’s a tried-and-trusted formula, proven many times over in the wild online jungle of internet blogs. Interestingly, though, It’s also a key ingredient in building RESTful event-driven applications using the REST in practice model.
But that’s jumping the gun a bit. REST in practice builds up from the foundations of HTTP web services.
Turning over the first few pages of REST in Practice you will get the watered-down academic version of REST fundamentals, including it’s history. This chapter teaches you that REST is inspired by studies of what makes the web itself successful.
Chapters 2 - 4 continue to build from the ground up with some solid examples, using a fictitious online coffee shop called RESTbucks. These examples aren’t RESTful, though; they are just progressive enhancements of a simple XML web service.
Chapters 2 - 4 do introduce concepts that are relevant to REST - URI templates and resources. The authors do a fantastic job of making it clear that this is just lightweight use of HTTP and is not RESTful (most people think this is RESTful unfortunately).
Hypermedia, Events and ATOM
You finally get to the real meat of the book in chapters 5 - 7. In these chapters you learn enough about hypermedia and using Atom RSS feeds to expose events, to finally unearth what this book is all about.
Throughout these chapters the familiar RESTbucks examples are continued.
I built a few toy RESTful, event-driven applications after reading this chapter. Looking back the content was very useful.
Ditch the Code Samples
I think all of the code samples were duplicated in C# and Java. This was a little frustrating. But overall I don’t even think the code samples are needed at all, and often found myself skipping them.
I think the authors should have just focused on what goes across the network in HTTP requests and responses. I don’t think the code samples helped, really.
Bit of an Academic Feel.. But Worth the Pennies
I really enjoyed this book, but I felt awkward here and there due to the slightly academicy tone. For some people that’s not a problem; for me I like a bit of character - almost like the author is my best mate and we’re talking about REST while playing a few games of FIFA on PS3.
While some books do have that conversational tone, it’s only a minor person-specific 'criticism' of what is an exceptional book. It’s a book that will teach you new concepts and may change the way you think about building distributed systems….
.. definitely worth the pennies and a weekend of your reading time.