Home > Design Patterns > Service Decomposition
Service Decomposition

Service Decomposition (Erl)

How can the granularity of a service be increased subsequent to its implementation?

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.

Architecture

Service

Listen to the podcasts that accompany this site

Service Decomposition: 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.

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.

SOA Design Patterns

This page contains excerpts from:

SOA Design Patterns by Thomas Erl

Foreword by Grady Booch

With contributions from David Chappell, Jason Hogg, Anish Karmarkar, Mark Little, David Orchard, Satadru Roy, Thomas Rischbeck, Arnaud Simon, Clemens Utschig, Dennis Wisnosky, and others.

(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)

For more information about this book, visit www.servicetechbooks.com.