tocol (BTP) to meet the requirements of Web-basedlong-running collaborative business applications.
2
(See www.oasis-open.org/committees/business-transactions/ for more.) BTP is designed to supportinteractions that cross application and adminis-trative boundaries, thus requiring extended trans-actional support beyond classical ACID. In thisarticle, we examine the drivers behind BTP and theway it might be applied in a potential use case.
Transaction PropertyRequirements
To support B2B interactions, a transaction modelshould possess certain key properties. We can illus-trate these requirements with a simple scenario inwhich a user wants to reserve a flight, a hotelroom, and perhaps a rental car for the duration of a conference. While maintaining autonomy and control of theresources they manage, enterprises exposing Webservices (service providers) must make assurancesthat the user can reserve desired options. The trip’scomponents are clearly interrelated as it makes nosense to book the hotel or car without a flight, but itmight be desirable to book the flight and hotelwithout the car. In addition, the attendee might alsowant to try several options concurrently by reserv-ing multiple flights while looking for convenienthotels, which further increases the transactionrequirements; they must be able to handle multiplesuccessful outcomes, as we demonstrate later. Giventhat business relationships imply a level of value tothe parties involved, achieving some consensusamong them is important. Moreover, because notall participants in a particular transaction need thesame outcome, each transaction might include sev-eral different
consensus groups
.In addition to understanding the outcomes, aparticipant within a business transaction mightneed to support provisional or tentative statechanges — indicating, for example, that a tickethas been reserved but will be released if not con-firmed within a specific time period. All parties must also support the transaction’scompletion, whether through confirmation (finaleffect) or cancellation (countereffect), but each par-
IEEEINTERNETCOMPUTINGhttp://computer.org/internet/JANUARY • FEBRUARY 200331
Coordinating Business Transactions
Related Work in Transaction Specifications
T
here are other emerging specificationsthat seek to address the problem of coordination multiparty business interac-tions on the Web.While these models donot necessarily follow in the same vein asBTP,their goals are close enough to warrantsome additional examination.Perhaps the most noteworthy (in termsof its sponsors) is the Web services coor-dination (WS-C) specification supportedby IBM,Microsoft,and BEA,which aims todefine a generic framework for coordinat-ing abstract entities.
1
WS-C essentially pro-vides an abstract notion of coordinationthat is extended to specific coordinationprotocols by the addition of third partyagents.There is no equivalent of WS-C inBTP,which has been designed specificallyfor transactional coordination and interac-tions.While this means than WS-C ispotentially more flexible that BTP becauseit can support a variety of coordinationprotocols,only one such protocol has beenproposed to date:WS-Transaction,
2
whichIBM,Microsoft,and BEA are also develop-ing based on the WS-C work.WS-T has two transaction models:
•
Atomic transactions
require ACIDsemantics and therefore assume thatresources are locked for the tran-saction’s duration.
•
Business activities
are designed for usein long-running transactions.Theyensure that any updates to state in asystem are made immediately,signi-ficantly reducing the period duringwhich locks must be held.WS-T has no notion of a two-phase com-mit for a business activity because commitsare made immediately on receipt of theassociated messages.If a failure occurs,abusiness activity runs compensating actionsto restore data to a consistent form.Taking a different approach to the prob-lem,Intel’s tentative-hold protocol (THP)introduces the tentative-hold phase,whichcan be used with both
atomic
and
compen-sating
transactions.
3
In this phase,business-es can exchange tentative commitments tothe terms of a contract or interaction (howlong to hold a flight reservation,for exam-ple) in a nonblocking manner.Clients cantentatively obtain resources for long timeperiods without requiring the resourceprovider (the travel agent,for instance) tolock such resources for the duration.If aclient subsequently commits a transactionand acquires the resource,THP will informthem that the holds they have are nolonger valid.Although these protocols aim to fulfillthe same goal as BTP — handling transac-tions in loosely coupled systems — theapproaches differ somewhat considerably.Over time,however,we expect that theproponents of these specifications willreach consensus.A single specification thatharvests the better points of each will like-ly prevail.
References
1.
Web Services Coordination (WS-C)
,joint specifica-tion by IBM,Microsoft,and BEA,Aug.2002;www.ibm.com/developerworks/library/ws-coor/.2.
Web Services Transaction (WS-T)
,joint specificationby IBM,Microsoft,and BEA,Aug.2002;www.ibm.com/developerworks/library/ws-transpec/.3.J.Roberts and K.Srinivasan,“The Tentative HoldProtocol,” W3C Note,Nov.2001;www.w3.org/TR/tenthold-1/.
Leave a Comment