Developers use Microsoft Transaction Server (MTS) to develop scalable server applications built from Microsoft ActiveX components.
It allows developers to focus on solving line of business issues instead of on building the networking infrastructure or the client component of an application.

MTS delivers the “plumbing“—including transactions, scalability services, connection management, and point-and-click administration—providing administrators an easy way to deploy these scalable server applications.

A transaction is a unit of work that succeeds or fails as a whole. Transactions are a way to coordinate a series of changes made to a resource or sets of resources. The most common type of transactions coordinate through a central point, called a resource manager.

Microsoft Transaction Server (MTS) is the resource manager and uses a simple programming model to manage the transactions. The basic pattern consists of the following actions and is always the same

A client requests a Component Object Model (COM) object is running under MTS control. It permits MTS to create an object context and associates it with the object. When the task is completed, the object calls SetComplete to indicate success. If the task is not completed the object calls SetAbort to indicate rollback.

These actions have what are known as ACID properties. ACID is an acronym that stands for Atomicity, Consistency, Isolation, and Durability. The following definitions explain ACID.

Atomicity – Either all changes happen or none happen. It ensures, for instance, that in a bank transaction a deposit and withdrawal will either both occur or neither will occur.

Consistency – Actions taken as a group do not violate any integrity constraints. MTS will check the permissions on every object involved in a transaction to ensure none are violated during a group change.

Isolation – For actions that execute concurrently, one is either executed before or after the other, but not both simultaneously. It prevents different, and possibly conflicting, changes from being made to the same object.

Durability – Changes will survive failures of process, network, operating system, or others.