1.3 Overview

WS-AtomicTransaction, as specified in [WSAT10] and [WSAT11], defines three software entities that participate in Atomic Transactions:

  • Initiator: A software component that creates a CoordinationContext (that is, transaction) and registers for the Completion Protocol.

  • Participant: A software component that requests activation of an existing CoordinationContext and registers for the Two-Phase Commit Protocol.

  • Coordinator: A software component that manages the state of transactions and ensures a consistent outcome among the initiator and all participants in a given transaction. Coordinators, like participants, can also register for the Two-Phase Commit Protocol.

The protocol specified in this document extends the WS-AtomicTransaction protocol by enabling WS-AtomicTransaction initiators, participants, and coordinators to participate in transactions coordinated by OleTx transaction managers, as specified in [MS-DTCO].

This protocol defines two roles:

This protocol defines the following software entities:

  • Client Application: A WS-AtomicTransaction initiator that also implements the Application Role Abstract Data Model, as specified in [MS-DTCO], and the AppClient Role, as specified in this document.

  • Server Application: A WS-AtomicTransaction participant that also implements the Application Role, as specified in [MS-DTCO] (section 1.3.3.1), and the AppServer Role, as specified in this document.

  • Transaction Coordinator: A WS-AtomicTransaction coordinator that is also an implementation of the OleTx transaction manager, as specified in [MS-DTCO].

This protocol defines the extended data types and information used during WS-AtomicTransaction activation, registration and protocol processing, and application-to-application SOAP messaging (that is, initiator-to-participant messaging).

This protocol is applicable in the following three scenarios:

  • A transaction is initiated by a WS-AtomicTransaction initiator and its coordinator. It is subsequently flowed to a server application and its transaction coordinator.

  • A transaction is initiated by a client application and its transaction coordinator. It is subsequently flowed to a WS-AtomicTransaction participant and its coordinator.

  • A transaction is initiated by a client application and its transaction coordinator. It is subsequently flowed to a server application and its transaction coordinator.