|
Introduction to SOA Types & Design Patterns
|
|


Read the article "Introducing SOA Design Patterns" from the June 2008 SOA World Magazine (High-Res PDF).
|
|
|
PLEASE NOTE
The content on this page is from the first draft of the manuscript for the upcoming book "SOA Design Patterns" by Thomas Erl. This version of the manuscript was authored in September, 2007. Since then, the manuscript has undergone significant content and structural changes as a result of an industry-wide review in which hundreds of SOA practitioners participated in addition to SOA vendors and experts from the design patterns community.
You are welcome to use the information on this page for research purposes, but you should assume that most of it will change in the final release of the "SOA Design Patterns" book.
Note also, that as a result of an industry-wide call for participation from December 2007 to February 2008, over 30 new design patterns have been contributed to this book. As they become finalized and are incorporated by the author, concise descriptions will be published on this site, and full descriptions with examples will be made available in the final, printed book.
Due to the volume of new content and changes, the release of the "SOA Design Patterns" book has been postponed to October, 2008. To learn more about the book, visit www.soapatterns.com. To be notified of updates to this site, use the notification form.
|
|
|

Chapter 7: Basic Service Design Pattern Language

|
Home >
Chapter 7 Overview
|
Introduction

The design patterns in this chapter represent the most essential steps required to partition, organize, and assemble solution logic in support of service design. In many ways, this service design pattern language can be considered fundamental service-orientation theory.

This design pattern language is comparable to a basic service definition process in that it establishes a logical sequence (Figure 7.x) whereby each subsequent group of patterns builds upon the former, as follows:
|
1.
|
Service Identification Patterns – The overall solution logic required to solve a given problem is first defined and then the parts of this logic suitable for service encapsulation are filtered out.
|
|
2.
|
Service Definition Patterns – Base functional service contexts are then defined as and used to organize available service logic. Within agnostic contexts, service logic is further partitioned into individual capabilities.
|
|
3.
|
Capability Composition Patterns – Finally, the boundaries of capability utilization are set and the basics of service composition and recomposition are established.
|
Note that each of the patterns in this design pattern language can be considered fundamental steps within common service modeling and design processes. The processes provided at SOAMethodology.com are examples of this, and Appendix X explores how these patterns map to those process steps. What’s of fundamental importance, though, is that with an understanding of basic service design patterns, you have the opportunity to customize your own service-oriented analysis and design processes around these steps.

The design patterns within a given group are explained at the beginning of each of the upcoming sections. The list below provides an overview of all the design patterns in this chapter.


Functional Decomposition

How can a large business problem be solved without having to build a standalone body of solution logic?
|
|

Service Encapsulation

How can solution logic be made available as an enterprise resource?
|
|

Agnostic Context

How can multi-purpose service logic be positioned as an effective enterprise resource?
|
|

Non-Agnostic Context

How can single-purpose service logic be positioned as an effective enterprise resource?
|
|

Agnostic Capability

How can multi-purpose service logic be made available in a consumable format?
|
|

Capability Composition

How can a service capability be used to solve a problem that requires logic outside of the service boundary?
|
|

Capability Recomposition

How can the same capability be used to help solve multiple problems?
|
|

|
|
Prev | Next
|
|
|