Customer Reviews


29 Reviews
5 star:
 (19)
4 star:
 (3)
3 star:
 (3)
2 star:
 (2)
1 star:
 (2)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 

The most helpful favorable review
The most helpful critical review


34 of 37 people found the following review helpful
5.0 out of 5 stars A Great Addition to the Martin Fowler Signature Series
I have been a fan of the Martin Fowler Signature Series for a long time. This book fit into the series great and filled in a missing link in the series.

One of the things I liked seeing was that the author does not think web services are a silver bullet. Right off the bat he warns that web services should be reserved for situations which out-of-process and...
Published on November 12, 2011 by T. Anderson

versus
34 of 41 people found the following review helpful
3.0 out of 5 stars Far from an authoritative patterns book
SUMMARY: This book might have presented some interesting topics and patterns for discussion and debate, but it is far from an authoritative patterns book. It lacks "The Narratives" in PoEAA, while the patterns in it lack the usefulness of those found in EIP.

When I saw this book on the Amazon, I purchased the printed book straight away without having had a...
Published on December 27, 2011 by George Jiang


‹ Previous | 1 2 3 | Next ›
Most Helpful First | Newest First

34 of 37 people found the following review helpful
5.0 out of 5 stars A Great Addition to the Martin Fowler Signature Series, November 12, 2011
Verified Purchase(What's this?)
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
I have been a fan of the Martin Fowler Signature Series for a long time. This book fit into the series great and filled in a missing link in the series.

One of the things I liked seeing was that the author does not think web services are a silver bullet. Right off the bat he warns that web services should be reserved for situations which out-of-process and cross-machine calls "make sense".

The book is broken down into seven chapters, an appendix, and a nice glossary. The chapters include From Objects to Web Services, Web Service API Styles, Client-Service Interactions, Request and Response Management, Web Service Implementation Styles, Web Service Infrastructures, Web Service Evolution, and an appendix Reference to External Patterns.

I felt the book worked at the right level of abstraction digging into details when needed to shed a deeper light on the subject at hand.

Each chapter contains several related patterns. Each pattern answers a primary question. For example chapter one Web Service API Styles cover the following 3 patterns that answer the question that follows below.

RPC API - How can clients execute remote procedures over HTTP?

Message API - How can clients send commands, notifications, or other information to remote systems over HTTP while avoiding direct coupling to remote procedures?

Resource API - How can a client manipulate data managed by a remote system, avoid direct coupling to remote procedures, and minimize the need for domain-specific APIs?

The other patterns covered in the book include Request/Response, Request/Acknowledge, Media Type Negotiation, Linked Service, Service Controller, Data Transfer Object, Request Mapper, Response Mapper, Transaction Script, Datasource Adapter, Operation Script, Command Invoker, Workflow Connector, Service Connector, Service Descriptor, Asynchronous Response Handler, Service Interceptor, Idempotent Retry, SOA Infrastructures, Breaking Changes, Versioning, Single Message Argument, Dataset Amendment, Tolerant Reader, and Consumer-Driven Contract.

Like the other pattern catalogs the book contains an online catalog of the patterns in the book. Although the online catalog gives you an overview of each pattern, the book contains a lot more detail about each one. I like the online catalogs. I often visit them to spark my memory about the patterns that I have read about in the books.

I like that the book limited its scope to the fundamental patterns relevant to web service design. It does not try to be all encompassing, which I think made it better than if the author had tried to be. The book does not cover enterprise integration patterns, workflow or orchestration, security, event-driven architecture, or choreography. The book does include a nice reference to external patterns in the appendix that provides a summary and where to go for more information.

I think each pattern is explained really well and the examples used do a great job of showing a possible implementation. I liked the end of chapter 7 where the author provides a nice summary about how each pattern hinders or promotes evolution.

The book also includes a nice glossary that provides quick reference to additional information on topics mentioned in the book.

The author does an awesome job of providing examples in different technologies throughout the book. The author uses a nice mixture of .NET and Java technologies. Some of the technologies used are JAX-WS, JAX-RS, JAXB, JSON, XML, Xpath, XSLT, WSDL, DataContractSerializer, XmlSerializer, and WCF. To top it off the author's writing style makes the reading really easy.

All in all I think every architect and developer should have this book on their shelf.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


16 of 17 people found the following review helpful
5.0 out of 5 stars A refreshing read on service design, January 7, 2012
By 
Jeff Bouchard (Newton, MA United States) - See all my reviews
Verified Purchase(What's this?)
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
I found Service Design Patterns to be a refreshing and well-crafted book. I would expect nothing less from anything accepted into the Fowler series. The author is quite clear from the very beginning that this book is intended to get the reader familiar with the most common approaches for implementing services. At first inspection of this statement, I expected to read lots of problem statements, with pattern definitions, and code samples to follow that mapped directly to SOAP/WSDL and REST. I was pleasantly surprised.

In the pages of the very first chapter this book challenges your standard thought on Service Architecture. Over the years I have asked many colleagues why they think SOA is a superior architecture. Often I have received the response that it reduces complexity, provides loose coupling, and is the most reliable way to allow disparate systems to communicate. Naturally, the next question is, well how are those objectives met? That question tends to put a wrinkle on the face of some of the most seasoned software architects. This book presents those questions, and paints candid responses before you get to page 10.

As you advance through the chapters, the author did a great job at codifying various approaches to web service design in a way that's not specific to any particular technology or specification. The pattern descriptions are easy to read, help the reader understand how to choose between them and the contexts in which to use them. The book provides an easy to reference handbook that classifies the patterns into categories that really make sense, and I think it gives practitioners a very useful vocabulary. Although the title says it's about creating services for SOAP/WSDL and REST, it's not a book about either. I am glad the author took this approach as there is plenty of material on both of these subjects. It might have been helpful for the author to address this up front.

Long story short, this book does a nice job of bridging the gap between Patterns of Enterprise Application and Enterprise Application Architecture. A nice reference book.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


34 of 41 people found the following review helpful
3.0 out of 5 stars Far from an authoritative patterns book, December 27, 2011
By 
George Jiang (Sydney, Australia) - See all my reviews
Verified Purchase(What's this?)
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
SUMMARY: This book might have presented some interesting topics and patterns for discussion and debate, but it is far from an authoritative patterns book. It lacks "The Narratives" in PoEAA, while the patterns in it lack the usefulness of those found in EIP.

When I saw this book on the Amazon, I purchased the printed book straight away without having had a quick read of the book, say from a pdf you can download on the Internet, since I really enjoyed reading the other two pattern books in the Martin Fowler series, i.e., Patterns of Enterprise Application Architecture (PoEAA) and Enterprise Integration Patterns (EIP).

It turns out to be a disappointment with this book.

Why? First, with the other two patterns books, in some cases I learned/relearned some core concepts of Enterprise Application or Enterprise Integration, while in other cases I learned some best way to describe what I had already learned from experience. Unfortunately, That has not been the case with this book about SOAP based Web service or REST Web service, except "situations in which out-of-process and cross-machine calls 'make sense'" (page 8).

Second, the patterns in the book generally try to prescribe what industry has been actually doing (often using a different vocabulary). The problem starts when you try to have a more clear understanding of the patterns by reading the examples for the patterns and by trying to make a connection between the patterns and actual SOAP or REST implementation technologies.

Take chapter 2 Web Service API patterns as an example. After reading the three patterns (RPC API, Message API and Resource API), you would think the SOAP document/literal wrapped style or SOAP RPC style are typical implementation of the RPC API pattern, SOAP document/literal bare (unwrapped) or POX as typical implementation of the Message API pattern.

No, not according to the explanation the author gives for the examples.

This is how the author explains the difference between RPC API and Message API (page 31), "Notice that each operation receive a single message argument. This is one very subtle characteristic that differentiates RPC APIs from Message APIs. While the former ..., Message APIs that leverage WSDL are specifically designed to receive a single message argument". But when you turn to page 234, there is actually a Single Message Argument patten for RPC API. What does the author really try to say? Convert RPC APIs to Message APIs by using the Single Message Argument pattern? :-)

Another peculiar in the book is to associate "Service Interface Classes" exclusively with generated service interface code in the contract-first approach (page 179) and describe the code-first approach as "In the Code-First practice, developers create annotated Service Controllers in languages like Java and C#" (page 180). While in reality, for RPC API and Message API, the widely used and more sound practice with code-first is to create annotated "Service Interface Classes" in Java or C# first and then write Service Controller that implements the interface.

There are definitely some good sections/patterns in the book. The sections/patterns I found beneficial are: Resource API (page 38), Request - Acknowledgement (page 59) and Asynchronous Response Handler (page 184).

Overall, this book might have presented some interesting topics and patterns for discussion and debate, but it is far from an authoritative patterns book. It lacks "The Narratives" in PoEAA, while the patterns in it lack the usefulness of those found in EIP.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


9 of 10 people found the following review helpful
4.0 out of 5 stars Formalization of commonly used patterns, March 4, 2012
By 
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
This book discusses many of already commonly used patterns in the industry concerning web services. Each pattern has code examples, and the nicest part is the very reasonable "Considerations" part, which has a list of items to consider before using any of the patterns.

However, if you have been working with web services for some years and have kept up with the changes and trends, you will not necessarily learn much from this book. It's not a long book, so it may be worth your time reading it to fill any gaps in your understanding of web services. For anyone new to web services, though, this is a must read to understand the common patterns before moving on with any trendy way of doing things.

Also, this book is an attempt to formalize many of the patterns that the industry already follows - at least I've seen many companies following them in a way or another. It is good that we all have the same terminology, but on the other hand, it doesn't really get into a lot of details of each pattern, so the the reader needs to research further if s/he wants to deepen his/her knowledge. For each of these patterns - just like in a recipes book - the author gives an example (either in Java or C#) and he was able to keep them short enough but focused on the patterns he wants to show.

From my own experience, these are some patterns or areas I'd include in the book to make it more complete:
- Client-service interaction: long polling. Other than a regular Request/Response, nowadays you see services with long polling, which can be a quite important pattern to use depending on your use case. This pattern has been out for so many years that I surprised not to see it in this book.
- Service Interceptors: this is a really important and probably can be a book of its own, but I'd love to see more patterns on how certain things like exception handling and validation could be done and pros/cons of each approach. Oftentimes these are areas that many service developers get wrong and having patterns here would help steer them into the right direction (rather than realizing later the mistake). The author touches briefly on them from a high level, but there are different ways of the doing the same thing, and it deserved a little more attention in my opinion.
- Operation concerns: typically if one has a service, it tends to be a system that is supposed to be highly available, so service developers want to minimize downtime. For that, you must have a "devops" mindset to know where to put the right logging, where to log metrics for performance, in what places to log errors, how to handle log files. There are so many pieces of advice around operations - but unfortunately I did not find a book on them yet, so developers still need to learn from practice.

Last but not least, note that this book doesn't talk service architecture. It doesn't get into details of how to architect the service, including scalability, reliability, etc. You would need to find other option for that.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful
1.0 out of 5 stars A real let-down compared to other books in this series, January 5, 2014
By 
Verified Purchase(What's this?)
There's a fair amount of discussion on the SOAP/WSDL topic, but very little practical information that isnt obvious. Compared to other books in this series which are awesome, this one is by far the weakest from a content perspective. The weak content, coupled with the fact that SOAP really is a dead mechanism (I've not done anything other than JSON/REST for the last 5 years) makes this book a bad purchase (at least for the work I'm doing).
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 5 people found the following review helpful
3.0 out of 5 stars Disappointed - But still a good book, November 22, 2012
Verified Purchase(What's this?)
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
I've enjoyed several of the books in the Martin Fowler series - and was predisposed to have a very positive impression of this book, before I even opened the cover. However, one point is worth noting:

There is value here - however, the short-shrift / sparsity of discussion given to RESTful web services - even though it is quite visible in the subtitle of the book's name - left me, as a consumer, feeling a bit cheated. Perhaps a much better value for money spent, could be Thomas Erl's 'SOA with REST: Principles, Patterns & Constraints for Building Enterprise Solutions with REST' - at 624 pages, versus the 352 in this book (although 268 would be a fairer number (excluding the Appendix, Glossary, Bibliography, and Index) . A quick review of the table of contents for Erl's book should give you a fairly good feeling for the deeper level of RESTful patterns discussed therein.

To truly explore the topic of design patterns - certainly one needs to at least give equal measure to the discussion of anti-patterns. Particularly with regard to the way that RESTful services are often incorrectly designed.

Another almost trivial and minor aspect of the book that grated on my reading pleasure: the introduction of some different names for a few patterns that were already fairly well known and established within the SOA literature prior to the publication of this book.

Perhaps a more generous criticism could be that the author attempts to tackle a fairly large task - and the constraints of covering so many topics in a book of this length, must necessarily result in a lighter touch. As the subtitle itself calls out ("Fundamental Design Solutions....") and the author himself points out in the Preface on page xxi - "The content of this catalog has therefore been constrained to only include the most fundamental solutions relevant to web service design".

...Which leads me to agree with a sentiment expressed by another reviewer [George Jiang] - "it is far from an authoritative patterns book".

A few possible suggestions for things that could enhance the value of the book for other readers:
- A github code repository to provide worked examples of the book's patterns
- A discussion of possible performance trade-off considerations when considering different patterns
- [even better] a set of unit test of the worked examples to compare and contrast performance considerations
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


6 of 8 people found the following review helpful
5.0 out of 5 stars THE Book for Designing Web Services, January 8, 2012
Verified Purchase(What's this?)
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
I was searching for this book even before it existed. I have designed and implemented many web services, and have lead several teams in the designing and implementing them. For this, I've consulted a lot of design pattern and SOA literature, both technology-specific and technology-agnostic, and have learned a lot of lessons the hard way. I always felt that there needed to be a book specifically targeting the design of web services. So, I was very happy when I found out about this book before it came out. And, after looking at the web site and a rough cut, I knew that the book I had been looking for had finally been written.

Because services have become so prevalent in software development, there is a great deal of tooling support for them. Both the creation and consumption of web services can often be performed with a couple mouse-clicks. While this is great for supporting Rapid Application Development, it has lead to a lot of under-designed services. This under-designing doesn't hurt at the beginning of the project, when it's easier to fix. It hurts towards the end, or after delivery. You will be shown how to prevent this.

This book belongs beside the likes of Patterns of Enterprise Application Architecture and Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions on every software developer's bookshelf. It follows all of the conventions that a patterns book should follow, and is excellently organized and written. There is no fluff in this book either. Virtually every page has value, and everything explained at the right level of detail.

You will become better at designing and implementing services at a time when such a skill-set is in VERY heavy demand by reading and internalizing the information in this book (as well as using it as a reference). Because SOA and Design Patterns are buzzwords, there are a lot of non-substantive books in these areas. This is NOT one of them.

From this point forward, I will be making sure that this book is available to the software teams I work with. This book needed to be written, and it is evident that the right people ended up writing it.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1 of 1 people found the following review helpful
2.0 out of 5 stars Code examples are difficult to read; repetition; plus repetition of POSA., December 20, 2013
By 
BW "BW" (New England) - See all my reviews
I found this book to be a survey of different technologies to connect a client to a server(s). The code examples of each were very difficult to grok, due to the custom annotations of each package, or the specific technology's XML markup for, example, input & output params. So, I couldn't bring myself to read them.

Beyond the code examples, I found lots of repetition through this book. For instance, the concept of an Request / Acknowledge usage kept being re-explained through the book, rather that a light intro to the topic, and then a single, Pattern explanation, like POSA did.

Finally, many POSA patterns were repeated here (w/ proper reference to the orig). I don't need to read about the Transaction Script in both POSA, AND this book!
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 4 people found the following review helpful
5.0 out of 5 stars Top-shelf Worthy, February 6, 2012
By 
Amazon Customer (Old Bethpage, NY United States) - See all my reviews
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
If you are like me, your bookshelf is ordered by your favorite books at the top. My "top shelf", I have The C++ book by Bjarne Stroustrup, a copy of the original Design Patterns book by GoF, and a well used-copy of the Enterprise Integration Patterns book by Hohpe and Woolf. This book will find a permanent place on my top-shelf. Service Design Patterns covers the patterns pertaining to the web services world, with a focus on REST and RESTful Web services.

In summary: this book is well organized, well written and most importantly, well referenced. You will find many references to the aforementioned design patterns books that will not only aide the learning process, but gives the reader the full picture of the topic being discussed.

The author takes a bottom-up approach with first looking at various API-styles used by programmers to code Web services. Right off the bath (p38-49), REST is defined and explained. If you have not read Fieldings dissertation on software architecture and system patterns which essentially explains the six attributes of a RESTful system, you should read the Resource API pattern first.

Going up one layer to what the authors calls Client-Server Interaction Styles, patterns like Request/Response, Request/Ack, etc are covered that are pivotal for any distributed system frankly.

What to do after you have setup a protocol of communication, and properly formatted request, you need to determine how to best execute that request. After all, your system will have many users, many requests and potentially various QoS requirements.

Once a request is properly managed, the request needs to be processed. Will this be a transaction? How do you interface with a database? How you deal with multiple interfaces and still have a single business logic?

The following two sections cover details of Web services infrastructure and performance, and focuses on the operational and operational readiness of a web services deployment. Topics such as how to avoid blocking on a request and how to ensure stability when responses are not as desired or the format of message received is unknown.

All and all, Robert Daigneau did a fantastic job with this book. I highly recommend this book to any system architect.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 4 people found the following review helpful
5.0 out of 5 stars Very good collection of patterns, January 30, 2012
This review is from: Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services (Hardcover)
As with many pattern books, my first reaction was "I know all this". But as usual, this isn't true to the degree one likes to believe, as there is always additional perspective to be found, and even more importantly, it's the whole point of pattern collections to describe stuff that is well-known and part of industry folklore. I enjoyed this book and will recommend it, specifically because it's a good resource (pun intended) for those who want to apply REST to their service design.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 2 3 | Next ›
Most Helpful First | Newest First

Details

Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
$57.99 $37.41
In Stock
Add to cart Add to wishlist
Search these reviews only
Rate and Discover Movies
Send us feedback How can we make Amazon Customer Reviews better for you? Let us know here.