Contents for Using CORBA Transactions
Introducing Transactions
Overview of Transactions in BEA Tuxedo CORBA Applications
ACID Properties of Transactions
Resource Manager
Supported Programming Model
Supported API Model
Support for Business Transactions
Distributed Transactions and the Two-Phase Commit Protocol
When to Use Transactions
How to Use Transactions in BEA Tuxedo CORBA Applications
How to Use Transactions When Using the BEA Bootstrapping Mechanism
How to Use Transactions When Using the INS Bootstrapping Mechanism
Writing a Transactions Sample Application
Workflow for the Transactions Sample Application
Development Steps
Transaction Service
About the Transaction Service
Capabilities and Limitations
Lightweight Clients with Delegated Commit
Support for Third-Party Clients Using INS
Multithreaded Transaction Client Support
Transaction Propagation (CORBA Only)
Transaction Integrity
Transaction Termination
Flat Transactions
Interoperability Between CORBA Remote Clients and the BEA Tuxedo Domain
Intradomain and Interdomain Interoperability
Network Interoperability
Relationship of the Transaction Service to Transaction Processing
Process Failure
General Constraints
Transaction Service in CORBA Applications
Getting Initial References to the TransactionCurrent Object Using the Bootstrap Object
Getting Initial References to the TransactionFactory Object Using INS
CORBA Transaction Service API
CORBA Transaction Service API Extensions
Notes on Using Transactions in BEA Tuxedo CORBA Applications
UserTransaction API
UserTransaction Methods
Exceptions Thrown by UserTransaction Methods
Transactions in CORBA Server Applications
Integrating Transactions in a BEA Tuxedo Client and Server Application
Transaction Support in CORBA Applications
Making an Object Automatically Transactional
Enabling an Object to Participate in a Transaction
Preventing an Object from Being Invoked While a Transaction Is Scoped
Excluding an Object from an Ongoing Transaction
Assigning Policies
Using an XA Resource Manager
Opening an XA Resource Manager
Closing an XA Resource Manager
Transactions and Object State Management
Delegating Object State Management to an XA Resource Manager
Waiting Until Transaction Work Is Complete Before Writing to the Database
User-defined Exceptions
About User-defined Exceptions
Defining the Exception
Throwing the Exception
How the Transactions University Sample Application Works
About the Transactions University Sample Application
Transactional Model Used by the Transactions University Sample Application
Object State Considerations for the University Server Application
Configuration Requirements for the Transactions Sample Application
Transactions in CORBA Client Applications
Overview of BEA Tuxedo CORBA Transactions
Summary of the Development Process for Transactions
Step 1: Using the Bootstrap Object to Obtain the TransactionCurrent Object
C++ Example
JStep 2: Using the TransactionCurrent Methods
C++ Example
Administering Transactions
Modifying the UBBCONFIG File to Accommodate Transactions
Summary of Steps
Step 1: Specify Application-wide Transactions in the RESOURCES Section
Step 2: Create a Transaction Log (TLOG)
Step 3: Define Each Resource Manager (RM) and the Transaction Manager Server in the GROUPS Section
Step 4: Enable an Interface to Begin a Transaction
Modifying the Domain Configuration File to Support Transactions (BEA Tuxedo CORBA Servers)
Characteristics of the DMTLOGDEV, DMTLOGNAME, DMTLOGSIZE, MAXRDTRAN, and MAXTRAN Parameters
Characteristics of the AUTOTRAN and TRANTIME Parameters (BEA Tuxedo CORBA and ATMI Servers)
Sample Distributed Application Using Transactions
RESOURCES Section
MACHINES Section
GROUPS and NETWORK Sections
SERVERS, SERVICES, and ROUTING Sections