Update 2005-10: On October 01, 2005 OASIS announced a Call for Participation in a new Web Services Transaction (WS-TX) Technical Committee. According to the Charter, the purpose of the WS-TX Technical Committee is "to define a set of protocols to coordinate the outcomes of distributed application actions. The TC will specify an extensible framework for developing coordination protocols through continued refinement of the Web Services Coordination (WS-Coordination v 1.0) specification; in addition, the TC will continue refinement of protocols for two coordination types that use the WS-Coordination framework: atomic transaction (AT) and business activity (BA), based on the Web Services Atomic Transaction (WS-AtomicTransaction v 1.0) and Web Services Business Activity (WS-BusinessActivity v 1.0) specifications submitted to the TC. Collectively, these three specifications will be referred to as the WS-TX Specifications..."
Update 2004-02-03: "WS-BusinessActivity Specification Completes the Web Services Transaction Framework."
[September 16, 2003] A revised version of the Web Services Coordination (WS-Coordination) specification has been published, together with a new Web Services Atomic Transaction (WS-AtomicTransaction) specification. A third specification Web Services Business Activity (WS-BusinessActivity) is to be released separately to complete the new three-part Web Services Transaction framework from Microsoft, BEA, and IBM. WS-AtomicTransaction "replaces part I of the WS-Transaction specification released in August 2002; the specification titled WS-BusinessActivity will replaces part II of WS-Transaction. WS-Coordination "defines the protocols for creating activities, registering in activities, and transmitting information to disseminate an activity. WS-Coordination provides an extensible framework in which participants can join in activities enabling the coordination of distributed applications." WS-AtomicTransaction "defines the Atomic Transaction coordination type and is appropriate to use when building applications that require a consistent agreement on the outcome of a short-lived distributed activity, where strong isolation is required until the transaction completes." WS-BusinessActivity "defines the Business Activity coordination type. It is appropriate to use when building applications that require a consistent agreement on the coordination of a distributed activity, where strong isolation is not feasible, and application-specific compensating actions are used to coordinate the activity."
Bibliographic Information
Web Services Atomic Transaction (WS-AtomicTransaction). September 15, 2003. By Luis Felipe Cabrera (Microsoft), George Copeland (Microsoft), Bill Cox (BEA Systems), Max Feingold (Microsoft), Tom Freund (IBM), Jim Johnson (Microsoft), Chris Kaler (Microsoft), Johannes Klein (Microsoft), David Langworthy (Microsoft, Editor), Anthony Nadalin (IBM), Ian Robinson (IBM), Tony Storey (IBM), and Satish Thatte (Microsoft). Copyright 2001-2003 BEA Systems, International Business Machines Corporation, and Microsoft Corporation, Inc. 17 pages.
Web Services Coordination (WS-Coordination). September 15, 2003. By Luis Felipe Cabrera (Microsoft), George Copeland (Microsoft), William Cox (BEA Systems), Max Feingold (Microsoft), Tom Freund (IBM), Jim Johnson (Microsoft), Chris Kaler (Microsoft), Johannes Klein (Microsoft), David Langworthy (Microsoft, Editor), Anthony Nadalin (IBM), David Orchard (BEA Systems), Ian Robinson (IBM), John Shewchuk (Microsoft), and Tony Storey (IBM). Copyright 2001-2003 BEA Systems, International Business Machines Corporation, and Microsoft Corporation, Inc. 22 pages.
Web Services Business Activity Framework (WS-BusinessActivity). Edited by David Langworthy (Microsoft). By By Luis Felipe Cabrera (Microsoft), George Copeland (Microsoft), William Cox (BEA Systems), Tom Freund (IBM), Johannes Klein (Microsoft), David Langworthy (Microsoft, Editor), Ian Robinson (IBM), Tony Storey (IBM), Satish Thatte (Microsoft). Copyright (c) 2001-2004 BEA Systems Inc, IBM Corporation, Microsoft Corporation. 21 pages. Abstract: "This specification provides the definition of the business activity coordination type that is to be used with the extensible coordination framework described in the WS-Coordination specification. The specification defines two specific agreement coordination protocols for the business activity coordination type: BusinessAgreementWithParticipantCompletion, and BusinessAgreementWithCoordinatorCompletion. Developers can use any or all of these protocols when building applications that require consistent agreement on the outcome of long-running distributed activities." [see the updated news story 2004-02-03: "WS-BusinessActivity Specification Completes the Web Services Transaction Framework"]
Overview of the Web Services Transaction Framework
"The Web Services Transaction framework is composed of three specifications: WS-Coordination, WS-AtomicTransaction, and WS-BusinessActivity.
WS-Coordination defines the protocols for creating activities, registering in activities, and transmitting information to disseminate an activity. WS-Coordination provides an extensible framework in which participants can join in activities enabling the coordination of distributed applications. Activities can support arbitrary behaviors expressed in terms of protocols including agreement coordination behaviors. Such coordination protocols are used to support a number of applications, including those that need to reach consistent agreement on the outcome of distributed transactions. The framework enables existing transaction processing, workflow, and other systems for coordination to hide their proprietary protocols and to operate in a heterogeneous and federated environment. Additionally, this specification describes a definition of the structure of context and the requirements for propagating context between cooperating services.
WS-AtomicTransaction defines the Atomic Transaction coordination type. It is appropriate to use when building applications that require a consistent agreement on the outcome of a short-lived distributed activity, where strong isolation is required until the transaction completes. This specification replaces Part I (AT) of the previously released WS-Transaction specification.
WS-BusinessActivity defines the Business Activity coordination type. It is appropriate to use when building applications that require a consistent agreement on the coordination of a distributed activity, where strong isolation is not feasible, and application-specific compensating actions are used to coordinate the activity. This specification replaces Part II (BA) of the previouslyreleased WS-Transaction specification." [adapted from the Index Page]
WS-AtomicTransaction
"This specification provides the definition of the atomic transaction coordination type that is to be used with the extensible coordination framework described in the WS-Coordination specification. The specification defines three specific agreement coordination protocols for the atomic transaction coordination type: completion, volatile two-phase commit, and durable two-phase commit. Developers can use any or all of these protocols when building applications that require consistent agreement on the outcome of short-lived distributed activities that have the all-or-nothing property...
"Atomic transactions have an all-or-nothing property. The actions taken prior to commit are only tentative (i.e., not persistent and not visible to other activities). When an application finishes, it requests the coordinator to determine the outcome for the transaction. The coordinator determines if there were any processing failures by asking the participants to vote. If the participants all vote that they were able to execute successfully, the coordinator commits all actions taken. If a participant votes that it needs to abort or a participant does not respond at all, the coordinator aborts all actions taken. Commit makes the tentative actions visible to other transactions. Abort makes the tentative actions appear as if the actions never happened. Atomic transactions have proven to be extremely valuable for many applications. They provide consistent failure and recovery semantics, so the applications no longer need to deal with the mechanics of determining a mutually agreed outcome decision or to figure out how to recover from a large number of possible inconsistent states..."
WS-Coordination
"This specification (WS-Coordination) describes an extensible framework for providing protocols that coordinate the actions of distributed applications. Such coordination protocols are used to support a number of applications, including those that need to reach consistent agreement on the outcome of distributed activities.
The framework defined in this specification enables an application service to create a context needed to propagate an activity to other services and to register for coordination protocols. The framework enables existing transaction processing, workflow, and other systems for coordination to hide their proprietary protocols and to operate in a heterogeneous environment.
Additionally, this specification describes a definition of the structure of context and the requirements for propagating context between cooperating services..."
Principal references:
- Transaction Specification Index Page
- Web Services Atomic Transaction (WS-AtomicTransaction). Also in PDF format [cache].
- WS-AtomicTransaction XML Schema ('wsat.xsd')
- WS-AtomicTransaction WSDL ('wsat.wsdl')
- Web Services Coordination (WS-Coordination). Also in PDF format [cache].
- WS-Coordination XML Schema ('wscoor.xsd')
- WS-Coordination WSDL ('wscoor.wsdl')
- Earlier WS-Transaction reference page
- Earlier WS-Coordination reference page
- See: "Web Services Specifications for Business Transactions and Process Automation." 2002-08-12.