Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services
- By Robert Daigneau
- Published Oct 25, 2011 by Addison-Wesley Professional. Part of the Addison-Wesley Signature Series (Fowler) series.
- Copyright 2012
- Dimensions: 7" x 9-1/8"
- Pages: 352
- Edition: 1st
- ISBN-10: 0-321-54420-X
- ISBN-13: 978-0-321-54420-9
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Robert Daigneau is Chief Architect for SynXis, the leader in distribution technology and services for the hotel industry. Prior to joining SynXis Rob served as Director of Application Architecture for Monster.com, one of the most visited web sites in the world. He has more than 18 years' experience designing and implementing enterprise-class applications for a broad array of industries. A frequent conference speaker, he hosts www.DesignPatternsFor.Net.
Web services have been used for many years. In this time, developers and architects have encountered a number of recurring design challenges related to their usage, and have learned that certain service design approaches work better than others to solve certain problems.
In Service Design Patterns, Rob Daigneau codifies proven design solutions for web services that follow the REST architectural style or leverage the SOAP/WSDL specifications. This catalogue identifies the fundamental topics in web service design and lists the common design patterns for each topic. All patterns identify the context in which they may be used, explain the constituent design elements, and explore the relative strengths and trade-offs. Code examples are provided to help you better understand how the patterns work but are kept general so that you can see how the solutions may be applied to disparate technologies that will inevitably change in the years to come.
This book will help readers answer the following questions:
- How do you create a web service API, what are the common API styles, and when should a particular style be used?
- How can clients and web services communicate, and what are the foundations for creating complex conversations in which multiple parties exchange data over extended periods of time?
- What are the options for implementing web service logic, and when should a particular approach be used?
- How can clients become less coupled to the underlying systems used by a service?
- How can information about a web service be discovered?
- How can generic functions like authentication, validation, caching, and logging be supported on the client or service?
- What changes to a service cause clients to break?
- What are the common ways to version a service? How can web services be designed to support the continuing evolution of business logic without forcing clients to constantly upgrade?
This book is an invaluable resource for enterprise architects, solution architects, and developers who use web services to create enterprise IT applications, commercial or open source products, and Software as a Service (SaaS) products that leverage emerging Cloud platforms.
28 of 30 people found the following review helpful
A Great Addition to the Martin Fowler Signature Series,
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... Read more
28 of 33 people found the following review helpful
Far from an authoritative patterns book,
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, I don't feel I "get"... Read more
13 of 14 people found the following review helpful
A refreshing read on service design,
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... Read more
› See all 20 customer reviews...
Online Sample Chapter
Table of Contents
Foreword by Martin Fowler xi
Foreword by Ian Robinson xiii
About the Author xxv
Chapter 1: From Objects to Web Services 1
What Are Web Services? 2
From Local Objects to Distributed Objects 3
Why Use Web Services? 6
Web Service Considerations and Alternatives 7
Services and the Promise of Loose Coupling 9
What about SOA? 10
Chapter 2: Web Service API Styles 13
Design Considerations for Web Service APIs 14
RPC API 18
Message API 27
Resource API 38
Chapter 3: Client-Service Interactions 51
Media Type Negotiation 70
Linked Service 77
Chapter 4: Request and Response Management 83
Service Controller 85
Data Transfer Object 94
Request Mapper 109
Response Mapper 122
Chapter 5: Web Service Implementation Styles 131
Design Considerations for Web Service Implementation 132
Transaction Script 134
Datasource Adapter 137
Operation Script 144
Command Invoker 149
Workflow Connector 156
Chapter 6: Web Service Infrastructures 165
Service Connector 168
Service Descriptor 175
Asynchronous Response Handler 184
Service Interceptor 195
Idempotent Retry 206
A Quick Review of SOA Infrastructure Patterns 220
Chapter 7: Web Service Evolution 227
What Causes Breaking Changes? 228
Common Versioning Strategies 232
Single-Message Argument 234
Dataset Amendment 237
Tolerant Reader 243
Consumer-Driven Contracts 250
How the Patterns Promote or Hinder Service Evolution 264
Appendix: Reference to External Patterns 269
Download the sample pages (includes Chapter 1 and Index)
Book + eBook Bundle
Book Price $43.99
eBook Price $15.40
eBook formats included
This book includes free shipping!
This book includes free shipping!
Includes EPUB, MOBI, and PDF
About eBook Formats
This eBook includes the following formats, accessible from your Account page after purchase:
EPUBThe open industry format known for its reflowable content and usability on supported mobile devices.
MOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDFThe popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discretely watermarking it with your name, making it uniquely yours.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.