Home > Design Patterns > Composition Autonomy
Composition Autonomy

Composition Autonomy (Erl)

How can compositions be implemented to minimize loss of autonomy?

Problem

Composition controller services naturally lose autonomy when delegating processing tasks to composed services, some of which may be shared across multiple compositions.

Solution

All composition participants can be isolated to maximize the autonomy of the composition as a whole.

Application

The agnostic member services of a composition are redundantly implemented in an isolated environment together with the task service.

Impacts

Increasing autonomy on a composition level results in increased infrastructure costs and government responsibilities.

Architecture

Composition
Composition Autonomy: By grouping the services of a composition into a separate deployment environment, the collective autonomy is maximized because the implementation is dedicated to the composition, and none of the services are otherwise shared. Services C and D in particular benefit from this new implementation as they are no longer subject to shared access.

By grouping the services of a composition into a separate deployment environment, the collective autonomy is maximized because the implementation is dedicated to the composition, and none of the services are otherwise shared. Services C and D in particular benefit from this new implementation as they are no longer subject to shared access.

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.