How a Resource Manager Can Become XA-Compliant

Many new resource managers (RMs) are being written to implement the OLE Transactions protocol so they can participate in distributed transactions. Some of these RMs might also like to be XA-compliant, meaning transaction managers that use the XA protocol can coordinate them. Microsoft Distributed Transaction Coordinator (MS DTC) provides a mechanism that allows these RMs to get XA compliance without having to implement the XA protocol. By exporting a function that makes the resource manager XA-compliant, MS DTC actually translates from XA to the OLE Transactions protocol. This allows all OLE Transactions RMs to participate in XA transactions.

MS DTC provides all the functionality for RMs to be fully XA-compliant. It implements the XA_Switch and makes it available through a static library. MS DTC also exposes an interface called IXATransLookup, which an RM or RM proxy can use to obtain an ITransaction for an XA transaction.