the influence of an external transaction on a bpel scope
TRANSCRIPT
Presented by Oliver Kopp 1
Oliver Kopp, Ralph Mietzner, Frank LeymannInstitute of Architecture of Application Systems (IAAS)
www.iaas.uni‐stuttgart.de
The Influence of anExternal Transaction on a
BPEL Scope
17th International Conference onCOOPERATIVE INFORMATION SYSTEMS
CoopIS 2009 – http://www.onthemove‐conferences.org/index.php/coopis
Presented by Oliver Kopp 2
Agenda
Background
Usual Integration of Partner Services
Choreography Scenario
Relationship of WS‐Coordination Activities
Extension of WS‐Business Activity
Presented by Oliver Kopp 3
Background
SOAImplementation: 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, tooLong‐running transactions
Compensation instead of ACIDSAGA‐Principle: Garcia‐Molina, H. & Salem, K. Dayal, U. & Traiger, I. L. (ed.) Sagas. SIGMOD’87, ACM Press
Presented by Oliver Kopp 4
Usual Integration of Partner Services
BPEL’s transaction boundaries are scopesInvokation of the visa agency is also a scopeWhat 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.
Travel
Agen
cy Visa Application
Presented by Oliver Kopp 5
WS‐Coordination Framework
Tai, S., Khalaf, R., Mikalsen, T.A.: Composition of Coordinated Web Services. In: Middleware 2004.
BPEL Process
Coordinator
Service 1Registration Service
Protocol Service
ActivationService
Message including Coordination Context
CoordinationContext
Service 2Message including Coordination Context
Presented by Oliver Kopp 6
WS‐Coordination Activity Tree
BPEL Process Service 1
Service 2
Coordinator
Service 1 Service 2
Service 2.1
BPEL Process
Presented by Oliver Kopp 7
Coordination Protocol: WS‐Business Activity
Service is tied to life‐cycle of calling processCompensation‐based Transactions:WS‐Business Activity (WS‐BA) coordination protocol
Tai, S., Khalaf, R., Mikalsen, T.A.: Composition of Coordinated Web Services. In: Middleware 2004.
Active Completed Closing Ended
Compensating
Coordinator generated
Participant generated
Canceling
completed
Failing
close closed
fail
fail
canceled
cancel
compensated
failfailed
compensate
Presented by Oliver Kopp 8
ScenarioTravel Agency
Send BookingDetails
Airline Reserve Seat
Send Confirmation
Free Seat
Flightcanceled
Create eTicket
Send eTicket
Flight started24h
Visa Application
24h
Send Confirmation
Print andSend TicketInform
Customer
Presented by Oliver Kopp 9
Scope Relations – WS‐Coordination “Tree”Travel Agency
ScopeBooking (SB)
Airline Send
eTicket
Visa Application
ScopeTicket (ST)
ScopeReservation (SR)
Travel Agency Process
Scope SB Visa Application Scope ST
AirlineProcess
Scope SR Send eTicket
Nesting relationship of WS‐Coordination Activities
Pottinger, S., Mietzner, R., Leymann, F.: Coordinate BPEL Scopes and Processes byExtending the WS‐Business Activity Framework. In: 15th International Conferenceon Cooperative Information Systems (CoopIS 2007).
Presented by Oliver Kopp 10
Need for Participant‐Triggered Compensating
Current WS‐BA: Coordinator triggers compensationWS‐BA w/ PTC: Coordinator and Participant may trigger compensation
Completed Closing Ended
Compensating Failing
close closed
compensated
failfailed
compensate
PreparingClosing
ClosingPrepared
Closed
Coordinator generatedParticipant generated
compensating
compensating
closingprepared
compensate
closeprepare closing
Presented by Oliver Kopp 11
Conclusion and Outlook
A BPEL scope may be a participant in twocompensation‐based transactionsSolved by a modification of WS‐BATransaction boundary = scope boundaryLast 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?