Master SOA Design Pattern Catalog
|
|
|
|

Compensating Service Transaction

(Utschig, Maier, Trops, Normann, Winterberg, Loesgen, Little)

|

Home > Composition Implementation Patterns > Compensating Service Transaction
|
How can composition runtime exceptions be consistently
accommodated without requiring services to lock resources?
|
|
|
|
|

Problem

Whereas uncontrolled runtime exceptions can jeopardize a
service composition, wrapping the composition in an atomic
transaction can tie up too many resources, thereby negatively
affecting performance and scalability.
|
|

Solution

Compensating routines are introduced, allowing runtime
exceptions to be resolved with the opportunity for reduced
resource locking and memory consumption.
|
|

Application

Compensation logic is pre-defined and implemented as part of
the parent composition controller logic or via individual "undo"
service capabilities.
|
 |
 |
 |

Impacts

Unlike atomic transactions that are governed by specific rules,
the use of compensation logic is open-ended and can vary in its
actual effectiveness.
|
|
|
|
|
|
| |
|
|
|
Compensating transactions do not require that resources be locked or that the original state be preserved.
|
|
|
|
|
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.
|
|