Return to Home Page
Overview
    History
    Acknowledgements
    Podcasts
    Notification Form
    Feedback Form
    Press Release #1
    Press Release #2
    Press Release #3

Master SOA Design
Pattern Catalog
    Master Pattern List (alphabetical)
    Master Pattern List (by category)
    Master Pattern List with
Page Numbers (PDF)
    Master Pattern List (Text)
    Pattern Notation
    Pattern Profiles
    Symbol Legend
    Pattern Contribution Form

SOA Candidate Patterns
    SOA Patterns Review Committee
    Candidate Patterns Overview
    Candidate Patterns List
    Candidate Pattern Contribution Form
    Candidate Pattern
Feedback Form
    SOA Pattern Template

Design Pattern Basics
    What's a Design Pattern?
    What's a Design Pattern Language?
    What's a Compound Pattern?

Supplemental
    SOA Patterns and Application Technologies
    SOA Design Patterns Historical Influences
    SOA Design Patterns and Design Principles
    SOA Design Patterns and Design Granularity
    Legal

Resources
    Design Patterns Publications
    Reference Posters
    SOAPrinciples.com
    WhatIsSOA.com
    SOA Visio Stencil

About the Book



SOA Design Patterns
by Thomas Erl

For more information visit: www.soapatterns.com

Related Publications


"Introducing SOA Design Patterns", SOA World Magazine (PDF)



"The Case for Single-Purpose Services: Understanding the Non-Agnostic Context and a Strategy for Implementation", SOA Magazine (HTML)



"REST-Inspired SOA Design Patterns", SOA Magazine (HTML)



"Service-Orientation and Object-Orientation Part I: A Comparison of Goals and Concepts", SOA Magazine (HTML)



"Service-Orientation and Object-Orientation Part II: A Comparison of Design Principles", SOA Magazine (HTML)



"Service Facade", InformIT (HTML)



"Non-Agnostic Context", InformIT (HTML)



"Domain Inventory", InformIT (HTML)



"Service Normalization", InformIT (HTML)



"Service Decomposition", InformIT (HTML)



"Canonical Schema", InformIT (HTML)



"Policy Centralization", InformIT (HTML)





Welcome to SOAPatterns.org, a site dedicated to the on-going development and expansion of the SOA design pattern catalog. You are encouraged to use, review, and contribute to the content on this site.

 
View the SOA Design Pattern Catalog
You can browse through the design patterns by clicking on one of the short-cut links to the right or opening up one of the following master lists, each of which displays the entire pattern catalog in a different sorting order:

•  Master Pattern List (alphabetical)

•  Master Pattern List (by category)

Via any of these links you can access pattern profile tables, which provide condensed pattern descriptions based on a standard set of sections. Note that these pages are comprised of excerpts from the book SOA Design Patterns, which contains the full pattern descriptions and all of the necessary supplementary chapters.

If you are new to SOA design patterns, you should familiarize yourself with the sections, conventions, and notations used to document pattern content by studying the Pattern Profiles, Pattern Notation, and Symbol Legend pages. You can also get a concise overview of the SOA design patterns catalog by reading the Introducing SOA Design Patterns article.

If you are new to design patterns altogether, you should begin by reading through the pages under the Design Pattern Basics section in the navigation bar to the left.

Listen to Podcasts from Pattern Authors
A series of over 20 audio podcasts is being recording, hosted by SOA Journalist Joe McKendrick who interviews the SOA design pattern authors about their contributions and insights. Be sure to check the Podcasts page for the complete list as the podcasts become available. The newest recordings are also available here:

  Advanced Service Versioning

  Namespaces in SOA

  Three Specialized SOA Design Patterns

  Versioning in SOA

  The ESB and Related Messaging Patterns

  Introduction to SOA Design Patterns

  Understanding the Service Inventory and Related
      SOA Design Patterns

  Data-Related SOA Design Patterns

  Service Contract-Related SOA Design Patterns

  Service Governance Patterns for SOA

  Foundational SOA Design Patterns and the
      Separation of Concerns


View the Candidate Patterns
This site was originally used to publish the first draft of the SOA Design Patterns manuscript for an open industry review. Now that it provides access to the finalized master SOA design patterns catalog it continues to serve as a community review site for candidate patterns - proposed patterns considered "not yet ready" for inclusion in the master pattern catalog. Candidate patterns are made available for open review and feedback until they reach a state where they are considered sufficiently validated and mature so that they can be moved to the master pattern catalog.

To browse these patterns, visit the Candidate Patterns page.

Provide Feedback and Pattern Reviews
While the master pattern catalog already went several years of exhaustive reviews, there is always room for improvement. As a member of the SOA community you are welcome to provide your opinions and comments about any of the existing SOA design patterns.

You are especially encouraged to provide feedback about candidate patterns because these patterns have been proposed but not yet accepted into the master pattern catalog. Comments and experiences that validate the patterns are just as helpful as any constructive criticism you can provide.

For these purposes, use the following feedback forms:

•  SOA Design Pattern Feedback Form

•  SOA Candidate Pattern Feedback Form

Note that you can also use these forms to provide general feedback about this site.

Contribute a Pattern
Patterns on this site have been contributed by a wide range of SOA professionals, including members of Microsoft, Oracle, IBM, Sun Microsystems, Red Hat, and BEA. Contributors are always listed underneath the pattern name on each profile page.

You are welcome to contribute your own pattern to this site using the following submission forms:

•  Contribute Proven Pattern

•  Contribute Candidate Pattern

Choose the first form to propose a pattern for immediate inclusion in the master pattern catalog. This form asks that you provide supplementary information including several project references that will be verified. The second form is used to submit a pattern to be published on the Candidate Patterns page.

Learn About Other Design Patterns
The SOA design pattern catalog owes much of its existence to previously established pattern catalogs and additional patterns-related publications. Understanding the roots of SOA design patterns not only helps you gain an appreciation for its historical influences, it will also enable you to discover many additional design patterns that continue to be useful when building service-oriented solutions.

To learn more, visit the Design Patterns Publications page.

Learn About Service-Orientation Design Principles
A fundamental goal of SOA design patterns is to support the application of the service-orientation design paradigm and the attainment of the strategic goals of service-oriented computing. SOA design patterns therefore have a direct relationship with service-orientation design principles. As a result, almost each pattern profile makes reference to one or more design principles relevant to the design solution provided by the pattern.

To learn more, visit:

•  SOA Design Patterns and Design Principles page

•  SOAPrinciples.com

•  Principles of Service-Orientation Poster (PDF)

For additional information about the strategic goals and benefits of service-oriented computing, visit WhatIsSOA.com.

Notification Form
To be automatically notified of updates to this and related SOA sites and publications, provide your e-mail address:
E-mail Address  


 
Agnostic Capability
Agnostic Context
Agnostic Sub-Controller
Asynchronous Queuing
Atomic Service Transaction
Brokered Authentication
Canonical Expression
Canonical Protocol
Canonical Resources
Canonical Schema
Canonical Schema Bus
Canonical Versioning
Capability Composition
Capability Recomposition
Compatible Change
Compensating Transaction
Composition Autonomy
Concurrent Contracts
Contract Centralization
Contract Denormalization
Cross-Domain Utility Layer
Data Confidentiality
Data Format Transformation
Data Model Transformation
Data Origin Authentication
Decomposed Capability
Decoupled Contract
Direct Authentication
Distributed Capability
Domain Inventory
Dual Protocols
Enterprise Inventory
Enterprise Service Bus
Entity Abstraction
Event-Driven Messaging
Exception Shielding
Federated Endpoint Layer
File Gateway
Functional Decomposition
Intermediate Routing
Inventory Endpoint
Legacy Wrapper
Logic Centralization
Message Screening
Messaging Metadata
Metadata Centralization
Multi-Channel Endpoint
Non-Agnostic Context
Official Endpoint
Orchestration
Partial State Deferral
Partial Validation
Process Abstraction
Process Centralization
Policy Centralization
Protocol Bridging
Proxy Capability
Redundant Implementation
Reliable Messaging
Rules Centralization
Schema Centralization
Service Agent
Service Broker
Service Callback
Service Data Replication
Service Decomposition
Service Encapsulation
Service Facade
Service Grid
Service Instance Routing
Service Layers
Service Messaging
Service Normalization
Service Perimeter Guard
Service Refactoring
State Messaging
State Repository
Stateful Services
Termination Notification
Three-Layer Inventory
Trusted Subsystem
UI Mediator
Utility Abstraction
Validation Abstraction
Version Identification
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    What is SOA?    SOA Principles    SOASchool.com    SOA Glossary Copyright © 2007-2009
SOA Systems Inc.