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.3 Service Definition Design Patterns > Capability Recomposition
Capability Recomposition

Capability Recomposition

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

Problem

Using service logic to only solve a single problem is wasteful and does not leverage the logicÕs reuse potential.

Solution

Agnostic service capabilities can be repeatedly invoked in support of multiple compositions that solve multiple problems.

Application

Effective recomposition requires the coordinated, successful, and repeated application of several additional patterns.

Impacts

Repeated service composition demands existing and persistent standardization and governance.

Principles

All

Architecture

Composition

Table 7.7 – Profile summary for the Capability Recomposition pattern.

Problem

A distributed solution can be comprised of services designed for a specific composition. This is often the case when collections of services are delivered by independent projects. Because these services are tuned to automate a particular business process, little consideration is given to their potential to solve other business problems.

As a result, other business problems get solved with new collections of services. This approach enables individual solutions to distribute logic in response to immediate concerns (such as special security and performance requirements), but does not foster reuse to any meaningful extent.

Typical effects associated with missing reuse opportunities arise, reminiscent of silo-based environments. For example, the proliferation of redundant logic, wasteful delivery projects, and an increasingly bloated enterprise.

Solution

A key fundamental pattern and one that is essential to the realization of most strategic service-oriented computing goals is that of Capability Recomposition. The successful application of this pattern allows agnostic logic to be repeatedly reused as part of different service aggregates assembled to solve different problems.

Figure 7.28 – The individual capabilities of the original services can be repeatedly aggregated together with additional capabilities into different composition configurations. This enables capabilities to collectively solve the large problem for which they were originally delivered in addition to several other problems.

Application

Though fundamental, this is very much a compound pattern in that it builds upon and leverages just about every other pattern documented in this chapter. In fact, the extent to which this pattern can be realized is dependent on the extent to which other patterns have been and will continue to be successfully applied.

So, whatÕs the difference between this design pattern and the repeated application of the Capability Composition pattern? For the logic encapsulated by a capability to be repeatedly composable, it must be design in such a manner that it can facilitate numerous scenarios and concurrent invocation. These are not requirements for realizing the base Capability Composition design pattern.

Impacts

Just as this pattern results in strategic benefits from the combined application of other patterns, it also inherits their collective challenges and complexities. Service composition itself represents a design technique that may impose a learning curve upon those responsible for solution design. It is comprised of a unique process that requires a combination of creativity and awareness of how services can be effectively combined within the constraints of the underlying architecture and infrastructure.

Furthermore, the importance of governing agnostic services is greatly amplified, as these represent the parts of a service inventory most prone to repeated composition. Performance, security, version control, and interaction requirements of each agnostic service can impact the design of any given service composition. Additionally, service ownership plays a key role in ensuring that agnostic services are properly evolved throughout participation in multiple compositions.

Relationships

One constant that you may notice across most patterns in this book is that each, to some extent, supports Capability Recomposition. This multitude of supportive relationships is key to understanding the dynamics behind service-orientation. Ultimately, the repeated composition of service capabilities is what leads to the attainment of several of the key strategic benefits and goals associated with service-oriented computing.

Figure 7.29 – In service-orientation, all paths lead to Capability Recomposition.

Case study example

Case 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.