Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
Programming

Submission + - RESTful Web Services (oreilly.com)

Bbazzarrakk writes: "I always try very hard to resist gushing about any book I'm going to review for other people. There are just too many differences of opinion on what makes for a good book to ensure that what I like will also be what you like. That said, I think it's fair to warn you now that I doubt I'll be able to hold back when talking about RESTful Web Services. This is a sensational book and, though it is a bold statement to make, I'm quite sure anyone interested in the subject matter is really going to enjoy it.

It's pretty rare to see a book that successfully defines a new school of thought, but I bet most of us can point to a few such titles and that we hold those titles in high regard. RESTful Web Services is such a book. While nothing in these pages was really invented by the authors per say, they have definitely collected a major resource of practical knowledge and best practices.

It's really that pragmatic emphasis that makes the book so valuable too. REST discussions are often so idealistic that it's hard to take much away from them besides all the clever quotations. This books avoids all that. This is usable REST, the kind you can code up and put to work today.

The book begins by defining the landscape of RESTful Web Services. Right off the bat you learn how clever the authors really are as they casually win you over to their cause by studying the competition. They classify and walk through examples of every type of Web Service in common usage today. They even cover the services that aren't easily classified. The best part is, the REST example service they selected isn't perfect. While it does most things quite well, it misses the ideal REST implementation mark by a few minor points. This complete immersion in the real world of Web Services leads you to make up your own mind about REST and what it can do for you, not to mention providing a terrific amount of background for what is to come.

The book uses this study to build up proper definitions for REST and Resource-Oriented Architectures (ROA). These definitions follow so naturally from the earlier exploration that it's surprising to learn these concepts have been hard to classify until now. Furthermore, your trip to these definitions is so natural that you will have a real instinct for how to employ them to the best advantage in your own projects.

The meat of the book includes plenty of examples. What's great about the examples is how the authors remember to cover both the design and implementation sides of the process. You even get to see where these sides get each other's way and minor concessions are made to bridge the idea with reality. I can't stress enough that this is practicality all the way.

The back of the book includes complete references for HTTP response codes and headers that you will wonder how you ever lived without. Each definition in this section includes suggestions for the correct usage of these often cryptic pieces of metadata. The authors even tell you what to skip altogether when it's not worth your effort to learn.

The primary programming language used in the book is Ruby, but the content really transcends language specifics. I'm sure any intermediate programmer could adapt the sample code to their favored language with a little effort. The book does include short descriptions of frameworks in Java and Python, in addition to Ruby.

One aspect that truly astounded me was just how much wonderful peripheral knowledge this text sneaks in as you read. I learned valuable tidbits about HTTP, Amazon.com's Simple Storage Service, microformats, and more. You'll find side discussions on how newly popular Web tools, like Ajax and JSON, fit into the RESTful picture. This domain knowledge really rounds out book's content, making it all the guide you need to get going.

I'm sure the book has minor flaws. What doesn't? But honestly, any shortcomings are eclipsed by everything this book does right. Because of that, I can't even remember anything bad to mention.

If you work with Web Services, you will want to pick up a copy of this book. If you are in a position that requires you design Web Services this book ought to be required reading. It just does too much for your understanding of the goals to overlook.

Though it is cliché to say so, this book is the new Bible for Web Services. We can only hope it will catch on like wild fire and revolutionize the services we will be interacting with more and more in the future. Everybody wins if it does."

Slashdot Top Deals

It is not best to swap horses while crossing the river. -- Abraham Lincoln

Working...