Upload
coral-melton
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
Fault Recovery in WS-Diamond using the SH-BPEL Engine
Outline
• WS-Diamond and Orchestration
• Self-Healing BPEL (SH-BPEL)
• Recovery Scenarios
• Recovery Using SH-BPEL
• Future Work
Example of Interactions amongWS-BPEL Processes
Send Order Receive Order
Split Order
Check AvailabilityOn Warehouse
Check AvailabilityOn Supplier
Calculate Cost
Supply
Check Availability
Calculation
Split
CUSTOMER SHOP WAREHOUSE
Orchestration, Diagnosis, and Recovery
RecoverySelector
Diagnoser
WS-BPEL
Managem
entInterface
Web Service 1
Web Service 2
Web Service N
Symptoms
Event Logs
Fa
ult
No
tific
atio
n
Event Logs
Other Alarms
Repair
Acti
ons
SH-BPEL
Process-Level Recovery Actions Using SH-BPEL• Standard recovery mechanisms
• Provided by the language• Specified by the designer• Fault handler, compensation handler, event handler
• Pre-Processing recovery mechanisms• Based on existing WS-BPEL constructs• Inserted by designers using tags• Process variable modification, single task or scope retrying, alternative
paths specification, return back to defined safe points
• Extended recovery mechanisms• Realized by external (with respect to the WS-BPEL engine) recovery
modules• Recovery modules interact with both the WS-BPEL engine and invoked
Web services• Substitution, Redo, Retry, ecc…
SH-BPEL Engine
• The purpose is the creation of a Self-Healing extension of BPEL engines (SH-BPEL)
• SH-BPEL allows standard, pre-processing, and extended recovery actions
• It is realized without modifying existing BPEL engine code
• It is composed of a set of interfaces and modules that enable• The communication of SH-BPEL with the Diagnoser and the
Repair Action Selector • The communication between extended recovery modules and
the traditional BPEL engine
SH-BPEL: The Architecture
SH
-BP
EL
AP
I B-A
PI
M-A
PI
Mes
sage
Mon
itor
Mes
sage
Mon
itor
StandardBPEL Engine
PM-API
Process Manager
E-API
SH-BPEL: The Process Manager
ManagementEngine
Man
agem
ent
Inte
rfac
eBPEL Interface Mediator
Web ServiceInvoker
SubstitutionManager
Web ServiceRetriever
MediationService
Process Manager
Case 1: Customer Fault
Send Order Receive Order
Split Order
Check AvailabilityOn Warehouse
Check AvailabilityOn Supplier
Calculate Cost
Supply
Check Availability
Calculation
Split
CUSTOMER SHOP WAREHOUSE
1. The CUSTOMER is declared faulty
2. The Recovery Selector stops the SHOP
3. The CUSTOMER is repaired
4. The Recovery Selector sets the order variable of SHOP inserting the correct value
5. The Recovery Selector resumes the SHOP process from the receive order activity
Case 2: Shop Fault
Send Order Receive Order
Split Order
Check AvailabilityOn Warehouse
Check AvailabilityOn Supplier
Calculate Cost
Supply
Check Availability
Calculation
Split
CUSTOMER SHOP WAREHOUSE
• The SHOP is declared faulty
• The Recovery Selector stops the SHOP and the WAREHOUSE
• The split activity is repaired
• The Recovery Selector retries the split activity
• The Recovery Selector retries all the activities up to the calculate cost activity and then resumes the process
Case 3: Warehouse Fault
Send Order Receive Order
Split Order
Check AvailabilityOn Warehouse
Check AvailabilityOn Supplier
Calculate Cost
Supply
Check Availability
CalculationService
SplitService
CUSTOMER SHOP WAREHOUSE
1. The WAREHOUSE is declared faulty
2. The Recovery Selector stops the SHOP and the WAREHOUSE
3. The Recovery Selector substitutes the WAREHOUSE
4. The Recovery Selector redoes the check availability activity
5. The Recovery Selector redoes all the activities up to the calculate cost activity and then resumes the process
Demo Structure (Case 1 and Case 3)
WS-BPELM
anagement
InterfaceWAREHOUSE 1
SH-BPEL
WSDL1 ≠ WSDL2
SHOPClient
SH-BPELAdministrator
WSDM
Subscription
Invocation
Notification
Repair
WAREHOUSE 2Stop
Resume
Web Service Substitution: Mediator Configuration
MediationService
Warehouse 1WSDL
URBERegistry
Warehouse 1 WSDL
Warehouse 2 WSDL
WSDL Matcher
Similarity EngineMatching Engine
Warehouse 2WSDL
Warehouse 1WSDL
MappingDocument
Web Service Substitution:Mediator execution
Mediation Service
External DataRetriever
Translation Engine
Input message(Warehouse 1 WSDL)
Input message(Warehouse 2 WSDL)
Output message(Warehouse 1 WSDL)
Output message(Warehouse 2 WSDL)
Future Work
• Introduce Semantics to• Enhance recovery actions
• Enhance service mediation
• Define patterns and strategies to recover from common faulty situations