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.