Platform SDK: Transaction Server

Glossary

[This product will work only on Windows NT 4.0 versions and earlier. For Windows 2000 and later, see COM+ (Component Services).]

ACID

ActiveX

activity

administrator

aggregation

apartment thread

application executable utility

atomicity

authentication

automatic transaction

base client

base process

Boolean

business rule

caller

catalog

class

class factory

class ID (CLSID)

client

client/server

cluster

COM (Component Object Model)

component

concurrency

consistency

constructor

context

context object properties

creator

data source name (DSN)

deadlock

declarative security

direct caller

direct creator

distributed COM (DCOM)

domain

durability

dynamic-link library (DLL)

exception

failfast

fault isolation

fault tolerance

global account

group

identity

in-doubt transaction

in-process component

instance

interface

isolation

interactive logon user

just-in-time activation

library package

load balancing

local account

main thread

marshaling

method

Microsoft Distributed Transaction Coordinator (MS DTC)

Microsoft Transaction Server component

Microsoft Transaction Server Explorer

Microsoft Transaction Server object

Null

object

object variable

ODBC resource dispenser

OLE Transactions

Open Database Connectivity (ODBC)

original caller

original creator

out-of-process component

package

package file

pooling

pre-built package

process isolation

programmatic identifier (progID)

programmatic security

proxy

remote component

Remote Procedure Call (RPC)

replication

resource dispenser

Resource Dispenser Manager

resource manager

role

safe reference

security ID (SID)

semaphore

server process

server package

shared property

snap-in

stateful object

stateless object

string expression

stub

thread

trace message

transaction

transaction context

transaction manager

transaction timeout

two-phase commit

type library

user name

XA protocol

ACID

The basic transaction properties of atomicity, consistency, isolation, and durability.

ActiveX

A set of technologies that enables software components to interact with one another in a networked environment, regardless of the language in which they were created. ActiveX is built on the Component Object Model (COM).

activity

A collection of Microsoft Transaction Server objects that has a single distributed logical thread of execution. Every Microsoft Transaction Server object belongs to one activity.

administrator

A user that uses the Microsoft Transaction Server Explorer to install, configure, and manage Microsoft Transaction Server components and packages.

aggregation

A composition technique for implementing component objects whereby a new object can be built using one or more existing objects that support some or all of the new object's required interfaces.

apartment thread

A thread used to execute calls to objects of components configured as "apartment threaded." Each object "lives in an apartment" (thread) for the life of the object. All calls to that object execute on the apartment thread. This threading model is used, for example, for component implementations that keep object state in thread local storage (TLS). A component's objects can be distributed over one or more apartments. See also main thread.

application executable utility

A feature in the MTS Explorer that allows you to create an application executable by exporting a package.

atomicity

A feature of a transaction that indicates that either all actions of the transaction happen or none happen.

authentication

The process of determining the identity of a user attempting to access a system. For example, passwords are commonly used to authenticate users.

automatic transaction

A transaction that is created by the Microsoft Transaction Server run-time environment for an object based on the component's transaction attribute.

Boolean

A true/false or yes/no value.

base client

A client that runs outside the Microsoft Transaction Server run-time environment, but that instantiates Microsoft Transaction Server objects.

base process

An application process in which a base client executes. A base client runs outside the Microsoft Transaction Server run-time environment, but instantiates Microsoft Transaction Server objects.

business rule

The combination of validation edits, logon verifications, database lookups, policies, and algorithmic transformations that constitute an enterprise's way of doing business. Also known as business logic.

caller

A client that invokes a method of an object. An object's caller isn't necessarily the object's creator. For example, client A could create object X and pass this reference to client B, and then client B could use that reference to call a method of object X. In this case, client A is the creator, and client B is the caller. See also creator.

catalog

The Microsoft Transaction Server data store that maintains configuration information for components, packages, and roles. You can administer the catalog by using the Microsoft Transaction Server Explorer.

class

A type that defines interfaces of a particular type of object. A class defines the properties of the object and the methods used to control the object's behavior.

class factory

An object that implements the IClassFactory interface, which allows it to create objects of a specific class.

class ID (CLSID)

A universally unique identifier (UUID) that identifies a COM component. Each COM component has its CLSID in the Windows Registry so that it can be loaded by other applications.

client

An application or process that requests a service from some process or component.

client/server

A distributed application model in which client applications request services from a server application. A server can have many clients at the same time, and a client can request data from multiple servers. An application can be both a client and a server.

cluster

Two or more independent computer systems that are addressed and managed as a single system using Microsoft Cluster Server.

COM (Component Object Model)

An open architecture for cross-platform development of client/server applications based on object-oriented technology. Clients have access to an object through interfaces implemented on the object. COM is language neutral, so any language that produces ActiveX components can also produce COM applications.

component

A discrete unit of code built on ActiveX technologies that delivers a well-specified set of services through well-specified interfaces. Components provide the objects that clients request at run time.

concurrency

The appearance of simultaneous execution of processes or transactions by interleaving the execution of multiple pieces of work.

consistency

A state where durable data matches the state expected by the business rules that modified the data.

constructor

In C++ and Java, a special initialization function that is called automatically whenever an instance of a class is declared. This function prevents errors that result from the use of unitialized objects. The constructor has the same name as the class itself and can't return a value.

context

State that is implicitly associated with a given Microsoft Transaction Server object. Context contains information about the object's execution environment, such as the identity of the object's creator and, optionally, the transaction encompassing the work of the object. An object's context is similar in concept to the process context that an operating system maintains for an executing program. The Microsoft Transaction Server run-time environment manages a context for each object.

context object properties

Properties which can be obtained from the context object, such as Internet Information Server intrinsic objects.

creator

A client that creates an object provided by a component (using CreateObject, CoCreateInstance, or the CreateInstance method). When a client creates an object, it is given an object reference that can be used to call the methods of that object. See also caller.

data source name (DSN)

The name that applications use to request a connection to an ODBC data source.

deadlock

A situation in which two or more threads are permanently blocked (waiting), with each thread waiting for a resource exclusively held by one of the other threads that is blocked. For example, if thread A locks record 1 and waits to lock record 2, while thread B has locked record 2 and waits to lock record 1, the two threads are deadlocked.

declarative security

Security that is configured with the Microsoft Transaction Server Explorer. You can control access to packages, components, and interfaces by defining roles. Roles determine which users are allowed to invoke interfaces in a component. See also programmatic security.

direct caller

The identity of the process (base client or server process) calling into the current server process.

direct creator

The identity of the process (base client or server process) that directly created the current object.

distributed COM (DCOM)

DCOM is an object protocol that enables ActiveX components to communicate directly with each other across a network. DCOM is language neutral, so any language that produces ActiveX components can also produce DCOM applications.

domain

In Windows NT, a collection of computers defined by the administrator of a Windows NT server network that share a common directory database. A domain provides access to the centralized user accounts and group accounts maintained by the domain administrator. Each domain has a unique name.

durability

A state that survives failures.

dynamic-link library (DLL)

A file that contains one or more functions that are compiled, linked, and stored separately from the processes that use them. The operating system maps the DLLs into the address space of the calling process when the process is starting or while it's running.

exception

An abnormal condition or error that occurs during the execution of a program and that requires the execution of software outside the normal flow of control.

failfast

A policy of Microsoft Transaction Server that facilitates fault containment. When the Transaction Server encounters an unexpected internal error condition, it immediately terminates the process and logs messages to the Windows NT event log for details about the failure.

fault isolation

Containing the effects of a fault within a component, rather than propagating the fault to other components in the system.

fault tolerance

The ability of a system to recover from an error, a failure, or a change in environmental conditions (such as loss of power). True fault tolerance provides for fully automatic recovery without disruption of user tasks or files, in contrast to manual means of recovery such as restoring data loss with backup files.

global account

A normal user account in the user's home domain. Most accounts are global accounts, which is the default setting. If multiple domains are available, it's best if each user in the network has only one global account in only one domain.

group

A name that identifies a set of one or more Windows NT users accounts.

identity

A package property that specifies the user accounts that are allowed to access the package. It can be a specific user account or a group of users within a Windows NT domain.

in-doubt transaction

A transaction that has been prepared but hasn't received a decision to commit or abort because the server coordinating the transaction is unavailable.

in-process component

A component that runs in a client's process space. This is typically a dynamic-link library (DLL).

instance

An object of a particular component class. Each instance has its own private data elements or member variables. A component instance is synonymous with object.

interactive logon user

The user that is currently logged on a Windows Transaction Server computer.

interface

A group of logically related operations or methods that provides access to a component object.

isolation

A characteristic whereby two transactions running in parallel produce the illusion that there is no concurrency. It appears that the system runs one transaction at a time.

just-in-time activation

The ability for a Microsoft Transaction Server object to be activated only as needed for executing requests from its client. Objects can be deactivated even while clients hold references to them, allowing otherwise idle server resources to be used more productively.

library package

A package that runs in the process of the client that creates it. Library packages do not support component tracking, role checking, or process isolation. MTS supports two types of packages: Library package and server package.

load balancing

Distribution of the processing load among several servers carrying out network tasks to increase overall network performance.

local account

An account provided in a local domain for a user whose regular account isn't in a trusted domain. Local accounts cannot be used to log on interactively. Local accounts created in one domain cannot be used in trusted domains.

main thread

A single thread used to run all objects of components marked as "single threaded." See also apartment thread.

marshaling

The process of packaging and sending interface method parameters across thread or process boundaries.

method

A procedure (function) that acts on an object.

Microsoft Distributed Transaction Coordinator (MS DTC)

A transaction manager that coordinates transactions that span multiple resource managers. Work can be committed as an atomic transaction even if it spans multiple resource managers, potentially on separate computers.

Microsoft Transaction Server component

A COM component that executes in the Microsoft Transaction Server run-time environment. A Transaction Server component must be a dynamic-link library (DLL), implement a class factory to create objects, and describe all of the component's interfaces in a type library for standard marshaling.

Microsoft Transaction Server Explorer

An application to configure and manage Microsoft Transaction Server components within a distributed computer network.

Microsoft Transaction Server object

A COM object that executes in the Microsoft Transaction Server run-time environment and follows the Transaction Server programming and deployment model.

Null

A value that indicates missing or unknown data.

object

A run-time instance of a COM component. An object is created by a component's class factory. Object is synonymous with instance.

object variable

A variable that contains a reference to an object.

ODBC resource dispenser

A resource dispenser that manages pools of database connections for Microsoft Transaction Server components that use the standard ODBC programming interfaces.

OLE Transactions

OLE Transactions is an object-oriented, two-phase commit protocol based on the Component Object Model (COM). It is used by resource managers in order to participate in distributed transactions coordinated by Microsoft Distributed Transaction Coordinator (DTC).

Open Database Connectivity (ODBC)

A standard programming language interface used to connect to a variety of data sources.

original caller

The identity of the base client that initiated the activity.

original creator

The identity of the base client that created the current object. The original caller and original creator are different only if the original creator passed the object to another base client. See also original caller.

out-of-process component

A component that runs in a separate process space from its client. The Microsoft Transaction Server enables components implemented as DLLs to be used out-of-process from the client, by loading the components into surrogate server processes.

package

A set of components that perform related application functions. All components in a package run together in the same Microsoft Transaction Server server process. A package is a trust boundary that defines when security credentials are verified, and a deployment unit for a set of components. You can create packages with the Transaction Server Explorer. Packages can be either a library package or server package.

package file

A file that contains information about the components and roles of a package. A package file is created using the package export function of the Transaction Server Explorer. When you create a pre-built package, the associated component files (DLLs, type libraries, and proxy-stub DLLs, if implemented) are copied to the same directory where the package file was created.

pooling

A performance optimization based on using collections of pre-allocated resources, such as objects or database connections. Pooling results in more efficient resource allocation.

pre-built package

A package file that contains information about the components and roles of a package. A package file is created using the package export function of the Transaction Server Explorer. When you create a pre-built package, the associated component files (DLLs, type libraries, and proxy-stub DLLs, if implemented) are copied to the same directory where the package file was created.

process isolation

The technique of running a server process in a separate memory space in order to isolate that process from other server processes. Process isolation protects a server process from other fatal application errors. Isolating a server process also prevents the isolated process from terminating another server process with an application fatal error. An MTS package that supports process isolation is called a Server package.

programmatic identifier (progID)

A name that identifies a COM component. For example, a programmatic ID could be Bank.MoveMoney.

programmatic security

Procedural logic provided by a component to determine if a client is authorized to perform the requested operation. See also declarative security.

proxy

An interface-specific object that provides the parameter marshaling and communication required for a client to call an application object that is running in a different execution environment, such as on a different thread or in another process. The proxy is located with the client and communicates with a corresponding stub that is located with the application object that is being called.

remote component

A component used by a client on a different computer.

Remote Procedure Call (RPC)

A standard that allows one process to make calls to functions that are executed in another process. The process can be on the same computer or on a different computer in the network.

replication

An operation which copies the catalog from one computer to another. Replication is used to synchronize clustered MTS servers.

resource dispenser

A service that provides the synchronization and management of nondurable resources within a process, providing for simple and efficient sharing by Microsoft Transaction Server objects. For example, the ODBC resource dispenser manages pools of database connections.

Resource Dispenser Manager

A dynamic-link library (DLL) that coordinates work among a collection of resource dispensers.

resource manager

A system service that manages durable data. Server applications use resource managers to maintain the durable state of the application, such as the record of inventory on hand, pending orders, and accounts receivable. The resource managers work in cooperation with the transaction manager to provide the application with a guarantee of atomicity and isolation (using the two-phase commit protocol). Microsoft SQL Server is an example of a resource manager.

role

A symbolic name that defines a class of users for a set of components. Each role defines which users are allowed to invoke interfaces on a component.

safe reference

A reference to the current object that is safe to pass outside the current object's context.

security ID (SID)

A unique name that identifies a logged-on user to the security system. SIDs can identify one user or a group of users.

semaphore

A locking mechanism used inside resource managers or resource dispensers. Semaphores have no symbolic names, only shared and exclusive mode access, no deadlock detection, and no automatic release or commit.

server package

A package that runs isolated in its own process on the local computer. Server packages support role-based security, resource sharing, process isolation, and process management (such as package tracking). MTS supports two types of packages: library and server package.

server process

A process that hosts Microsoft Transaction Server components.

A Microsoft Transaction Server component can be loaded into a surrogate server process, either on the client's computer or into a client application process.

shared property

A variable that is available to all objects in the same server process via the Shared Property Manager. The value of the property can be any type that can be represented by a variant.

snap-in

An administrative program hosted by the Microsoft Management Console (MMC). The MTS Explorer on Windows NT is a snap-in.

stateful object

An object that holds private state accumulated from the execution of one or more client calls.

stateless object

An object that doesn't hold private state accumulated from the execution of one or more client calls.

string expression

Any expression that evaluates to a sequence of contiguous characters.

stub

An interface-specific object that provides the parameter marshaling and communication required for an application object to receive calls from a client that is running in a different execution environment, such as on a different thread or in another process. The stub is located with the application object and communicates with a corresponding proxy that is located with the client that calls it.

thread

The basic entity to which the operating system allocates CPU time. A thread can execute any part of the application's code, including a part currently being executed by another thread. All threads of a process share the virtual address space, global variables, and operating-system resources of the process.

transaction

A unit of work that is done as an atomic operation—that is, the operation succeeds or fails as a whole.

transaction context

An object used to allow a client to dynamically include one or more objects in one transaction.

transaction manager

A system service responsible for coordinating the outcome of transactions in order to achieve atomicity. The transaction manager ensures that the resource managers reach a consistent decision on whether the transaction should commit or abort.

trace message

A message that includes the current status of various Microsoft Transaction Server activities, such as startup and shutdown.

transaction timeout

The maximum period of time that a transaction can remain active before it's automatically aborted by the transaction manager.

type library

A file containing standard descriptions of data types, modules, and interfaces that can be used to fully expose objects with ActiveX technology.

two-phase commit

A protocol that ensures that transactions that apply to more than one server are completed on all servers or none at all. Two-phase commit is coordinated by the transaction manager and supported by resource managers.

user name

The name that identifies a Windows NT user account.

XA protocol

The two-phase commit protocol defined by the X/Open DTP group. XA is natively supported by many Unix databases, including Informix, Oracle, and DB2.