Atomic Transactions
WS-AtomicTransaction specifies traditional ACID transactions [Gray & Reuter] for Web services. The established support for this widely used behavior includes a designated coordinator that is independent of all participants. Within the context of the atomic transaction coordination type, three protocols are defined: a Completion protocol and two variants of a Two-Phase Commit (2PC) protocol. The Completion protocol is used to initiate commit processing. A Web service registered for Completion has the ability to tell the designated coordinator when commit processing is to begin. This protocol also defines messages to communicate the final result of the transaction to the initiator. However, the protocol does not require that the coordinator ensure that the result was processed by the initiator. In contrast, other behaviors in WS-AtomicTransaction do require the coordinator to ensure that participants process the coordination messages.The 2PC protocol brings all registered participants to a common decision to either commit or abort the transaction, and it ensures that all participants are informed of the final result. As its name indicates, it uses two rounds of notifications to complete the transaction. Two variants of this protocol are defined: Volatile 2PC and Durable 2PC. Both protocols use the same messages on the wirecorresponding to the operations of prepare, commit, and abortbut Volatile 2PC has no durability requirements. The volatile 2PC protocol is to be used by participants that