Capability Recomposition (Erl)
How can the same capability be used to help solve multiple problems?
Problem
Using agnostic service logic to only solve a single problem is wasteful and does not leverage the logic's reuse potential.
Solution
Agnostic service capabilities can be designed to be repeatedly invoked in support of multiple compositions that solve multiple problems.
Application
Effective recomposition requires the coordinated, successful, and repeated application of several additional patterns.
Impacts
Repeated service composition demands existing and persistent standardization and governance.
Principles
Standardized Service Contract, Service Loose Coupling, Service Abstraction, Service Reusability, Service Autonomy, Service Statelessness, Service Discoverability, Service ComposabilityArchitecture
Inventory, Composition, Service
The individual capabilities of the original services can be repeatedly aggregated together with additional capabilities into different composition configurations. This enables capabilities to collectively solve the large problem for which they were originally delivered in addition to several other problems.
Related Patterns in This Catalog
Agnostic Capability, Agnostic Context, Capability Composition, Data Model Transformation, Non-Agnostic Context, Process Centralization
Related Service-Oriented Computing Goals
Increased Business and Technology Alignment, Increased Organizational Agility, Increased ROI, Reduced IT Burden
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.
Arcitura IT Certified Professionals (AITCP)
Arcitura IT Certified Professionals (AITCP)
Arcitura IT Certified Professionals (AITCP)
Arcitura YouTube Channel
