OASIS has announced the approval of its Business Transaction Protocol Version 1.1 as a Committee Draft. BTP Version 1.1 represents a revision of the Version 1.0 specification in the light of feedback and implementation experience.
The Business Transaction Protocol (BTP) is a carrier-neutral protocol designed "to allow coordination of application work between multiple autonomous, cooperating participants. It defines protocol exchanges to ensure the overall application achieves a consistent result. This consistency may be defined a priori: all the work is confirmed or none is (an atomic business transaction or atom); or it can be determined by application intervention in the selection of the work to be confirmed (a cohesive business transaction or cohesion)."
The OASIS Business Transaction Protocol specification defines the protocol "in terms of abstract messages schematized in XML. It defines communications protocol bindings to SOAP, but also allows the transport of BTP messages over other communication protocols. BTP is based on a permissive and minimal approach where constraints on implementation choices are avoided. The protocol also tries to avoid unnecessary dependencies on other standards, with the aim of lowering the hurdle to implementation."
BTP "provides the means to associate and coordinate the requests, responses, and outcomes for distributed applications elements. At a most simple level BTP allows a set of remote calls to be grouped together and the outcomes tied together. It allows for all or nothing outcome, mixed outcome, service alternative recognition and selection, time qualification, and exception reporting."
The OASIS Business Transactions Technical Committee was chartered to "develop technology for business transactions on the Internet. Long lasting business transactions spanning multiple enterprises pose a unique challenge to B2B systems. The protocol allows complex XML message exchanges to be tracked and managed as loosely coupled "conversations" between and among businesses. BTP goes beyond the problem domain currently being addressed by ebXML and is independent of transport protocols and messaging frameworks. The TC members believe that BTP can be layered on any underlying transport mechanism including ebXML Messaging, RosettaNet, or XML-PC (SOAP)."
Business Transaction Protocol. Working Draft 05 [Voted for approval as a Committee Draft]. 9-November-2004. "BTP 1.1." Edited by Peter Furniss (Choreology Ltd). Produced by members of the OASIS OASIS Business Transactions Technical Committee. Co-authors: Sanjay Dalal (BEA Systems, for version 1.0) Tony Fletcher (Choreology Ltd, for version 1.0), Alastair Green (Choreology Ltd, for version 1.0), Bob Haugen (Choreology Ltd, for version 1.1), Alex Ceponkus ( individual, for versions 1.0 and 1.1), and Bill Pope (individual, for version 1.0). Document identifier: 'business_transaction-btp-1.1-spec-wd-05'. 9-November-2004. 163 pages. See the WSDLs and XML schema files referenced below. XML Namespace for the BTP messages: http://docs.oasis-open.org/business-transaction/business_transaction-btp-1.1-core-schema-wd-05.xsd
From the BTP Version 1.1 Introduction
BTP is designed to allow coordination of application work between multiple participants owned or controlled by autonomous organizations. BTP uses a two-phase outcome coordination protocol to ensure the overall application achieves a consistent result. BTP permits the consistent outcome to be defined a priori: all the work is confirmed or none is (an atomic business transaction or atom) or it can be determined by application intervention into the selection of the work to be confirmed (a cohesive business transaction or cohesion).
BTP's ability to coordinate between services offered by autonomous organizations makes it ideally suited for use in a Web Services environment. For this reason this specification defines communications protocol bindings which target the emerging Web Services arena, while preserving the capacity to carry BTP messages over other communication protocols. Protocol message structure and content constraints are schematized in XML, and message content is encoded in XML instances.
BTP allows great flexibility in the implementation of business transaction participants. Such participants enable the consistent reversal of the effects of atoms. For example, BTP participants may use recorded before- or after-images, or compensation operations to provide the "roll-forward, roll-back" capacity which enables their subordination to the overall outcome of an atomic business transaction.
BTP is an interoperation protocol which defines the roles which software agents (actors) may occupy, the messages that pass between such actors, and the obligations upon and commitments made by actors-in-roles. It does not define the programming interfaces to be used by application programmers to stimulate message flow or associated state changes.
BTP is based on a permissive and minimal approach, where constraints on implementation choices are avoided. The protocol also tries to avoid unnecessary dependencies on other standards, with the aim of lowering the hurdle to implementation.
The OASIS Business
TransactionsTechnical Committee began its work at an inaugural meeting in San Jose, Calif. on 13-March-2001, and version 1.0 of this specification was endorsed as a Committee Specification by a unanimous vote on 16th May 2002. The TC revised the specification in the light of feedback and implementation experience to form this present specification of BTP 1.1.
The BT Technical Committee has consciously avoided specifying the integration of BTP with security standards or technology. It is assumed that all BTP actors are within a trust domain or some separate specification defines the integration with security mechanisms.
Business Transaction Protocol (BTP) Specification Overview
"Applications have changed from monolithic entities to composites constructs of distributed elements selected and called by an initiating component. There is a class of these distributed, composite applications that require more assurance and information about the outcome of the remote components than is available in a simple request / response model. BTP provides the means to associate and coordinate the requests, responses, and outcomes for distributed applications elements..."
Relationship to other projects:
"There is currently no comparable work in other standards organizations. There are two known proprietary sets of specifications for transactional Web services, but these do not encompass protocols other than the Web.
BTP uses two-phase interaction of which all other transactional interactions are a degenerate form. This two-phase capability can be collapsed into simpler interactions when interaction delays are more important than transactional visibility or control. BTP provides transactions independently of the protocol used to carry application semantics, defining the abstract messages, message semantics, and a concrete binding.
BTP addresses the issues of transactionality within and across entity boundaries. It defines only a small set of obligations for the service invoker and the service provider. The service provider is free to choose appropriate cancellation or recovery semantics.
The UN/CEFACT BPSS and related work contains an embedded business transaction protocol that is much more limited than BTP... [from the TC FAQ document]
About the OASIS Business Transactions Protocol Technical Committee
"The purpose of the Business Transactions TC is to develop technology for business transactions on the Internet. Long lasting business transactions spanning multiple enterprises pose a unique challenge to B2B systems. The interdependent workflows managed among multiple trading partners, which drive business transactions, need to be coordinated to ensure that the outcome of the transaction is reliable. As an initial input, BEA intends to offer a specification for our Business Transaction Protocol (BTP), which provides this functionality and is implemented in our Weblogic Collaborate product. BTP is an eXtensible Markup Language (XML)-based protocol for representing and seamlessly managing complex, multi-step business-to-business (B2B) transactions over the Internet. The protocol allows complex XML message exchanges to be tracked and managed as loosely coupled 'conversations' between and among businesses. BTP goes beyond the problem domain currently being addressed by ebXML and is independent of transport protocols and messaging frameworks. We believe that it can be layered on any underlying transport mechanism including ebXML Messaging, RosettaNet, or XML-PC (SOAP)." [from the TC Charter]
- Business Transaction Protocol. Version 1.1. Working Draft 05 approved as OASIS Committee Draft.
- BTP XML Schemas and WSDLs:
- BTP 1.1 ZIP archive. See the file listing. [source .ZIP]
- Business Transaction Protocol 1.1 Voted to Committee Draft. Announcement posted by William Z Pope. November 24, 2004.
- OASIS Business Transactions TC web page
- Business Transactions TC Charter
- OASIS Business Transactions TC FAQ document
- TC Mailing list archive
- TC comment archive
- Contacts: Bill Pope, (TC Chair) and Peter Furniss (Choreology Ltd)
- Use Cases for the Business Transaction Protocol
- "Business Transaction Protocol Primer." Version: 1.0. 3-June-2002. OASIS Business Transactions TC. An OASIS Committee Supporting Document. "The Business Transaction Protocol, or 'BTP,' provides a common understanding and a way to communicate guarantees and limits on guarantees between organizations. The formal rules are necessary for the distribution of parts of business processes outside the boundaries of an organization. BTP solves part of the problem for developers of loosely coupled transactions -- the coordination and forcing a consistent termination portions. Expertise in the design of compensating actions is still required, but these compensations are local rather than distributed." Also in HTML format. [source PDF]
- "A Comparison of Web Services Transaction Protocols. A Comparative Analysis of WS-C/WS-Tx and OASIS BTP." By Mark Little (Arjuna Technologies Ltd) and Thomas J. Freund (IBM). From IBM developerWorks, Web services. October 7, 2003. Up to August 2003 there were two contenders for the Web services transaction space: OASIS Business Transactions Protocol (BTP), and the Web Services Transactions (WS-Tx) specification. There have been several subjective articles and comments comparing BTP to WS-Tx, attempting to show that BTP can do everything WS-Tx can and ignoring the important differences that exist. This article will try to give an objective comparison of these two specifications and show how they both attempt to address the problems of running transactions with Web services. At the end of the article it should be apparent how and why WS-Tx and BTP are different, while at the same time illustrating where they do have some commonality.'
- OASIS Business Transaction Protocol Technical Committee Publishes Revised BTP Specification."
- "OASIS Business Transactions Technical Committee" - Local reference page.
- "Messaging and Transaction Coordination":
- Business Process Execution Language for Web Services (BPEL4WS)
- Business Transaction Protocol (BTP)
- OASIS Asynchronous Service Access Protocol TC
- OASIS Web Services Composite Application Framework (WS-CAF) Technical Committee
- W3C Web Services Choreography Working Group
- Web Service Choreography Interface (WSCI)
- Web Service Composite Applications Framework (WS-CAF)
- Web Services Choreography Description Language (WS-CDL)
- Web Services Conversation Language (WSCL)
- Web Services Transaction Framework
- Web Services Atomic Transaction (WS-AtomicTransaction) [replaces WS-Transaction-V1, Part I]
- Web Services Coordination (WS-Coordination) [Version 2]
- Web Services Business Activity (WS-BusinessActivity) [to replace WS-Transaction-V1, Part II]
- Web Services Transaction (WS-Transaction) [Version 1]
- Web Services Coordination (WS-Coordination) [Version 1]
- WS Choreography
- Other Related Work:
- Business Process Management Initiative Specifications (BPML, BPMN, BPQL)
- Business Process Specification Schema (BPSS), including:
- OMG Business Process Definition
- Workflow Standard XML Process Definition Language (XPDL)
- Web Services Flow Language (WSFL)