Home > Design Patterns > Compatible Change

Compatible Change (Orchard, Riley)

How can a service contract be modified without impacting consumers?

Compatible Change

Problem

Changing an already-published service contract can impact and invalidate existing consumer programs.

Solution

Some changes to the service contract can be backwardscompatible, thereby avoiding negative consumer impacts.

Application

Service contract changes can be accommodated via extension or by the loosening of existing constraints or by applying Concurrent Contracts.

Impacts

Compatible changes still introduce versioning governance effort, and the technique of loosening constraints can lead to vague contract designs.

Architecture

Service

Listen to the podcasts that accompany this site
Service Contract-Related SOA Design Patterns
Advanced Service Versioning

Compatible Change: The existing capability is not renamed. Instead, a new capability with a new name is added alongside the original capability, thereby preserving compatibility with both Consumers A and B.

The existing capability is not renamed. Instead, a new capability with a new name is added alongside the original capability, thereby preserving compatibility with both Consumers A and B.

SOA Design Patterns

This page contains excerpts from:

SOA Design Patterns by Thomas Erl

(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)

For more information about this book, visit www.arcitura.com/books.

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

For more information about this book, visit www.arcitura.com/books.