Home > Design Patterns > Concurrent Contracts
Concurrent Contracts

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.

Listen to the podcasts that accompany this site

Concurrent Contracts: 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.

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.

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.

Web Service Contract Design and Versioning for SOA

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.