2.5.6.2 Enlist in a Transaction – Resource Manager

In this use case, the resource manager enlists in a transaction with a respective transaction manager.

Context of use: When a resource manager is enlisted in a transaction, the resource manager can participate in the coordination of the transaction.

Goal: To enlist a resource manager in a transaction.

Actors:

Resource manager: The resource manager is a primary actor and can be a remote resource manager or an external resource manager.

Transaction manager: The transaction manager is a supporting actor. The transaction manager can be a root transaction manager, a remote transaction manager, or an external transaction manager.

Stakeholders:

  • Architects

  • Implementers

Preconditions:

  • Transaction processing services are operational.

  • The resource manager can access the transaction manager that it has to contact to enlist in the transaction.

Main success scenario:

  1. Trigger: The application triggers the resource manager to update its resource in the context of the transaction that was created in the Create a Transaction (section 2.5.6.1) use case.

  2. The resource manager asks the transaction manager to enlist in the transaction.

  3. The transaction manager enlists the resource manager in the transaction and returns a success message to the resource manager.

  4. After successful enlistment in a transaction, the resource manager makes the requested updates to its resource in accordance with the semantics of the two-phase commit protocol, such as isolation and durability.

Postcondition: The resource manager enlists in a transaction with the respective transaction manager.

Extensions: None.

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