3.6 Example 6: Distributed Transaction Coordination with External Components
This example demonstrates how a transaction is completed and committed with external components by making use of optional protocols, as described in the following use cases:
Transaction Management – Management Tool (section 2.5.3)
Create a Transaction – Application (section 2.5.6.1)
Enlist in a Transaction – Resource Manager (section 2.5.6.2)
Perform Transaction Work with Pull Propagation – Application (section 2.5.6.3)
Perform Transaction Work with Push Propagation – External Application (section 2.5.6.4)
Drive Completion of a Transaction – Root Transaction Manager (section 2.5.6.5)
Prerequisites:
Transaction processing services protocols meet all the preconditions, as described in section 2.4.
Transaction processing services are operational.
The application can access a transaction manager in the system.
The resource manager can access the transaction manager that it has to contact to enlist in the transaction.
The computers involved are connected on the network.
The two transaction managers are on separate computers and can access each other.
The transaction managers in the system on each of the computers are operational.
Both the external application and the external transaction manager can access a transaction manager in the system.
The external application and the external transaction manager are on separate computers.
The transaction manager can access the participants in the transaction.
Initial System State
No transaction has been performed by the external application.
Final System State
A two-phase commit has been done to complete the transaction which involves an external application.
Sequence of Events: