SOA Patterns > Service Governance Patterns > Decomposed Capability
Decomposed Capability (Erl)
How can a service be designed to minimize the chances of capability logic deconstruction?
![Decomposed Capability Decomposed Capability](https://patterns.arcitura.com/wp-content/uploads/2018/09/decomposed_capability.png)
Problem
The decomposition of a service subsequent to its implementation can require the deconstruction of logic within capabilities, which can be disruptive and make the preservation of a service contract problematic.
Solution
Services prone to future decomposition can be equipped with a series of granular capabilities that more easily facilitate decomposition.
Application
Additional service modeling is carried out to define granular, more easily distributed capabilities.
Impacts
Until the service is eventually decomposed, it may be represented by a bloated contract that stays with it as long as proxy capabilities are supported.
Principles
Architecture
Service
![Decomposed Capability: The Invoice service (middle) derived from the same business entities (left) exposes a series of more granular capabilities, several of which correspond directly to specific business entities. This increases the ease at which subsequent service decomposition can be accomplished. The decomposed services (right) are no longer in conflict because the capabilities affected by the decomposition are clearly mapped to the new services. Those same capabilities also remain in the Invoice service contract (top right) as per Proxy Capability. Decomposed Capability: The Invoice service (middle) derived from the same business entities (left) exposes a series of more granular capabilities, several of which correspond directly to specific business entities. This increases the ease at which subsequent service decomposition can be accomplished. The decomposed services (right) are no longer in conflict because the capabilities affected by the decomposition are clearly mapped to the new services. Those same capabilities also remain in the Invoice service contract (top right) as per Proxy Capability.](https://patterns.arcitura.com/wp-content/uploads/2018/09/fig1-59.png)
Related Patterns in This Catalog
Contract Denormalization, Proxy Capability, Service Decomposition
Related Service-Oriented Computing Goals
This pattern is covered in SOACP Module 4: Fundamental SOA Analysis & Modeling with Services & Microservices.
For more information regarding the SOA Certified Pofessional (SOACP) curriculum,
visit www.arcitura.com/soa.
This page contains excerpts from:
SOA Design Patterns by Thomas Erl
(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)
For more information about this book, visit www.arcitura.com/books.
This page contains excerpts from:
Web Service Contract Design and Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley
For more information about this book, visit www.arcitura.com/books.