Intro
Overall Presentation Goal
Speaker's Qualifications
Transactions in SOA?
Presentation Outline
Part 1 - Transactions: Introduction
What is a Transaction?
The Problem: Distributed Transactions
Illustration
Validity=Atomicity
First attempt
Illustration
Not Atomic!
Second attempt
Observation
Trick: Two-Phase Commit
Solution: 2PC
Transactions in Java
Classical Java: 98% of Applications
SOA = Composite Applications
Intra-Company SOA (ESB)
WS-TX Standard(s)
Part 2 - ACID transactions and WS-AT
Classical Transactions: ACID
Isolation = 2-Phase Locking
Value of Isolation?
The Price of Isolation
WS-AT = SOA + ACID
WS-AT Registration
Importance of Registration
WS-AT Registration
Importance of Registration
WS-AT 2-Phase Commit
WS-AT Rollback While Active
WS-AT Rollback During Commit
Lock Time in WS-AT
Use Cases for WS-AT
Part 3 - Compensation-based transactions and WS-BA
Compensation-based transactions and WS-BA
Compensation Example
Lock Time with Compensation
Imperfect Compensation
The Role of WS-BA
BPEL and WS-BA: Nested Scopes
WS-BA "Transaction"
Overriding Compensation
Compensate Requires Completion
Cancel vs Compensate
Cancel vs Compensate
WS-BA = SOA + Worfklow Termination
WS-BA Registration
WS-BA Participant Completion
WS-BA Termination
WS-BA Cancel
WS-BA Compensation
WS-BA Advanced
BPEL Without WS-BA
Modeling Compensation: Book Trip
Possible Use Cases BPEL/WS-BA
Limitations of WS-BA
Limitations of WS-BA
Business Logic on Close: TCC
Part 4 - How do I make my web service transactional?
General Principles
WS-AT Service Architecture
WS-BA Service Architecture
Summary
WS-AT is based on...
More Information
Transactions are entering the web services platform in the form of 'web service transactions'. But are they really needed? This presentation will explore the relevant WS-* standards, why and when they can be useful, and also when to avoid them. In addition, the talk will discuss some (perceived?) alternatives like BPEL or reliable messaging. This session will give you the foundation for building rock-solid reliable web services by choosing the right tools at the right time.
Guy Pardon is the lead architect at Atomikos. Over the years, he has lead the development of several transaction products (both commercial and research prototypes) and his main expertise is in reliable computing, especially when applied to distributed information systems. This is reflected in the Atomikos Transactions product, a java transaction manager for both J2EE, J2SE and web services. Before co-founding Atomikos, Guy acquired a PhD in technical sciences at ETH Zurich (Switzerland) where he researched and pioneered transaction platforms for Internet services (the kind of systems that are today called web services). Central to his past and current interest/work is the autonomy of web service sites, while still offering the reliability found in classical transaction systems.