SOA Patterns > Service Governance Patterns > Service Decomposition
Service Decomposition (Erl)
How can the granularity of a service be increased subsequent to its implementation?
![Service Decomposition Service Decomposition](https://patterns.arcitura.com/wp-content/uploads/2018/09/service_decomposition.png)
Problem
Overly coarse-grained services can inhibit optimal composition design.
Solution
An already implemented coarse-grained service can be decomposed into two or more fine-grained services.
Application
The underlying service logic is restructured, and new service contracts are established. This pattern will likely require Proxy Capability to preserve the integrity of the original coarsegrained service contract.
Impacts
An increase in fine-grained services naturally leads to larger, more complex service composition designs.
The original, coarse-grained Invoice service is decomposed into three separate services, one of which remains associated with general invoice processing but only encapsulates a subset of the original capabilities.
Related Patterns in This Catalog
Decomposed Capability, Decoupled Contract, Entity Abstraction, Proxy Capability, Service Façade, Service Normalization, Service Normalization, Service Refactoring, Utility Abstraction
Related Service-Oriented Computing Goals
Increased Federation, Increased Intrinsic Interoperability, Reduced IT Burden
Related Publications
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.