Upload
alyson-jennings
View
220
Download
0
Embed Size (px)
Citation preview
Fault Recovery in WS-Diamond using the SH-BPEL Engine and PAWS
Barbara PerniciPolitecnico 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)
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
• 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
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)
SH-BPEL: The Process Manager
ManagementEngine
Man
agem
ent
Inte
rfac
eBPEL Interface Mediator
Web ServiceInvoker
SubstitutionManager
Web ServiceRetriever
MediationService
Process Manager
PAWS
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
Demo Structure
WS-BPELM
anagement
InterfaceWAREHOUSE 1
SH-BPEL
WSDL1 ≠ WSDL2
SHOPClient
SH-BPELAdministrator
WSDM
Subscription
Invocation
Notification
Repair actions
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)
MappingDocument
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 (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
URBE
• 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
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
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
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)
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
Handler
Service 1 Service 2
SOAP Message
Operations on
Messages
Management interface
Perturb 1
...
Perturb N
Log
Perturb 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