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


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.

Principles

Service Loose Coupling

Architecture

Inventory, Composition
 
Compensating transactions do not require that resources be locked or that the original state be preserved.
Audio Podcast
This pattern is discussed as part of the audio podcast:

Three Specialized SOA Design Patterns
 

Related Patterns in This Catalog

Atomic Service Transaction (Erl), Canonical Resources (Erl), Contract Denormalization (Erl), Message Metadata (Erl)


Related Service-Oriented Computing Goals

Increased Vendor Diversification Options, 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.
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.