| By Tyler Jewell | Article Rating: |
|
| October 21, 2001 12:00 AM EDT | Reads: |
11,942 |
By their very nature, Web services operate in a loosely-coupled, geographically-dispersed environ-ment. From an infrastructure perspective, what does this mean for transaction processing systems? Do the existing approaches to handling transactions through the use of an XA-compliant, two-phase commit transaction manager apply directly to Web services? Typical transaction manage-ment infrastructures have complete control over the resources that participate in a transaction: either every resource fully commits or fully rolls back.
In a Web services environment, however, the resources that need to participate in a business transaction need to be aligned, but not dictated to. The business actions of one service need to coordinate and align themselves with the business actions of another service. Even though each node or participant in a Web service can have an independent workflow that executes on its own business rules, the entire business transaction still needs to behave as a single unit. In a loosely-coupled environment, there can't be a central transaction manager dictating all of the rules, commits, and rollbacks. In many circumstances, the business rules of an individual participant may override the intentions of the business transaction. In a business world, transactions need to be coordinated with oversight while still providing voting privileges for the participants. Additionally, just because some participants may not favor the outcome of the business transaction and/or vote against it, the transaction may still continue to commit.
In a business environment, this is analogous to any negotiation. For example, when an author negotiates a new book contract, that author negotiates the terms and arrangements with multiple publishers. Some publishers may offer higher royalties while others may commit senior editors to oversee a project. The author and each of the publishers need to participate in a single business transaction. In this scenario, as long as the author and at least one publisher are still participating, the business trans-action can continue. The business transaction could still fully commit even though some of the publishers opt to roll back their individual participation. In an XA-compliant, two-phase commit transaction scenario, the flagging of rollback from any resource eventually causes the entire transaction to roll back.
As another example, a car manufacturer may only want a business transaction to fully commit if they can purchase 100,000 tires for less than $1,000,000 and subcontract the painting and detailing of their cars for less than $500 per car. If one of these conditions can't be met by either trading partner, then the entire transaction needs to roll back. To commit to delivering 100,000 tires, the tire manufacturer needs to lock up the resources necessary to produce the tires. Additionally, for the painting subcontractor to commit to the transaction, they need to ensure availability of supplies. At any given time, any participant can back out of the negotiation and the business transaction. And, based on the demands and rules of engagement, the transaction can continue or be cancelled.
Businesses naturally run this way, and a technology infra-structure to support the same type of behavior is needed. A technology infrastructure is required to link business actions into a cohesive unit across departmental or corporate boundaries. This fall the OASIS Business Transactions technical committee (www.oasis-open.org/committees/business-transactions/) will adopt the Business Transaction Protocol (BTP) as an OASIS Committee Specification. The BTP extends the two-phase commit transaction management approach to address the needs of disparate trading partners that use XML to exchange data. This article provides some basic information about the BTP. Architects, developers, and businesses expecting to perform intra-enterprise or trading partner integration will find the BTP a critical component for their future projects.
The Basics of Business Transactions
At the lowest levels of the BTP, there are two types of work orders: atoms and cohesions. An atom is the simplest unit of work and behaves like existing XA-compliant, two-phase commit transactions. An atom of work follows the traditional ACID (Atomic, Consistent, Isolated, Durable) properties and must either fully commit or fully roll back. In a Web Services environment, the operations exposed by a single Web service and/or the internal processes of that Web service would usually make up a single atom. It's possible to have an atom that spans Web services, but there are many limitations to allowing that.
A cohesion is a set of atoms that can be manipulated by a business transaction's initiator. With a cohesion, an initiator is allowed to dictate whether each atom within the cohesion succeeds or fails, even if the atom is capable of succeeding. A cohesion is a transaction that is run by a voting/enrollment process where the initiator of the transaction has the final approval or rejection vote. The initiator can apply business rules to its decision-making process in full light of the recommendations made by all of the atoms in the transaction. Another way to view a cohesion is as a reduction process: when a cohesion begins, many atoms can be enlisted as part of the business transaction, but the cohesion provides a structured approach to reducing the choices available, with the intention of driving a single, successful outcome in the end.
A cohesion can easily be structured to be run by a program. For example, the sample code shown in Listing 1 demonstrates what creating an atom and cohesion may look like. Note that the BTP doesn't define a standard API and that this is purely for demonstration purposes.
The Roles in a Business Transaction
The BTP specification defines its scope based upon the actors that can be involved with a business transaction. There are a variety of roles defined in the specification:
Figure 1 shows the relationships that the different actors can have. Even though there are four different relationships that can occur, the BTP specification only defines the coordination protocol between the Coordinator and the Participant and the operation invocation protocol between the Initiator and the Service. The definition of the demarcation and participant API is left to other bodies such as the Java Community Process. The code snippet provided in this article is a simple example of a demarcation API that may be created for cohesions and atoms.
It's important to understand that the operation invocation protocol isn't a competitor or likeness of SOAP. Rather, it defines extensions to existing XML-based interoperability standards to facilitate invocation operations under the context of an atomic or cohesive business transaction. Transaction ident-ifiers and other context inform-ation about entities participating in a business transaction must be relayed on every message passed between two processes. The operation invocation protocol defines the extensions necessary to facilitate this behavior.
Understanding the Protocol
The BTP is a protocol, but doesn't necessarily participate in a protocol stack. TCP/IP, RMI, DCOM, and SOAP are all protocols that operate as part of the wire protocol stack. They dictate the semantics of conversation between two nodes that are invoking services. The BTP isn't part of this protocol stack and should be considered an infrastructure support mechanism. (If the wire protocol were drawn as a top-down stack, the BTP would be a dotted line accessory.) You can liken BTP to other infrastructure technologies that are aligned with wire protocols, but aren't part of the stack, such as security, routing, reliability, and attachments.
Additionally, the BTP will occur behind the scenes from any developer. Developers will use a demarcation API, such as something similar to the Java Transaction Architecture (that hasn't yet been built) to control an Initiator of a business transaction, but not to create the BTP protocol messages. The BTP protocol messages will be sent between Initiator/Service and Coordinator/Participant transparently as the state of the system progresses.
Figure 2 shows a big-picture view of the actors and the invocations that they can make upon one another. There are a variety of invocations that can be done as part of the BTP, most of which take place behind the scenes in a typical application. The specification defines its scope based upon the actors that can be involved with a business transaction.
There are a variety of messages that are communicated between actors:
Where to Get the Protocol
Currently, there aren't any infrastructures that support BTP, but it should rapidly be adopted in the upcoming year. BEA Systems, HP, Choreology, Interwoven, AppliedTheory, IPNet, Bowstreet, Entrust, Sun Microsystems, and Talking Blocks are all members of the technical committee. Any of these vendors could provide a BTP infrastructure in the very near future. For example, BEA Systems, Inc. is already looking at how BTP will be incorporated into a near-release of the WebLogic Integration platform. Also, upon acceptance of the BTP within OASIS, Microsoft and the Java Community Process will likely follow suit by forming committees to create standard demarcation and participant APIs. Additionally, Choreology currently has a simple trading demo based upon the BTP. It can be downloaded from
www.choreology.com/.
Summary
The BTP specification provides a much-needed addition to the infrastructure community. Its support among transaction managers will provide flexibility not currently available within XA-compliant, two-phase commit transaction engines. The BTP specification provides participant autonomy so that the decisions of one participant mimic the behavior of a corporate negotiation. Corporate negotiation requires compen-sation-based reversals, coordination of cohesions, and participant-defined timeouts that can impact an atom, but not necessarily a cohesion. Additionally, the BTP allows for a transaction to operate with discontinuous services that may come and go. In a real organization, quotes and contract negot-iations can last milliseconds or years; the BTP allows for long-running transactions without limiting the scalability of any single participant (a participant is allowed to cancel based upon a timeout dependent on its business requirements). Also, the BTP is designed to be interoperable via XML across any number of communication wire protocols, allowing it to work with an application built on any popular platform.
For more information about the BTP or to see the latest draft, visit the OASIS Web site at www.oasis-open.org.
Published October 21, 2001 Reads 11,942
Copyright © 2001 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Tyler Jewell
Tyler is COO of The Middleware Company responsible for all day-to-day
activities at the firm including management of communities, consulting,
research and training businesses. Tyler has been in the enterprise
software space for 11 years working at BEA Systems, Technology Resource
Group, Talarian and Banner Blue Software. During his six years at BEA,
Tyler held a number of executive roles including running Developer
Evangelism, Education Development and BEA eWorld.
![]() |
boualem 07/03/02 02:18:00 PM EDT | |||
salut ca va minicom pour conecte des choses |
||||
![]() |
x 04/18/02 02:41:00 AM EDT | |||
- The Top 150 Players in Cloud Computing
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Expo New York Call for Papers Now Open
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- US Federal Government is Major Cloud Computing Innovator
- Google Wave
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Adaptivity & Cloud Computing: Exclusive Q&A with CEO Tony Bishop
- 4th International Cloud Expo: Photo Album
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Industry Experts Discuss the State of Cloud Computing
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- SOA World Power Panel on SYS-CON.TV
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Expo New York Call for Papers Now Open
- 1st Annual Government IT Conference & Expo: Themes & Topics
- Stock in Focus: Dragon Capital
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- SOA World Conference & Expo SYS-CON.TV Power Panel Live From Times Square










Cloud computing is a game changer. The cloud ...





















