Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
The Influence of an External Transaction on a BPEL Scope
1. 17th International Conference on
COOPERATIVE INFORMATION SYSTEMS
CoopIS 2009 – http://www.onthemove‐conferences.org/index.php/coopis
The Influence of an
External Transaction on a
BPEL Scope
Oliver Kopp, Ralph Mietzner, Frank Leymann
Institute of Architecture of Application Systems (IAAS)
www.iaas.uni‐stuttgart.de
Presented by Oliver Kopp 1
2. Agenda
Background
Usual Integration of Partner Services
Choreography Scenario
Relationship of WS‐Coordination Activities
Extension of WS‐Business Activity
Presented by Oliver Kopp 2
3. Background
SOA
Implementation: WS‐Plattform Architecture
Curbera, F., Leymann, F., Storey, T., Ferguson, D.,Weerawarana, S.:Web Services Platform
Architecture: SOAP, WSDL, WS‐Policy, WS‐Addressing, WS‐BPEL, WS‐Reliable Messaging and
More. Prentice Hall PTR, Englewood Cliffs (2005)
Services (described by WSDL)
Orchestrated by a business process
Business Process Execution Language (BPEL)
A business process is a service, too
Long‐running transactions
Compensation instead of ACID
SAGA‐Principle: Garcia‐Molina, H. & Salem, K. Dayal, U. & Traiger, I. L.
(ed.) Sagas. SIGMOD’87, ACM Press
Presented by Oliver Kopp 3
4. Usual Integration of Partner Services
Visa
Agency
Travel
Application
BPEL’s transaction boundaries are scopes
Invokation of the visa agency is also a scope
What if the visa application has to be compensated?
“Manual compensation”
Automated coordination
Tai, S., Khalaf, R., Mikalsen, T.A.: Composition of Coordinated Web Services. In: Middleware 2004.
Presented by Oliver Kopp 4
5. WS‐Coordination Framework
Coordinator
Coordination
Context
BPEL Activation Registration Protocol
Service 1
Process Service Service Service
Message including Coordination Context
Message including Coordination Context Service 2
Tai, S., Khalaf, R., Mikalsen, T.A.: Composition of Coordinated Web Services. In: Middleware 2004.
Presented by Oliver Kopp 5
6. WS‐Coordination Activity Tree
BPEL
Coordinator Service 1
Process
Service 2
BPEL
Process
Service 1 Service 2
Service 2.1
Presented by Oliver Kopp 6
7. Coordination Protocol: WS‐Business Activity
Service is tied to life‐cycle of calling process
Compensation‐based Transactions:
WS‐Business Activity (WS‐BA) coordination protocol
Coordinator generated
Participant generated
completed close closed
Active Completed Closing Ended
compensate
fail compensated
failed
cancel fail
Compensating Failing
fail
Canceling canceled
Tai, S., Khalaf, R., Mikalsen, T.A.: Composition of Coordinated Web Services. In: Middleware 2004.
Presented by Oliver Kopp 7
8. Scenario
Visa
Application
Travel Agency
24h
Send Booking
Details Print and
Send Ticket
Inform
Customer Send
Confirmation
Flight
24h started
Free Create Send
Airline
Reserve Seat
Seat eTicket eTicket
Send
Confirmation Flight
canceled
Presented by Oliver Kopp 8
9. Scope Relations – WS‐Coordination “Tree”
Travel Agency
Visa
Application
Scope Scope
Booking (SB) Ticket (ST)
Airline
Scope Send
Reservation (SR) eTicket
Travel Agency Airline
Process Process
Scope SB Visa Application Scope ST Scope SR Send eTicket
Nesting relationship of WS‐Coordination Activities
Pottinger, S., Mietzner, R., Leymann, F.: Coordinate BPEL Scopes and Processes by
Extending the WS‐Business Activity Framework. In: 15th International Conference
Presented by Oliver Kopp on Cooperative Information Systems (CoopIS 2007). 9
10. Need for Participant‐Triggered Compensating
Current WS‐BA: Coordinator triggers compensation
WS‐BA w/ PTC: Coordinator and Participant may trigger
compensation
compensate
Preparing closing Closing
Closing prepared Prepared
prepare closing close
compensating
close closed
Completed Closing
Closed Ended
compensate
compensating compensated
failed
fail
Compensating Failing
Coordinator generated
Presented by Oliver Kopp Participant generated 10
11. Conclusion and Outlook
A BPEL scope may be a participant in two
compensation‐based transactions
Solved by a modification of WS‐BA
Transaction boundary = scope boundary
Last activity of scope: “reply” to incoming message
What if last activity of scope is not a “reply”?
What if scope boundary is not external transaction
boundary?
What if scope is child of multiple external partners?
Presented by Oliver Kopp 11