150 likes | 299 Views
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 among WS-BPEL Processes. CUSTOMER. SHOP. WAREHOUSE. Send Order. Receive Order. Split.
E N D
Outline • WS-Diamond and Orchestration • Self-Healing BPEL (SH-BPEL) • Recovery Scenarios • Recovery Using SH-BPEL • Future Work
Example of Interactions amongWS-BPEL Processes CUSTOMER SHOP WAREHOUSE Send Order Receive Order Split Split Order Check Availability On Supplier Check Availability On Warehouse Check Availability Calculation Calculate Cost Supply
Diagnoser WS-BPEL Management Interface Recovery Selector Orchestration, Diagnosis, and Recovery Event Logs Web Service 1 Symptoms Web Service 2 Fault Notification Repair Actions Web Service N SH-BPEL Other Alarms Event Logs
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) recoverymodules • 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 Standard BPEL Engine B-API PM-API E-API Message Monitor SH-BPEL API Message Monitor Process Manager M-API
SH-BPEL: The Process Manager BPEL Interface Mediator Management Engine Web Service Invoker Substitution Manager Management Interface Web Service Retriever Mediation Service Process Manager
Case 1: Customer Fault CUSTOMER SHOP WAREHOUSE • The CUSTOMER is declared faulty • The Recovery Selector stops the SHOP • The CUSTOMER is repaired • The Recovery Selector sets the order variable of SHOP inserting the correct value • The Recovery Selector resumes the SHOP process from the receive order activity Send Order Receive Order Split Split Order Check Availability On Supplier Check Availability On Warehouse Check Availability Calculation Calculate Cost Supply
Case 2: Shop Fault 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 Send Order Receive Order Split Split Order Check Availability On Supplier Check Availability On Warehouse Check Availability Calculation Calculate Cost Supply
Case 3: Warehouse Fault CUSTOMER SHOP WAREHOUSE • The WAREHOUSE is declared faulty • The Recovery Selector stops the SHOP and the WAREHOUSE • The Recovery Selector substitutes the WAREHOUSE • The Recovery Selector redoes the check availability activity • The Recovery Selector redoesall the activities up to the calculate cost activity and then resumes the process Send Order Receive Order Split Service Split Order Check Availability On Supplier Check Availability On Warehouse Check Availability Calculation Service Calculate Cost Supply
WS-BPEL Management Interface Demo Structure (Case 1 and Case 3) SHOP Client WSDM Invocation Subscription SH-BPEL Administrator Notification WAREHOUSE 1 WAREHOUSE 2 Stop Repair WSDL1≠ WSDL2 Resume SH-BPEL
WSDL Matcher Matching Engine Similarity Engine Web Service Substitution: Mediator Configuration Warehouse 1 WSDL URBE Registry Warehouse 1 WSDL Mediation Service Warehouse 2 WSDL Warehouse 1 WSDL Mapping Document Warehouse 2 WSDL
Web Service Substitution:Mediator execution Input message (Warehouse 1 WSDL) Input message (Warehouse 2 WSDL) Mediation Service Translation Engine Output message (Warehouse 1 WSDL) Output message (Warehouse 2 WSDL) External Data Retriever
Future Work • Introduce Semantics to • Enhance recovery actions • Enhance service mediation • Define patterns and strategies to recover from common faulty situations