2 Introduction to cosTransactions

2.1  Overview

The cosTransactions application is a Transaction Service compliant with the OMG Transaction Service CosTransactions 1.1.

Purpose and Dependencies

cosTransactions is dependent on Orber version 3.0.1 or later(see the Orber documentation), which provides CORBA functionality in an Erlang environment.

cosTransactions is dependent on supervisor/stdlib-1.7 or later.

Basically, cosTransaction implements a two-phase commit protocol and allows objects running on different platforms to participate in a transaction.


To fully understand the concepts presented in the documentation, it is recommended that the user is familiar with distributed programming, CORBA and the Orber application.

Recommended reading includes CORBA, Fundamentals and Programming - Jon Siegel and Open Telecom Platform Documentation Set. It is also helpful to have read Concurrent Programming in Erlang and, for example, Transaction Processing: concepts and techniques - Jim Gray, Andreas Reuter.


The cosTransaction application is compliant with the OMG CosTransactions specification 1.1. Using other vendors transaction service, compliant with the OMG CosTransactions specification 1.0, may not work since the 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK' and 'INVALID_TRANSACTION' exceptions have been redefined to be system exceptions, i.e., used to be transaction-specific ('CosTransactions_Exc').