|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
WSJ Management Transacting Business with Web Services Part I
Transacting Business with Web Services Part I
By: Alastair Green
Aug. 19, 2003 12:00 AM
Business transaction management (BTM) is a promising new development in general-purpose enterprise software. Most large companies are devoting significant resources to the problem of reliable, consistent integration of application services. BTM offers previously inaccessible levels of application coordination and process synchronization, radically simplifying the design and implementation of transactional business processes. Business process management (BPM) needs to be enriched by BTM for users to see the potential value of BPM realized in practice. XML is already widely deployed as a useful lingua franca enabling the creation of canonical data standards for particular industries, trading communities, and information exchanges. The extended family of Web services standards (clustered around the leading duo of SOAP and WSDL) is gaining growing acceptance as an important way of providing interoperable connectivity between heterogeneous systems. Many organizations are also examining the use of BPM technologies, exemplified by the current OASIS initiative, Web Services Business Process Execution Language (WS BPEL). Increasingly, attention is turning to the special problems associated with building transactional business processes and reliable, composable services. This is where BTM technology comes into its own. In this article - which follows the excellent introductions by Mark Little and Jim Webber to WS-Coordination, WS-Transaction, OASIS Business Transaction Protocol, and BPEL (Web Services Journal, Vol. 3, issues 5-8) - I'm going to look at the rationale for and current status of BTM, and how vendors and users are thinking about the integration or fusion of BTM with BPM, particularly in the OASIS BPEL standardization effort. BPEL, as a special-purpose programming language designed to make processes portable across different vendors' execution engines, can become a very useful standard programming interface for business transactions in the Web services world. Why Is BTM Needed? Automated business transactions are a new category, wider than historical data-centric local or distributed transactions. This "third generation" of transaction management builds out from core transactional technology, particularly the concept of a multi-phase distributed outcome ("two-phase commit" in conventional database/messaging transactions). Business transactions may be of split-second duration, but may also be long-running, i.e., may endure for periods that exceed the anticipated service cycles of participant systems. Business transactions retain the driving ambition of consistency. However, they are more flexible and sophisticated in their means - and often more modest in their goals, reflecting the imperfect determinism of real business processes (which are necessarily designed to cope with innumerable variations and with incremental and partial successes). Both of these features are relevant to the work of the OASIS WS BPEL Technical Committee, whose charter foresees work over a minimum period of nine months (from May this year to January next) to achieve a recognized standard. In the remainder of this article I'll concentrate on the integration of a transactional coordination protocol with BPEL. Exception and Recovery Handling in BPEL Today Processes are initiated by receiving inbound Web service invocations. BPEL, therefore, expects that external stimuli will arrive and substantive processing work will be invoked as Web service documents, typically delivered using SOAP messages. Processes and scopes can declare fault handlers and compensation handlers, in addition to the normal sequence of "happy path" activities. A fault handler is designed to deal with exceptions during normal processing. A compensation handler is designed to reverse the effect of a completed scope, and can only be invoked when the normal work of the scope is finished (this gives the compensation handler a clean starting point for its reversal activity). Compensation handlers can be invoked by the fault handler of an enclosing scope - which can decide which compensations to process, and in which order - in order to roll back partial work in the event of failure. Integrating BTM with BPEL BPM To set the scene, it's useful to look first at the relationship of BPEL processes to Web services. Figure 1 shows a BPEL process, a scope (sub-process) external Web services, and a WS client. Note that a BPEL process may receive messages from a Web service client. It can also call out to Web services, including other BPEL processes that offer Web service interfaces. BPEL processes can also execute nested scopes. (Scopes are effectively processes that happen to be initiated by a colocated process, and have direct access to control variables declared in enclosing scopes/processes.)
![]() BTM features are superimposed on this basic structure. Figure 1 shows a BTM coordination service. (This might be "physically" located within a BPEL execution engine, or operate as a freestanding Web service.) It also shows the use of a business transaction context to connect or relate participant services and processes to a particular business transaction. In looking at the integration of BTM into WS BPEL the technical committee is likely to consider four main areas: In another article, I'll discuss the specific changes proposed for BPEL in order to address these questions. Sidebar BTM: Protocols and Standards A coordination protocol requires three related sub-protocols: a control protocol, which creates and terminates a coordination or transaction (present in BTP); a propagation protocol, which allows a unique transaction identity to be used to bind participating services to a coordination service (this sub-protocol is mostly defined by WS-Coordination); and an outcome protocol, which allows a coordination service to reliably transmit the instructions of a controlling application to the participants, even in the event of temporary process, processor or network failures. WS-T, BTP, and WS-TXM, contain very similar outcome protocols. A coordination protocol is typically useful only if it is inherently reliable, utilizing persistent checkpoints and message retries to survive planned or unplanned interruptions in service. Current BTM products and standards focus on Phase Two, Coordinated Outcome. WS BPEL may prove a useful vehicle for creating a new, wider view of the scope of business tranaction management. Reader Feedback: Page 1 of 1
SOA World Latest Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||