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:
AppClient Role: This role is responsible for performing the following tasks:
Building a CoordinationContext Element, as specified in [WSC10] and [WSC11], from an OleTx transaction.
Formatting a FlowTransaction Message (section 2.2.3.2.4).
AppServer Role: This role is responsible for parsing a FlowTransaction Message (section 2.2.3.2.4).
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.