SOA Patterns | Design Patterns | Compensating Service Transaction


SOA Patterns > Composition Implementation Patterns > Compensating Service Transaction
Home > Design Patterns > Compensating Service Transaction

Compensating Service Transaction (Utschig, Maier, Trops, Normann, Winterberg, Loesgen, Little)

How can composition runtime exceptions be consistently accommodated without requiring services to lock resources?

Compensating Service Transaction

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.

Architecture

Inventory, Composition

Compensating Service Transaction: Compensating transactions do not require that resources be locked or that the original state be preserved.Compensating transactions do not require that resources be locked or that the original state be preserved.


Module 7: Advanced SOA Design & Architecture with Services & Microservices

This pattern is covered in SOACP Module 7: Advanced SOA Design & Architecture with Services & Microservices.

For more information regarding the SOA Certified Pofessional (SOACP) curriculum,
visit www.arcitura.com/soa.

SOA Design Patterns

This page contains excerpts from:

SOA Design Patterns by Thomas Erl

(ISBN: 0136135161, Hardcover, Full-Color, 400+ Illustrations, 865 pages)

For more information about this book, visit www.arcitura.com/books.