240 likes | 359 Views
Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS. Barbara Pernici Politecnico di Milano May 11, 2007. Outline. WS-Diamond and Orchestration Self-Healing BPEL (SH-BPEL) Recovery Scenarios Recovery Using SH-BPEL PAWS: Processes with Adaptive Web Services Future Work.
E N D
Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007
Outline • WS-Diamond and Orchestration • Self-Healing BPEL (SH-BPEL) • Recovery Scenarios • Recovery Using SH-BPEL • PAWS: Processes with Adaptive Web Services • Future Work
POLIMI WS-DIAMOND TOOLS • SH-BPEL • Process management with recovery actions • WSDM interface for notification and to get management operations lists • ActiveBPEL enhanced with recovery operations (flow based + variable modification) • Process simulator • Data fault injection functionality (service and message level)
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 • Self-Healing extension of BPEL engines (SH-BPEL) developed at Politecnico di Milano • BPEL Engine: ActiveBPEL • 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 Modafferi, Mussi, Pernici, 2006)
SH-BPEL: The Process Manager BPEL Interface Mediator Management Engine Web Service Invoker Substitution Manager PAWS Management Interface Web Service Retriever Mediation Service Process Manager
Case study: Warehouse Fault CUSTOMER SHOP WAREHOUSE • WH1 is declared faulty (permanent) • The Recovery Selector stops the SHOP • The Recovery Selector choose to substitute WH1 with WH2 • Generated plan: • Substitute WAREHOUSE • redo check availability redo calculate cost on new WAREHOUSE • then WF is continued to the end. Send Order Receive Order WH1 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 SHOP Client WSDM Invocation Subscription SH-BPEL Administrator Notification WAREHOUSE 1 WAREHOUSE 2 Stop Repair actions 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 Mapping Document 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
PAWS: Processes with adaptive Web Services Framework • Framework and tool set developed at Politecnico di Milano, Information Systems group • standalone tools for flexible services • URBE registry • Mediation configurator and engine • BPEL process optimization (QoS based selection) and reoptimization • QoS Negotiation
Implementation (unless otherwise specified) • Java 1.5 • Axis, Tomcat • Wordnet • ActiveBPEL • WSDM Apache Muse • jUDDI • Offered with WS and Java interfaces
URBE - Extended UDDI Registry By Example • URBE (Advanced UDDI registry) • Similarity evaluation (structural, term based) • WSDL, wordnet, similarity functions • Concrete and flexible services • add ons: • semantic plug-in (WSDL-S) • QoS selection Bianchini, De Antonellis, Pernici, Plebani, Information Systems, 2006
Adaptive service selection - optimization • Process Optimizer • Input: abstract BPEL+ process constraints and service QoS annotations • Optimal service selection (task-WS associations for execution paths) • LP-solve (CPLEX)
BPEL Specification Process Annotation - loop, branch probability - local, global constraints - quality weights Process Traslator Process Tuner - candidate WS - process state - verified conditions - loop numb. of it. MAIS Registry CPLEX MILP problem formulation MILP additional constraints BPEL Engine Negotiator Module Ranking procedure Web Service Provider Global plan +WS ranking Service selection and process optimization (Ardagna and Pernici, TSE, 2007)
Technological Overview • JBOSS (Servlet Container, WS deployment) • OraBPEL (Oracle WS-BPEL Process Engine) • MySQL (storing the service categorization)
Data disturber • Tool to inject faults on service data and messages for BPEL processes • Treated failures • value mismatch • Typos (Jhon instead of John) • Different format (date) • Conflict in data values (London / Italy) • Delay in update operations • missing data • Generates a detailed log of exchanged messages
Service 1 Service 2 SOAP Message Perturb Handler Operations on Messages Perturb 1 ... Perturb N Log Management interface Handler
Future Work • Working on compensate activity (and theory for applicability of compensation) • Introduce Semantics to • Enhance recovery actions • Enhance service mediation • Define patterns and strategies to recover from common faulty situations
For further info: http://www.elet.polimi.it/people/pernici