24
Fault Recovery in WS- Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Embed Size (px)

Citation preview

Page 1: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS

Barbara PerniciPolitecnico di Milano

May 11, 2007

Page 2: 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

Page 3: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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)

Page 4: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Page 5: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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…

Enrico Mussi
Illustrazione dei possibili metodi per effettuare recovery action mediante BPELNoi siamo concentrati sul secondo e sul terzo punto.L'attenzione maggiore è comunque sulle azioni di recovery "estese"
Page 6: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Enrico Mussi
Descrizione breve degli obiettivi di SH-BPEL e breve accenno alla logica con cui è stato pensato
Page 7: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Modafferi, Mussi, Pernici, 2006)

Enrico Mussi
Descrizione passo passo dei moduli e delle interfacce
Page 8: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

SH-BPEL: The Process Manager

ManagementEngine

Man

agem

ent

Inte

rfac

eBPEL Interface Mediator

Web ServiceInvoker

SubstitutionManager

Web ServiceRetriever

MediationService

Process Manager

PAWS

Enrico Mussi
Descriione passo passo dei moduli e delle interfacce
Page 9: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Case study: 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. WH1 is declared faulty (permanent)

2. The Recovery Selector stops the SHOP

3. The Recovery Selector choose to substitute WH1 with WH2

4. Generated plan: • Substitute

WAREHOUSE• redo check

availability redo calculate cost on new WAREHOUSE

• then WF is continued to the end.

WH1

Page 10: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Demo Structure

WS-BPELM

anagement

InterfaceWAREHOUSE 1

SH-BPEL

WSDL1 ≠ WSDL2

SHOPClient

SH-BPELAdministrator

WSDM

Subscription

Invocation

Notification

Repair actions

WAREHOUSE 2Stop

Resume

Page 11: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Page 12: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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)

MappingDocument

Page 13: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Page 14: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Implementation (unless otherwise specified)

• Java 1.5

• Axis, Tomcat

• Wordnet

• ActiveBPEL

• WSDM Apache Muse

• jUDDI

• Offered with WS and Java interfaces

Page 15: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

• 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

URBE - Extended UDDI Registry By Example

Bianchini, De Antonellis, Pernici, Plebani, Information Systems, 2006

Page 16: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

URBE

Page 17: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

• Process Optimizer• Input: abstract BPEL+ process constraints and

service QoS annotations

• Optimal service selection (task-WS associations for execution paths)

• LP-solve (CPLEX)

Adaptive service selection - optimization

Page 18: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Process Tuner

- loop, branch probability - local, global constraints- quality weights

- process state- verified conditions- loop numb. of it.

CPLEX

Rankingprocedure

MILPproblemformulation

MILPadditionalconstraints

Global plan +WS ranking

BPELEngine

BPELSpecification

Process Annotation

MAISRegistry

- candidate WS

Process Traslator

NegotiatorModule

Web Service Provider

(Ardagna and Pernici, TSE, 2007)

Service selection and process optimization

Page 19: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Adaptive service selection - negotiation

Contract Registry

Providers’Pricing Models

Providers’Pricing Models

Requestors’Negotiation Strategies

Requestors’Negotiation Strategies

Web Service QoS-enabled

registry

Web Service QoS-enabled

registry

WS-BPEL Engine

Auction WS

Recaller WS

Configuration WSContract

Generator WS

Management interface

Publishing interface

Management interface

Request interface

PROVIDER WEB INTERFACE

NEGOTIATION BROKER

REQUESTOR WEB INTERFACE

Negotiation Process

Page 20: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Technological Overview

• JBOSS (Servlet Container, WS deployment)

• OraBPEL (Oracle WS-BPEL Process Engine)

• MySQL (storing the service categorization)

WS WS QoSQoSWS WS QoSQoS

Web service Web service QoSQoS

ServicesServices

ProviderProvider RequestorRequestor

Network Network QoSQoSNetwork Network QoSQoS

Data Data QoSQoSData Data QoSQoS

……

Contract Registry

Providers’Pricing Models

Requestors’Negotiation Strategies

Web Service QoS-enabled

registry

PROVIDER WEB INTERFACE

NEGOTIATION BROKER

REQUESTOR WEB INTERFACE

Negotiation ProcessNegotiation Process

Negotiation Strategy Policies

(WS-Policy)

Pricing model Policies

(WS-Policy)

Service Offers and Contract template(WS-Agreement

Template)

Contracts(WS-Agreement)

QoS Description(XML-Schema)

Page 21: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Page 22: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

Handler

Service 1 Service 2

SOAP Message

Operations on

Messages

Management interface

Perturb 1

...

Perturb N

Log

Perturb Handler

Page 23: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

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

Page 24: Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS Barbara Pernici Politecnico di Milano May 11, 2007

For further info:http://www.elet.polimi.it/people/pernici