Most patterns books contain very little new information, usually they just provide terminology for things an experienced developer has seen or done countless times. As such, I admit it is somewhat unfair for me to feel the way I do about Service Design Patterns: that contains staggeringly little new information for an experienced developer. I knew not to expect to learn a great deal, but I still managed to find even less information than I expected.
I think about 70% of the book will be immediately recognizable to anyone who has done any web service work before, and it won't particularly be new terminology, it's generally the standard terminology present in virtually any documentation. This is not to say it's a bad book; it's not bad, it's actually very well-written, well-organized, and very clear. The problem is that there simply doesn't seem to be enough material for an entire book here, and it often feels like the text is padded with common knowledge.
There were two things that really irked me about the book. One was that it contained mention of Resource API as an approach to designing a web service API, but contained very little about REST beyond the absolute basics. I realize entire books have been written about properly designing RESTful APIs, but as I mentioned this book feels padded, so it could have easily stood a more thorough treatment.
My biggest complaint with this book was its treatment of the issue of web service versioning. Versioning web services is mentioned, and the reasons to do so are enumerated, but very little guidance is provided for how to do so effectively. In my experience, properly versioning a web service API is one of the most challenging aspects of designing such an API. Obviously it's not difficult from the perspective of the external API itself, you just throw a version number in the URL or something, but it's very challenging in implementation. If you're at version 10 and a request comes in for version 3, what do you do? Do you have a request mapper for 3->10, process, and then a response mapper for 10->3? If so, then introducing 11 means writing 20 converters. Do you just write a 3->4 and a 4->3 when you introduce 4, then chain them together? It's all very complex and difficult to do properly, and I was hoping for some practical guidance. But instead, it has one of the weakest treatments in the book, without even the level of source code present for even trivial patterns elsewhere in the book.
The book is good overall, but it's not great. It doesn't offer much in the way of new information or even insight into existing information. It does the basic job of a patterns book, in that it provides shared terminology, but the bulk of that terminology is standard in web service documentation anyway, so even that is unlikely to add much. I'd say it's worth reading if you're really new to web services, and maybe worth skimming quickly if you're more experienced.