Uses for Long-Running Distributed Transactions
Object Management GroupWeb Services Workshop
6 March 2002
William CoxBEA Systems, Inc.
2OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Agenda
• Introduction
• About OASIS
• Salient Facts about BTP
• Web Service Aggregation
• Transactions and Web Services
• Applications of BTP
• Conclusions
• References
3OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Introduction
• Previous talks in this session have discussed– Why BTP?
– What is BTP?
• This talk looks at BTP as an integration and business process implementer's tool
• BTP makes error-prone complex transactions easier to program
• Details of BTP transactions need not be visible to users of higher level APIs
4OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
What is OASIS?
• OASIS is a member-led consortium dedicated to building systems interoperability specifications
• OASIS focuses on industry applications of structured information standards, such as XML, SGML, and CGM.
• Members of OASIS are providers, users and specialists of standards-based technologies and include organizations, individuals and industry groups. – ~200 organizational members, ~250 individual members
• International, not-for-profit, open, independent
• Successful through industry-wide collaboration
Information courtesy OASIS (http://www.OASIS-open.org)
5OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
OASIS Technical Work Sequence
1. Any three OASIS members propose creation of a technical committee (TC)
2. Existing technical work submitted to TC; or TC starts work at the beginning
3. TC conducts and completes technical work; open and publicly viewable
4. TC votes to approve work as an OASIS Committee Specification
5. TC votes to submit the Committee Specification to OASIS membership for consideration
6. OASIS membership reviews, approves the Committee Specification as an OASIS Standard
Information courtesy OASIS (http://www.OASIS-open.org)
BTP Status 3/2002
6OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
OASIS Business Transactions Technical Committee• Founded under the OASIS process in March
2001 by BEA, Interwoven, and Sun, soon joined by others
• Current TC membership includes individual members of OASIS plus employees of
Individual members include Bill Pope (Chair) and Mark Potts
BEA Systems Bowstreet CodeMetamorphosis
Choreology HP Iona
Oracle SeeBeyond Sun
Sybase Systinet
7OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Salient Facts about BTP
• Atoms do (mostly) what atomic transactions do
• Cohesions do (mostly) what real business processes do in long-running interactions
• Compensating actions are a problem if too common
• BTP is useful as an implementing technology
• BTP is relatively low level and complex
• BTP is not the only solution in its problem domain
8OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Web Service Aggregation
• ag·gre·ga·tion Date: 15471 : a group, body, or mass composed of many distinct parts or individuals2 a : the collecting of units or parts into a mass or whole b : the condition of being so collected (Webster.com)
• Tools for business processes
• Composition
• Workflows and choreographies
9OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Tools for Business Processes
• BEA Business Process Manager tool—Each element can be implemented by a web service, each workflow can be presented as a web service
10OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Tools for Business Processes (continued)
• WSFL does recursive composition in a similar manner, but all basic activities are web services
• Other modeling tools can do similar integration with web services
• Richer join semantics take better advantage of BTP
11OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Composition and Partial Selection
• Composition and transactions– A happens
– B happens
– Need both-or-neither semantic
• Partial selection– Some combination of A, B, …
happens
– One or more permutations, determined by business logic, determines success
A B
12OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Workflows and Choreographies
• WSFL
• XLANG
• BPML
• Details of first three and BTP in Potts, Temel paper (see References)
• ebXML Business Process interactions
• Other proposed description languages
• All have similarities
13OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Example: WSFL Join Conditions
• Join conditions in WSFL are Boolean expressions
• Boolean optimization is by default off; “dead path elimination” addresses resulting problems
• Complex conditions can be implemented as the business logic in a cohesion; broader portions of the workflow as related cohesive elements
14OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Explicit and Implicit Transactions
• Explicit Transactions– Indicator of transactional semantics in
description/graphical representation
– Explicit boundaries of transactions placed in business logic
• Implicit Transactions– Joins as implicit transactions, grouped
– Implement Boolean optimization as cohesions
– Conditions may be harder to express
– Other possible applications of transactions
15OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Web Services and Transactions
• WSDL doesn’t have transactional support
• SOAP or interfaces need to carry one or more of– Correlation ID
– Conversation ID (for long-running conversations, not necessarily transactional—viz. WLStudio)
– Transaction context ID (integer, for atomic single-site)
– BTP Context (XML, more information)
• Placed in SOAP Header today; potential for conflicts as SOAP Header is used more and more
16OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Applications of BTP
• Direct uses include those in examples (e.g. shipping and supply)
• Indirectly, BTP can be a supporting technology for aggregations including composition, workflows, and choreography– BTP is not required, but is the sole technology approaching
standardization in this space– Proprietary protocols including BEA XOCP, and those
underlying XLANG, WSFL
• BTP simplifies the complexity of distributed agreement without making you “roll your own”
So exactly when did you last completely code a dialog box?!—Speaker at this workshop
17OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
Conclusions
• Web services [recursive] aggregation is an important concept that deserves broad support
• BTP is a useful tool for integration and implementation of business processes and web services aggregation
• WSDL and SOAP need to expand to standardize conversation, correlation, and transaction IDs, BTP contexts
18OMG Web Services Workshop 6 March 2002Copyright 2002 BEA Systems, Inc All Rights Reserved
References• BTP Web site:
www.oasis-open.org/business-transactions/
• Mark Potts & Sazi Temel, “Business Transactions in Workflow and Business Process Management” on BTP Web site
• XLANG: www.gotdotnet.com/team/xml_wsspecs/xlang-c/
• BPML: www.bpmi.org/
• WSFL:
www.ibm.com/software/solutions/webservices/pdf/WSFL.pdf