Concurrent Contracts (Erl)
How can a service facilitate multi-consumer coupling requirements and abstraction concerns at the same time?
Problem
A service's contract may not be suitable for or applicable to all potential service consumers.
Solution
Multiple contracts can be created for a single service, each targeted at a specific type of consumer.
Application
This pattern is ideally applied together with Service Façade to support new contracts as required.
Impacts
Each new contract can effectively add a new service endpoint to an inventory, thereby increasing corresponding governance effort.
Architecture
ServiceListen to the podcasts that accompany this site
Separate contracts are created for the three service consumer categories. In some environments this may require the further qualification of the service name; for example, the three contracts may be named Invoice Admin, Invoice Reporting, Invoice Vendor.
Related Patterns in This Catalog
Canonical Expression, Compatible Change, Contract Denormalization, Decoupled Contract, Dual Protocols, Entity Abstraction, Inventory Endpoint, Service Façade, Service Refactoring, Utility Abstraction, Validation Abstraction
Related Patterns in Other Catalogs
Related Service-Oriented Computing Goals
Increased Federation, Increased Vendor Diversification Options, 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.
This page contains excerpts from:
Web Service Contract Design and Versioning for SOA
by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang Kevin Liu, David Orchard, Andre Tost, James Pasley
Foreword by David Chappell
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.
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

