How can a service be evolved without impacting existing
consumers?
Problem
The logic or implementation technology of a service may
become outdated or inadequate over time, but the service has
become too entrenched to be replaced.
Solution
The service contract is preserved to maintain existing consumer
dependencies, but the underlying service logic and/or
implementation are refactored.
Application
Service logic and implementation technology are gradually
improved or upgraded but must undergo additional testing.
Impacts
This pattern introduces governance effort as well as risk
associated with potentially negative side-effects introduced by
new logic or technology.
All parts of a service architecture abstracted by its contract can potentially be refactored without compromising
existing consumer relationships. The service contract and the remaining, externally facing message processing
agents (red) are not affected by the refactoring effort.
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, visitwww.soabooks.com.