SOA Patterns > Service Governance Patterns > Service Decomposition
Service Decomposition (Erl)
How can the granularity of a service be increased subsequent to its implementation?
Overly coarse-grained services can inhibit optimal composition design.
An already implemented coarse-grained service can be decomposed into two or more fine-grained services.
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.
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