Glossary

C

Commit coordinator See transaction tree.

Component Object Model (COM) An architecture and supporting infrastructure for building, using, and evolving component software in a robust manner. COM is an object-based programming model designed to promote software interoperability. It allows two or more applications or “components” to easily cooperate with one another, even if they were written by different vendors at different times, in different programming languages, or if they are running on different machines running different operating systems.

connection manager A facility for communication between MS DTC components.

E

enlistment object An object that represents the relationship between a resource manager and a transaction object in which the resource manager has enlisted. An enlistment object is created each time a resource manager enlists in a transaction. MS DTC uses the enlistment object to determine which resource managers to involve in the two-phase commit process.

explicitly initiated transaction A transaction that an application initiates by calling a resource manager-provided application programming interface.

exporting a transaction The process of sending a transaction to be sent to another process or system. When exporting a transaction, the RM Proxy passes a transaction object to the MS DTC Proxy and is returned a transaction cookie. The RM Proxy then sends the transaction cookie to the resource manager.

export object An object that represents a connection between an RM Proxy and a resource manager. The export object is used to propagate transactions between processes or systems. The export object contains the name and location of the resource manager’s transaction manager. When the RM Proxy exports a transaction to a resource manager, the RM Proxy’s transaction manager uses the export object to locate the resource manager’s transaction manager.

F

flat transaction A transaction with no subtransactions or savepoints. MS DTC transactions are flat transactions.

G

globally unique identifier (GUID) A 128-bit system-generated identifier that is guaranteed to be unique across all systems for all time.

I

implicitly initiated transaction A transaction that a resource manager initiates automatically on behalf of an application. Typically, the application is written using the resource manager’s stored procedure programming language.

importing a transaction The process of receiving a transaction from another process or system. When importing a transaction, the resource manager receives a transaction cookie from the RM Proxy, sends the transaction cookie to the MS DTC proxy on its system, and is returned a transaction object.

interface A related group of function calls. These function calls are also referred to as “methods” or “member functions.” All interfaces are named. By convention, interfaces are given a name starting with capital “I”, such as IUnknown. This given name has symbolic meaning to source-level programming tools. Each interface is also assigned an interface identifier (IID). The IID is a system-generated 128-bit globally unique identified (GUID) that unambiguously identifies the interface. The system uses this GUID at runtime to uniquely identify the interface.

interface identifier (IID) A system-generated 128-bit globally unique identifier (GUID) that unambiguously identifies an interface. The system uses the GUID to uniquely identify an interface at runtime.

M

Microsoft Distributed Transaction Coordinator (MS DTC) A distributed transaction manager that coordinates transactions across a network of Windows NT- and Windows 95-based systems. MS DTC provides distributed transaction support, making it easy to reliably update data that resides on two or more Microsoft Windows systems. MS DTC allows for transactions controlled by X/Open DTP XA-compliant transaction processing monitors such as Encina, TopEnd, and Tuxedo.

MS DTC proxy MS DTC’s interface that contains the methods that application programs and resource managers invoke to participate in MS DTC transactions. The MS DTC proxy is a set of dynamic link libraries provided as a part of MS DTC. The MS DTC proxy library is present on each Windows NT system containing a resource manager and each Windows NT or Windows '95 system containing an application program that initiates an MS DTC transaction.

MS DTC proxy core object. The root or central MS DTC object. It provides many essential MS DTC proxy interfaces. For example, it provides the interfaces for creating transaction objects, transaction options objects, export objects, and resource manager objects.

O

OLE object See OLE object instance.

OLE object class Each OLE Transaction object class contains one or more OLE Transaction interfaces. These are the interfaces that application programs and resource managers use to participate in MS DTC transactions.

OLE object instance An instance of an OLE object class.

OLE Transaction interfaces The OLE Transaction interfaces and APIs are called by application programs and resource managers to participate in MS DTC transactions. These interfaces can be divided into five groups based upon the functions they provide: Utility Interfaces and APIs, Transaction Initiation and Control Interfaces, Transaction Propagation Interfaces, Resource Manager Interfaces, and Transaction Coordination (Two-phase Commit) Interfaces.

OLE Transactions Microsoft’s interface standard for transaction management. OLE Transactions defines the interfaces that applications, resource managers, and transaction managers use to perform transactions. Applications use OLE Transaction interfaces to initiate, commit, abort, and inquire about transactions. Resource managers use OLE Transaction interfaces to enlist in transactions, to propagate transactions from process to process or from system to system, and to participate in the two-phase commit protocol.

P

prepare information An opaque data item that identifies a transaction. The resource manager obtains the prepare information from a transaction manager at phase 1 of the two-phase commit protocol. The resource manager records the prepare information in its log. At failure recovery time, the resource manager sends the prepare information to the transaction manager to learn the outcome of an in-doubt transaction.

R

Resource Manager (RM) A subsystem that implements a transaction-protected resource. The resource manager typically provides services to application programs or other resource managers. Examples of such resource managers include relational databases, object-oriented databases, file systems, document storage systems, and message queues.

Resource Manager object An object that represents the connection between a resource manager and a transaction manager. A resource manager object is created when a resource manager initially connects to a transaction manager.

Resource Manager proxy (RM proxy) MS DTC’s application programming interface that application programs may invoke to perform resource manager functions. These interfaces are packaged as dynamic link library routines.

T

TP monitor The name of a class of products which allow for distributed transaction processing across a network comprised of various platforms (for example, different hardware, operating systems, databases, and network protocols).

transaction cookie An opaque marshaled form of a transaction object.

transaction coordinator Same as “commit coordinator.” See transaction tree.

transaction dispenser object An object that creates new instances of transaction objects.

transaction enlistment interface The application programming interface by which a resource manager joins a transaction. This permits the resource manager to participate in the two-phase commit protocol.

Transaction Manager (TM) A subsystem that creates and coordinates transactions. The transaction manager conducts the two-phase commit protocol by which transactions’ ACID properties are preserved.

transaction object An object that represents an MS DTC transaction. A transaction object is created when an application program or resource manager calls BeginTransaction. A transaction object is also created when a resource manager imports a transaction.

transaction options object An object that contains transaction attribute information, such as the time-out for the transaction and the name of the transaction. The Transaction Options Object is passed as a parameter to the ITransactionDispenser::BeginTransaction method when creating a new transaction. The transaction attributes contained in the Transaction Options Object are inherited by the newly created Transaction Object.

transaction tree The path along which a distributed transaction is propagated. This path determines the order of subordination, or parent-to-child relationship, of transaction managers and resource managers participating in the transaction. Each resource manager is the subordinate (the child) of its local transaction manager (the parent). Each transaction manager coordinates the two-phase commit protocol with its local resource manager for the part of the transaction for which that resource manager is responsible. One transaction manager on the network is responsible for globally coordinating the entire transaction. This TM is the root of the transaction tree and functions as the commit coordinator; typically, this transaction manager is on the node on which the transaction originates.

X

X/Open DTP TX The X/Open standard that defines the application programming interfaces which programs use to communicate with a transaction manager. Application programs use the X/Open DTP TX interfaces to begin, commit, and rollback transactions.

X/Open DTP XA The X/Open standard that defines the application programming interfaces which resource manager use to communicate with a transaction manager. Resource managers use the X/Open DTP XA interfaces to join transactions, to perform the two-phase commit protocol, and to recover in-doubt transactions following a failure.

XA Mapper The MS DTC process that translates between X/Open DTP XA and OLE Transactions.

W

Whereabouts An opaque data structure that represents the address of a resource manager’s transaction manager. Transaction managers can use the information in the whereabouts to locate and communicate with a resource manager’s transaction manager.