Home > Design Patterns > Compatible Change
Compatible Change

Compatible Change (Orchard, Riley)

How can a service contract be modified without impacting consumers?

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.