Erlang -- Introduction to cosTransactions

User's Guide
Reference Manual
Release Notes
PDF
Top

cosTransactions
User's Guide
Version 1.2.12

Expand All
Contract All

Chapters

- The cosTransactions Application
  - Top of chapter
  - Content Overview
  - Brief Description of the User's Guide
- Introduction to cosTransactions
  - Top of chapter
  - Overview
- Installing cosTransactions
  - Top of chapter
  - Installation Process
- cosTransactions Examples
  - Top of chapter
  - A Tutorial on How to Create a Simple Service
- Resource Skeletons
  - Top of chapter
  - Resource Skeletons

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

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

Note

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