fault recovery in ws-diamond using the sh-bpel engine

15
Fault Recovery in WS- Diamond using the SH- BPEL Engine

Upload: coral-melton

Post on 31-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

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

Page 3: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

Page 4: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

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

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

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

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

Enrico Mussi
Descrizione passo passo dei moduli e delle interfacce
Page 8: Fault Recovery in WS-Diamond using the SH-BPEL Engine

SH-BPEL: The Process Manager

ManagementEngine

Man

agem

ent

Inte

rfac

eBPEL Interface Mediator

Web ServiceInvoker

SubstitutionManager

Web ServiceRetriever

MediationService

Process Manager

Enrico Mussi
Descriione passo passo dei moduli e delle interfacce
Page 9: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

Page 10: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

Page 11: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

Page 12: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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

Page 13: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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 14: Fault Recovery in WS-Diamond using the SH-BPEL Engine

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)

Page 15: Fault Recovery in WS-Diamond using the SH-BPEL Engine

Future Work

• Introduce Semantics to• Enhance recovery actions

• Enhance service mediation

• Define patterns and strategies to recover from common faulty situations