Service Design Patterns

Service Design Patterns : Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services

3.7 (201 ratings by Goodreads)
By (author) 
3.7 (201 ratings by Goodreads)

List price: US$57.99

Currently unavailable

We can notify you when this item is back in stock

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


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.
show more

Product details

  • Hardback | 352 pages
  • 180 x 237 x 26mm | 680g
  • Addison-Wesley Educational Publishers Inc
  • New Jersey, United States
  • English
  • 032154420X
  • 9780321544209
  • 207,395

Table of contents

Foreword by Martin Fowler xi

Foreword by Ian Robinson xiii

Preface xv

Acknowledgments xxiii

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

Summary 11

Chapter 2: Web Service API Styles 13

Introduction 13

Design Considerations for Web Service APIs 14


Message API 27

Resource API 38

Chapter 3: Client-Service Interactions 51

Introduction 51

Request/Response 54

Request/Acknowledge 59

Media Type Negotiation 70

Linked Service 77

Chapter 4: Request and Response Management 83

Introduction 83

Service Controller 85

Data Transfer Object 94

Request Mapper 109

Response Mapper 122

Chapter 5: Web Service Implementation Styles 131

Introduction 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

Introduction 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

Introduction 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

Glossary 277

Bibliography 297

Index 303
show more

About Robert Daigneau

Robert Daigneau has more than twenty years of experience designing and implementing applications and products for a broad array of industries, from financial services, to manufacturing, to retail and travel. Rob has served in such prominent positions as Director of Architecture for and Manager of Applications Development at Fidelity Investments. Rob has been known to speak at a conference or two.
show more

Rating details

3.7 out of 5 stars
- 201 ratings
5 22% (44)
4 40% (80)
3 28% (56)
2 7% (15)
1 3% (6)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X