<!--
  JBoss, Home of Professional Open Source
  Copyright 2006, Red Hat Middleware LLC, and individual contributors
  as indicated by the @author tags. 
  See the copyright.txt in the distribution for a full listing 
  of individual contributors.
  This copyrighted material is made available to anyone wishing to use,
  modify, copy, or redistribute it subject to the terms and conditions
  of the GNU Lesser General Public License, v. 2.1.
  This program is distributed in the hope that it will be useful, but WITHOUT A
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  You should have received a copy of the GNU Lesser General Public License,
  v.2.1 along with this distribution; if not, write to the Free Software
  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  MA  02110-1301, USA.

  
  (C) 2005-2008,
  @author JBoss Inc.
-->
<page title="XML Transaction Service Demonstration Application: Atomic Transactions" rootpath="../..">
    <header>
        XML Transaction Service Demonstration Application: Atomic Transactions
    </header>
    <content>
        <navigation>
            <links include="includes/trailmap_navigation.xml"/>
            <links title="Navigation">
                <link ref="index.html">Start Trailmap</link>
                <link ref="deploying.html">Previous</link>
                <link ref="businessactivity.html">Next</link>
            </links>
        </navigation>

        <area title="Atomic Transactions">
            <html>
                <p>
                    Atomic transactions are the classical transaction type found in most enterprise data systems, such as relational databases.
                    Atomic transactions typically exhibit ACID properties (Atomic, Consistent, Isolated and Durable).
                    This is usually achieved by the transactions holding locks on data, particularly during transaction resolution through the two phase commit protocol (2PC).
                    In J2EE applications, such transactions are normally managed through the JTA interface, or implicitly by the application container in the case of e.g. certain EJB configurations.
                    Because of their lock based nature, atomic transactions are best suited to short lived operations within the enterprise.
                </p>
                <p>
                    Long lived transactions can exhibit poor concurrency when holding locks for a prolonged period.
                    For the same reason, use of lock based transactions for inter-enterprise integration is avoided due to the possibility of denial of service situations based on incorrect lock management.
                    The next section of the trail map explains how these problems can be addressed through the use of an extended transaction model, Business Activities.
                </p>
                <p>
                    To use the Atomic Transaction transaction type in the sample application, simply select it from the pull down menu at the top of the client interface.
                    Notice that the server applications show the reservation resources (e.g. seats, tables) passing though a lifecycle involving the initial state (free), reserved (locked) and booked (committed).
                </p>
            </html>
        </area>
    </content>
    <footer/>
</page>
