1.3.1.2.3.2 Transaction Enlistment and Completion

The following sequence diagram is a schematic of the interactions that take place between the various software components involved in the usage scenario when a One-Pipe XA Resource Manager is enlisted in an OleTx transaction.

One-pipe XA Resource Manager transaction enlistment and completion

Figure 11: One-pipe XA Resource Manager transaction enlistment and completion

The protocols involved are specified as follows:

  • The protocol between the XA Resource Manager Bridge/OleTx Resource Manager and the Resource Manager Facet is specified in [MS-DTCO].

  • The protocol between the Application and the XA Resource Manager Bridge is implementation-specific.

  • The XA Protocol between the XA Resource Manager Bridge Facet and the XA Resource Manager is implemented by the XA Resource Manager and is implementation-specific. However, the API follows the [XOPEN-DTP] specification, with the exception that ax_reg and ax_unreg operations are not supported by the transaction manager and are not used by the extensions defined in this protocol.

The process of enlisting a One-Pipe XA Resource Manager in an OleTx transaction involves creating an OleTx enlistment in the OleTx transaction. This enlistment makes the calls on the XA Resource Manager necessary for Two-Phase Commit according to the XA Interface.

After the XA Resource Manager is enlisted in the OleTx transaction, the application calls Create XID on the XA Resource Manager Bridge, passing in the OleTx transaction and receiving a corresponding XID. This XID is then used to perform work on the XA Resource Manager.