1999 2009 Ericsson AB. All Rights Reserved.
The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

Introduction to cosTransactions

Niclas Eklund
1999-04-26
ch_introduction.xml

## 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.

### Prerequisites

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').