2.5.6.1 Create a Transaction – Application

In this use case, the application triggers the root transaction manager to create a transaction.

Context of use: A transaction is to be created before performing any transaction work.

Goal: To start a new transaction with a root transaction manager in the system.

Actors:

Application: The application is a primary actor that performs transaction work on several resource managers. The application creates a transaction, and therefore, only that application has the right to commit the transaction.

Root transaction manager: The root transaction manager is a supporting actor. The root transaction manager coordinates the lifetime of transactions by providing functionality for resource managers to enlist in these transactions. The root transaction manager also provides functionality to enlist in transactions that are coordinated by remote transaction managers. Here, the root transaction manager is a transaction manager that creates the transaction and starts performing the transaction.

Stakeholders:

Application: The application is a program that creates and performs transactions in a distributed computed network, and therefore, only that application has the right to commit the transaction.

Preconditions:

  • Transaction processing services are operational.

  • The application can access a transaction manager in the system.

Main success scenario:

  1. Trigger: The application triggers the root transaction manager to create a transaction.

  2. The application requests that the root transaction manager creates a transaction.

  3. The root transaction manager creates a transaction.

  4. The root transaction manager returns a reference to the transaction to the application.

Postcondition: A new transaction is created.

Extensions: None.

Variation – create a transaction – external application: All details are identical to the use case that is described in this section except that the application is an external application that makes use of optional protocols (see section 2.2).