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

By Robert Daigneau

Published by Addison-Wesley Professional

Published Date: Oct 28, 2011

More Product Info

Description

This is the Safari online edition of the printed book.

Domain services are the foundation for service oriented architectures: the crucial building blocks upon which all enterprise services are built. Service Design Patterns is the complete practitioner’s catalog of proven patterns for implementing efficient, robust domain services. Using this book’s patterns, architects and other IT professionals can overcome the most common technical obstacles to success with SOA, and leverage all the value SOA is intended to provide.

 

Leading SOA architect Rob Daigneau begins by reviewing SOA concepts, illuminating the distinctions between enterprise and domain services, and identifying key relationships between domain services and other pattern groups. Next, using concrete Java and C# code examples, he introduces each essential pattern for creating and delivering domain services, offering a complete vocabulary of easy-to-adapt design solutions.

 

This book builds on the field’s best work in enterprise patterns. Daigneau expands upon Fowler’s valuable Service Layer concept (covered in Patterns of Enterprise Application Architecture) and shows how domain services can be used with Enterprise Integration Patterns (made famous by Hohpe and Woolf). Coverage includes 

  • Understanding the primary API styles used by web services, and selecting the right approaches for each requirement
  • Mastering foundational patterns for all client/service interactions and data exchange conversations
  • Identifying common Service Layer entities for efficiently managing web requests and responses and decoupling clients from underlying systems
  • Efficiently implementing services, ranging from coordination with Object Relational Mappers (ORM) to direct legacy API calls
  • Providing for generic, reusable SOA infrastructure tasks
  • Implementing versioning to keep clients working properly as they evolve
  • Augmenting services to serve new requirements while avoiding major new releases
  • Accurately setting stakeholders’ expectations for major SOA initiatives 

This book is an invaluable resource for all architects and developers working with web services or SOA. It is equally valuable to enterprise IT professionals, as well as those creating commercial, open source, or SaaS/cloud software for external use.

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

RPC API 18

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

Purchase Info

Buy Access

ISBN-10: 0-321-66963-0

ISBN-13: 978-0-321-66963-6

Format: On-line Supplement

$54.99

You can purchase immediate access to this online product with a credit card.