Return to Home Page
Overview
    History
    Acknowledgements
    Podcasts
    Notification Form
    Feedback Form
    Press Release #1
    Press Release #2
    Press Release #3

Master SOA Design
Pattern Catalog
    Master Pattern List (alphabetical)
    Master Pattern List (by category)
    Master Pattern List with
Page Numbers (PDF)
    Master Pattern List (Text)
    Pattern Notation
    Pattern Profiles
    Symbol Legend
    Pattern Contribution Form

SOA Candidate Patterns
    SOA Patterns Review Committee
    Candidate Patterns Overview
    Candidate Patterns List
    Candidate Pattern Contribution Form
    Candidate Pattern
Feedback Form
    SOA Pattern Template

Design Pattern Basics
    What's a Design Pattern?
    What's a Design Pattern Language?
    What's a Compound Pattern?

Supplemental
    SOA Patterns and Application Technologies
    SOA Design Patterns Historical Influences
    SOA Design Patterns and Design Principles
    SOA Design Patterns and Design Granularity
    Legal

Resources
    Design Patterns Publications
    Reference Posters
    SOAPrinciples.com
    WhatIsSOA.com
    SOA Visio Stencil


Compatible Change (Orchard, Riley)


Home > Service Governance Patterns > Compatible Change

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.

Principles

Service Loose Coupling, Standardized Service Contract

Architecture

Service
 
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.
Audio Podcast
This pattern is discussed as part of the audio podcast:

•  Service Contract-Related
   SOA Design Patterns
•  Advanced Service
   Versioning
 

Related Patterns in This Catalog

Canonical Versioning (Erl), Concurrent Contracts (Erl), Termination Notification (Orchard, Riley), Validation Abstraction (Erl), Version Identification (Orchard, Riley)


Related Service-Oriented Computing Goals

Increased Organizational Agility, Reduced IT Burden

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.soabooks.com.
Web Service Contract Design and Versioning for SOA This pattern is also discussed in the following title:

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

(ISBN: 013613517X, Hardcover, 826 pages)

For more information about this book, visit
www.soabooks.com.
The Prentice Hall Service-Oriented Computing Series from Thomas Erl
Home    SOA Books    SOA Magazine    What is SOA?    SOA Principles    SOASchool.com    SOA Glossary Copyright © 2007-2009
SOA Systems Inc.