Return to Home Page

The public review of the manuscript for "SOA Design Patterns" has concluded !
Thank you to all that participated. 234 reviews were received and over 30 new patterns have been contributed,
increasing the size of this book by over 50%. The second draft of the manuscript is currently in development.

About the Public Review
    History
    Podcasts (audio)
    Notification
    Submit Feedback
    Contribute a Proven Pattern
    Contribute a Candidate Pattern
    Acknowledgements
    Press Release

Introduction to SOA Types & Design Patterns
    The Architecture of
Service-Orientation
    Understanding SOA
Design Patterns

SOA Design Patterns
    Basic Service Inventory Design Pattern Language
    Architectural Design Patterns
    Basic Service Design
Pattern Language
    Service Design Patterns
    Common Compound
Design Patterns

Additional Resources
    View Entire TOC
    Symbol Legend
    Master Pattern List
(by category)
    Candidate Design Patterns
    Design Patterns Publications
    Download SOA Principles Poster (PDF)

About the Book



SOA Design Patterns
by Thomas Erl

For more information visit: www.soapatterns.com

Related Publications


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 > 7.2 Service Definition Design Patterns > Agnostic Capability
Agnostic Capability

Agnostic Capability

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

Problem

Grouping agnostic logic into a service does not establish a formal service interface.

Solution

Agnostic service logic can be partitioned into a set of complementary capabilities allowing the logic represented by each capability to be individually invoked.

Application

Service capabilities are defined, refined, and implemented through analysis, modeling, and design processes.

Impacts

Poorly defined service capabilities can inhibit the serviceÕs reuse potential and can lead to a variety governance problems.

Principles

Standardized Service Contract, Service Reusability, Service Composability

Architecture

Service

Table 7.5 – Profile summary for the Agnostic Capability pattern.

Problem

Moving related pieces of agnostic logic into an agnostic service can still lead to functional overlap an does not establish the basis for a technical interface that will be useful to a range of consumer programs.

Solution

A service encapsulates all logic associated with a well-balanced functional context. This logic is decomposed into a set of well-defined capabilities. The related collection of capabilities are part of the same physical service implementation.

Figure 7.21 – Through the application of this pattern, the service logic grouped within a specific service context is made available as a set of well-defined and complementary capabilities.

Application

By carrying out the service-oriented analysis and service modeling processes, candidate service capabilities are identified, defined, and grouped into candidate service contexts. Through repeated iterations of these processes, the definition and organization of the capabilities are further refined.

This pattern essentially positions each capability as an independent function able to solve a specific agnostic concern (a concern that is common to multiple business processes or tasks). Agnostic capabilities therefore lie at the heart of fundamental service-orientation principles, such as Service Reusability and Service Composability.

Impacts

Capabilities grouped together into one physical service implementation are usually expressed via the same service contract. If the functionality of any one capability (or the grouping itself) changes over time, the service contract may become invalid or may require further extension. Additionally, more popular capabilities will tend to tax the overall service implementation, which can compromise the performance and predictability of other capabilities.

Note: All of these impacts represent common SOA-related design issues addressed by other patterns in this book.

Relationships

Agnostic Capability can be considered a continuation of Agnostic Context, making these two patterns naturally related. But when studying how services are assembled into compositions, the ultimate role of the defined agnostic capabilities become evidently integral to the application of both Capability Composition and Capability Recomposition patterns.

Figure 7.22 – The Agnostic Capability pattern provides the externally facing functions that form the basis of service contracts.

Case Study Example

Cast study content is not available on this Web site.

Prev | Next
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    What is SOA?    SOA Principles    SOA Methodology    SOA Glossary Copyright © 2007-2008
SOA Systems Inc.