CORBA 2.6 Administration Guide
decision based on the outcome of each individual piece of work associated with the transaction.
Committing a transaction means that all of the changes made during the transaction will be made durable. Rolling back, or
aborting, a transaction means that none of the changes made during the transaction will be made durable and the state of the
objects involved in the transaction will remain unchanged from the state they were in before the transaction was started. A
rollback may also occur if certain failures are encountered during the processing of the transaction.
Transaction processing gives you the ability to process multiple changes to the data that an application accesses.
The ACID Properties of a Transaction
A transaction is a unit of work that behaves in accordance with the ACID properties that have become synonymous with
transaction processing. In transactions that are distributed across one or more systems, a Transaction Manager is normally
relied upon to carry out the low-level details involved in orchestrating a transaction. By assuring the ACID properties
outlined below, a Transaction Manager can ensure that its transaction processing is secure and reliable:
Atomic
A transaction is atomic when it either commits all individual changes made by the transaction or rolls back any
changes the transaction produced. A transaction must be an all or nothing procedure.
Consistent
A transaction must take the system from one consistent state to another. In doing so, the transaction must preserve the
invariant properties of the system.
Isolated
The unit of work performed by a transaction must be hidden from other entities accessing the system while the work
is being carried out. The intermediate states of a transaction must not be visible to other transactions or to other objects
that access the data on which the transaction is working. Transactions appear to execute serially, even if they are
performed concurrently.
Durable
No effects of a completed, committed transaction can be lost; they must all be persistently stored.
With this, a transaction is a series of operations that takes a system from one consistent state to another.
Transactional Objects
The OMG Transactional Service Specification defines a transactional object as an object whose behavior is affected by being
invoked within the scope of a transaction. A transaction object typically contains or indirectly references persistent data that
can be modified by a request made within the scope of a transaction.
Transactional Clients
A client can make requests of any mix of transactional and nontransactional objects. However, if a client application makes
any request within the scope of a transaction, it is termed a transactional client.
Transaction Manager (OTSTM)
The OTSTM is a server-pool process that is installed and configured to run under the PATHMON process that runs the other
system processes. The OTSTM assures that the ACID properties of a transaction are kept in check throughout the processing
of the transaction. The OTSTM works in concert with NonStop TM/MP, orchestrating the two-phase commit protocol, which
insures the integrity of all transaction data during the termination of the transaction.
The OTSTM depends heavily on the interfaces defined in the transaction service.