Table of Contents
Chapter 1: Introduction
Chapter 2: Case Study Background
Chapter 3: Basic Terms and Concepts
Chapter 4: The Architecture of Service-Orientation
Chapter 5: Understanding SOA Design Patterns
Chapter 6: Foundational Inventory Patterns
Chapter 7: Logical Inventory Layer Patterns
Chapter 8: Inventory Centralization Patterns
Chapter 9: Inventory Implementation Patterns
Chapter 10: Inventory Governance Patterns
Chapter 11: Foundational Service Patterns
Chapter 12: Service Implementation Patterns
Chapter 13: Service Contract Design Patterns
Chapter 14: Legacy Integration Patterns
Chapter 15: Service Governance Patterns
Chapter 16: Capability Composition Patterns
Chapter 17: Message Processing Patterns
Chapter 18: Composition Implementation Patterns
Chapter 19: Service Interaction Security Patterns
Chapter 20: Transformation Patterns
Chapter 21: Common Compound Design Patterns
Chapter 22: Strategic Architecture Considerations
SOA Design Patterns

Return to SOAPatterns.com
Visit to SOAPatterns.org
SOA Design Patterns
by Thomas Erl
(with additional contributors)
Prentice Hall, October 2008
ISBN: 0136135161
Hardcover, Full-Color, ~ 900 pages
Over 400 Full-Color Illustrations

Pre-Order
Rough Cut
View TOC
Public Review


Foreword
Preface

Chapter 1: Introduction

1.1 Objectives of this Book
1.2 Who this Book is For
1.3 What this Book Does Not Cover
1.4 Prerequisite Reading
1.5 How this Book is Organized
1.6 Symbols, Figures, and Style Conventions
1.7 Additional Resources

Chapter 2: Case Study Background

2.1 Case #1 Background: Cutit Saws Ltd.
2.2 Case #2 Background: Alleywood Lumber Company
2.3 Case #3 Background: Forestry Regulatory Commission (FRC)

Part I: Fundamentals

Chapter 3: Basic Terms and Concepts

3.1 Architecture Fundamentals
3.2 Service-Oriented Computing Fundamentals
3.3 Service Implementation Mediums

Chapter 4: The Architecture of Service-Orientation

4.1 The Method of Service-Orientation
4.2 The Four Characteristics of SOA
4.3 The Four Common Types of SOA
4.4 The End-Result of Service-Orientation

Chapter 5: Understanding SOA Design Patterns

5.1 Fundamental Design Terminology
5.2 Historical Influences
5.3 Pattern Notation
5.4 Pattern Profiles
5.5 Patterns with Common Characteristics
5.6 Key Design Considerations

Part II: Inventory Design Patterns

Chapter 6: Foundational Inventory Design Patterns

Inventory Boundary Design Patterns
  Enterprise Inventory
  Domain Inventory
Inventory Structure Design Patterns
  Logic Centralization
  Service Normalization
  Service Layers
Inventory Standardization Design Patterns
  Canonical Schema
  Canonical Protocol

Chapter 7: Logical Inventory Layer Patterns

Service Layers and Logic Types
Business Logic and Utility Logic
Agnostic Logic and Non-Agnostic Logic
Process Abstraction
Entity Abstraction
Utility Abstraction

Chapter 8: Inventory Centralization Patterns

Process Centralization
Schema Centralization
Policy Centralization
Rules Centralization

Chapter 9: Inventory Implementation Patterns

Dual Protocols
Canonical Resources
Canonical Security
State Repository
Stateful Services
Service Grid
Transport Caching
Inventory Endpoint
Cross-Domain Utility Layer

Chapter 10: Inventory Governance Patterns

Metadata Centralization
Canonical Expression
Canonical Versioning

Part III: Service Design Patterns

Chapter 11: Foundational Service Design Patterns

Service Identification Design Patterns
  Functional Decomposition
  Service Encapsulation
Service Definition Design Patterns
  Agnostic Context
  Non-Agnostic Context
  Agnostic Capability

Chapter 12: Service Implementation Patterns

Service Façade
Exception Shielding
Redundant Implementation
Service Data Replication
Service Virtualization
Partial State Deferral
Partial Validation
Human-Process Interaction
Alternative Format

Chapter 13: Service Contract Design Patterns

Decoupled Contract
Contract Centralization
Contract Denormalization
Concurrent Contracts
Validation Abstraction
Uniform Contract

Chapter 14: Legacy Integration Patterns

Legacy Wrapper
Hybrid Service
Channel Agnostic Service
UI Agnostic Service
File Gateway

Chapter 15: Service Governance Patterns

Compatible Change
Version Identification
Termination Notification
Service Decomposition
Decomposed Capability
Proxy Capability
Distributed Capability
Service Refactoring

Part IV: Composition Design Patterns

Chapter 16: Capability Composition Patterns

Capability Composition
Capability Recomposition

Chapter 17: Message Processing Patterns

Service Messaging
Messaging Metadata
Service Agent
Intermediate Routing
Redirect
Asynchronous Queuing
Reliable Messaging
Event-Driven Messaging
Service Instance Routing
State Messaging

Chapter 18: Composition Implementation Patterns

Cross-Service Transaction
Compensating Transaction
Composition Autonomy
Agnostic Sub-Controller

Chapter 19: Service Interaction Security Patterns

Message-Level Security
Direct Authentication
Brokered Authentication
Message Validator
Trusted Subsystem
Data Confidentiality
Data Origin Authentication

Chapter 20: Transformation Patterns

Data Model Transformation
Data Format Transformation
Protocol Bridging

Part V: Supplemental

Chapter 21: Common Compound Design Patterns

Orchestration
Enterprise Service Bus
Broker
Canonical Schema Bus
Official Endpoints
Federated Endpoint Layer
Three-Layer Inventory

Chapter 22: Strategic Architecture Considerations

Architectural Impact of Increased Federation
Architectural Impact of Increased Intrinsic Interoperability
Architectural Impact of Increased Vendor Diversity Options
Architectural Impact of Increased Business and Technology Alignment
Architectural Impact of Increased ROI
Architectural Impact of Increased Organizational Agility
Architectural Impact of Reduced IT Burden

Appendices

Appendix A: Case Study Conclusion
Appendix B: Patterns and Principles Cross-Reference
Appendix C: Patterns and Architectural Types Cross-Reference
Appendix D: Master Patterns List

The Prentice Hall Service-Oriented Computing Series from Thomas Erl
What is SOA?    SOA Glossary    SOA Principles    SOA Methodology    SOA Books    SOA Magazine    About the Author Copyright © 2006-2008
SOA Systems Inc.