Uses for Long-Running Distributed Transactions

18
Uses for Long-Running Distributed Transactions Object Management Group Web Services Workshop 6 March 2002 William Cox BEA Systems, Inc. [email protected]

description

Uses for Long-Running Distributed Transactions. Object Management Group Web Services Workshop 6 March 2002 William Cox BEA Systems, Inc. [email protected]. Agenda. Introduction About OASIS Salient Facts about BTP Web Service Aggregation Transactions and Web Services - PowerPoint PPT Presentation

Transcript of Uses for Long-Running Distributed Transactions

Page 1: Uses for Long-Running Distributed Transactions

Uses for Long-Running Distributed Transactions

Object Management GroupWeb Services Workshop

6 March 2002

William CoxBEA Systems, Inc.

[email protected]

Page 2: Uses for Long-Running Distributed Transactions

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

Page 3: Uses for Long-Running Distributed Transactions

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

Page 4: Uses for Long-Running Distributed Transactions

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)

Page 5: Uses for Long-Running Distributed Transactions

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

Page 6: Uses for Long-Running Distributed Transactions

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

Page 7: Uses for Long-Running Distributed Transactions

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

Page 8: Uses for Long-Running Distributed Transactions

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

Page 9: Uses for Long-Running Distributed Transactions

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

Page 10: Uses for Long-Running Distributed Transactions

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

Page 11: Uses for Long-Running Distributed Transactions

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

Page 12: Uses for Long-Running Distributed Transactions

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

Page 13: Uses for Long-Running Distributed Transactions

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

Page 14: Uses for Long-Running Distributed Transactions

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

Page 15: Uses for Long-Running Distributed 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

Page 16: Uses for Long-Running Distributed Transactions

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

Page 17: Uses for Long-Running Distributed Transactions

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

Page 18: Uses for Long-Running Distributed Transactions

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