<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns:fn="http://www.w3.org/2005/02/xpath-functions"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../../../doc/otp_doc.css" type="text/css"> <title>Erlang -- Introduction to cosTransactions</title> </head> <body bgcolor="white" text="#000000" link="#0000ff" vlink="#ff00ff" alink="#ff0000"><div id="container"> <script id="js" type="text/javascript" language="JavaScript" src="../../../../doc/js/flipmenu/flipmenu.js"></script><script id="js2" type="text/javascript" src="../../../../doc/js/erlresolvelinks.js"></script><script language="JavaScript" type="text/javascript"> <!-- function getWinHeight() { var myHeight = 0; if( typeof( window.innerHeight ) == 'number' ) { //Non-IE myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myHeight = document.body.clientHeight; } return myHeight; } function setscrollpos() { var objf=document.getElementById('loadscrollpos'); document.getElementById("leftnav").scrollTop = objf.offsetTop - getWinHeight()/2; } function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, true); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } addEvent(window, 'load', setscrollpos); //--></script><div id="leftnav"><div class="innertube"> <img alt="Erlang logo" src="../../../../doc/erlang-logo.png"><br><small><a href="users_guide.html">User's Guide</a><br><a href="index.html">Reference Manual</a><br><a href="release_notes.html">Release Notes</a><br><a href="../pdf/cosTransactions-1.2.11.pdf">PDF</a><br><a href="../../../../doc/index.html">Top</a></small><p><strong>cosTransactions</strong><br><strong>User's Guide</strong><br><small>Version 1.2.11</small></p> <br><a href="javascript:openAllFlips()">Expand All</a><br><a href="javascript:closeAllFlips()">Contract All</a><p><small><strong>Chapters</strong></small></p> <ul class="flipMenu" imagepath="../../../../doc/js/flipmenu"> <li id="no" title="The cosTransactions Application" expanded="false">The cosTransactions Application<ul> <li><a href="ch_contents.html"> Top of chapter </a></li> <li title="Content Overview"><a href="ch_contents.html#id83459">Content Overview</a></li> <li title="Brief Description of the User's Guide"><a href="ch_contents.html#id85783">Brief Description of the User's Guide</a></li> </ul> </li> <li id="loadscrollpos" title="Introduction to cosTransactions" expanded="true">Introduction to cosTransactions<ul> <li><a href="ch_introduction.html"> Top of chapter </a></li> <li title="Overview"><a href="ch_introduction.html#id79628">Overview</a></li> </ul> </li> <li id="no" title="Installing cosTransactions" expanded="false">Installing cosTransactions<ul> <li><a href="ch_install.html"> Top of chapter </a></li> <li title="Installation Process "><a href="ch_install.html#id85353">Installation Process </a></li> </ul> </li> <li id="no" title="cosTransactions Examples" expanded="false">cosTransactions Examples<ul> <li><a href="ch_example.html"> Top of chapter </a></li> <li title="A Tutorial on How to Create a Simple Service"><a href="ch_example.html#id79581">A Tutorial on How to Create a Simple Service</a></li> </ul> </li> <li id="no" title="Resource Skeletons" expanded="false">Resource Skeletons<ul> <li><a href="ch_skeletons.html"> Top of chapter </a></li> <li title="Resource Skeletons"><a href="ch_skeletons.html#id81104">Resource Skeletons</a></li> </ul> </li> </ul> </div></div> <div id="content"> <div class="innertube"> <h1>2 Introduction to cosTransactions</h1> <h3><a name="id79628">2.1 Overview</a></h3> <p>The cosTransactions application is a Transaction Service compliant with the <span class="bold_code"><a href="http://www.omg.org">OMG</a></span> Transaction Service CosTransactions 1.1. </p> <h4>Purpose and Dependencies</h4> <p><strong>cosTransactions</strong> is dependent on <strong>Orber version 3.0.1</strong> or later(see the Orber documentation), which provides CORBA functionality in an Erlang environment.</p> <p><strong>cosTransactions</strong> is dependent on <strong>supervisor/stdlib-1.7</strong> or later.</p> <p>Basically, cosTransaction implements a <strong>two-phase commit protocol</strong> and allows objects running on different platforms to participate in a transaction.</p> <h4>Prerequisites</h4> <p>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. </p> <p>Recommended reading includes <strong>CORBA, Fundamentals and Programming - Jon Siegel</strong> and <strong>Open Telecom Platform Documentation Set</strong>. It is also helpful to have read <strong>Concurrent Programming in Erlang</strong> and, for example, <strong>Transaction Processing: concepts and techniques - Jim Gray, Andreas Reuter</strong>.</p> <div class="note"> <div class="label">Note</div> <div class="content"><p> <p>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 <span class="code">'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK'</span> and <span class="code">'INVALID_TRANSACTION'</span> exceptions have been redefined to be system exceptions, i.e., used to be transaction-specific ('CosTransactions_Exc').</p> </p></div> </div> </div> <div class="footer"> <hr> <p>Copyright © 1999-2011 Ericsson AB. All Rights Reserved.</p> </div> </div> </div></body> </html>