SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Retry Scopes to Enable Robust Workflow Execution in Pervasive Environments2nd Workshop on Monitoring, Adaptation and Beyond (MONA+)November 24, 2009
Outline Introduction 1 Background Information 2 Concept & BPEL Realization 3 4 Outlook and Conclusion
Introduction Processes running in a real world environment usually have to deal with environment instability and data uncertainty E.g. workers and tools are moving around in space E.g. network connections breaks down temporary Faults occur at a certain point time. A short time later, the faults would not occur again. Under this assumption, a restart might would result in a successful execution.  Therefore, the restart of the steps is a much more performing option, than starting straight off with traditional fault handling, where all work done would be lost. Goals: ,[object Object]
Extensions should integrate with BPEL smartly3
Allow Project Goal: New programming paradigm for flow-based pervasive applications Our vision is that everything can be modeled.  Design of suitable models Execution infrastructure for the models Away from programming towards modeling ,[object Object],4 http://www.allow-project.eu
What is a flow? (Beyond classical workflows) 5
BPEL Scopes (1) A Scope compasses a set of activities A Scope is a unit of work In BPEL a scope is a unit of fault, compensation, and termination handling Forward recovery by fault handlers Similar to try … catch All-or-nothing behavior  Compensation Termination handler Scope is terminated if fault occurs in parallel activity In BPEL a scope is an activity 6 Sequence Empty Scope Flow Invoke1 Scope
BPEL Scopes (2) 7
Retry/Rerun Semantics Retry Work already done is compensated Rerun Work already done is not compensated 8
Additional Requirements No general retry/rerun As common in BPEL different faults should be treated differently E.g. Retry on fault A, rerun on fault B, rethrow on fault C Definition of the iterationsper fault Limit the number of retries/reruns 9
Design Goals For BPEL Extensions New modeling elements should follow BPEL’s modeling paradigm New modeling elements should support the required semantics and concise as possible New modeling elements shall support the modeler’s work and should be therefore intuitive and comprehensible New modeling elements should not define redundant semantics 10
Possible Modeling Approaches (1) Adding a Restart/Rerun property to the BPEL scope Introducing a Retry/Rerun Scope (extension activity) Introducing Retry/Rerun extension activities for usage within fault handler Introduce a Restart extension activity which simply trigger a restart of the scope 11
Possible Modeling Apporaches (2) 12
Approach Introducing a Restart Activity Rerun semantics can be executed by using the restart activity in fault handler Retry can be executed as combination of normal compensation followed by restart Complies with BPEL’s approach of explicitly modeling compensation, termination and fault handling Defines no redundant semantics Not compliant to BPEL’s extension rules, that none of BPEL’s semantics is allowed to be changed Unfortunately, none of the proposed approach would have been  13
Scope State Transition Extensions 14
Retry Example <faultHandlers>   <catch faultName="NoUserFound">     <sequence> <compensate/>       <wait/> <restart times="5" />    </sequence>   </ catch> </faultHandlers> 15
Rerun Example <faultHandlers>   <catch faultName="NoUserFound">     <sequence>       <wait/> <restart times="5" />    </sequence>   </ catch> </faultHandlers> 16
Conclusions Restart activity allows modelers to model retry as well as rerun semantics Solution fits best into BPEL as possible Compliance with BPEL’s extension rules not reachable Future work Native implementation 17

Weitere ähnliche Inhalte

Ă„hnlich wie Retry Scopes to Enable Robust Workflow Execution in Pervasive Environments

aw_survivalguide_r2opt
aw_survivalguide_r2optaw_survivalguide_r2opt
aw_survivalguide_r2opt
Reza Abed
 
Presentation by subhajit bhattacharya2
Presentation by subhajit bhattacharya2Presentation by subhajit bhattacharya2
Presentation by subhajit bhattacharya2
PMI_IREP_TP
 
CH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxCH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptx
KhcThKhnhHuyn1T20ACN
 

Ă„hnlich wie Retry Scopes to Enable Robust Workflow Execution in Pervasive Environments (20)

aw_survivalguide_r2opt
aw_survivalguide_r2optaw_survivalguide_r2opt
aw_survivalguide_r2opt
 
OTS - Everything you wanted to know but didn't ask
OTS - Everything you wanted to know but didn't askOTS - Everything you wanted to know but didn't ask
OTS - Everything you wanted to know but didn't ask
 
84135571 case-study
84135571 case-study84135571 case-study
84135571 case-study
 
Delphi Wsc Aug26
Delphi Wsc Aug26Delphi Wsc Aug26
Delphi Wsc Aug26
 
Ch 5- Achieving Qualities
Ch 5- Achieving QualitiesCh 5- Achieving Qualities
Ch 5- Achieving Qualities
 
How To Build A Credible Performance Measurement Baseline
How To Build A Credible Performance Measurement BaselineHow To Build A Credible Performance Measurement Baseline
How To Build A Credible Performance Measurement Baseline
 
How To Build A Credible Performance Measurement Baseline
How To Build A Credible Performance Measurement BaselineHow To Build A Credible Performance Measurement Baseline
How To Build A Credible Performance Measurement Baseline
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 
Lecture - 11-15.pptx
Lecture - 11-15.pptxLecture - 11-15.pptx
Lecture - 11-15.pptx
 
DevOps for dummies study sharing - part II
DevOps for dummies study sharing - part IIDevOps for dummies study sharing - part II
DevOps for dummies study sharing - part II
 
Advanced Software Engineering.ppt
Advanced Software Engineering.pptAdvanced Software Engineering.ppt
Advanced Software Engineering.ppt
 
topic9.pdf
topic9.pdftopic9.pdf
topic9.pdf
 
Chapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.pptChapter 3 Software Process Model.ppt
Chapter 3 Software Process Model.ppt
 
Presentation by subhajit bhattacharya2
Presentation by subhajit bhattacharya2Presentation by subhajit bhattacharya2
Presentation by subhajit bhattacharya2
 
Rational unified process (rup)
Rational unified process (rup)Rational unified process (rup)
Rational unified process (rup)
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
CH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptxCH02_Software_development_life_cycle (1).pptx
CH02_Software_development_life_cycle (1).pptx
 
ERP implementation
ERP implementationERP implementation
ERP implementation
 
DesignPrinciples-and-DesignPatterns
DesignPrinciples-and-DesignPatternsDesignPrinciples-and-DesignPatterns
DesignPrinciples-and-DesignPatterns
 
Software process model
Software process modelSoftware process model
Software process model
 

KĂĽrzlich hochgeladen

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

KĂĽrzlich hochgeladen (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

Retry Scopes to Enable Robust Workflow Execution in Pervasive Environments

  • 1. Retry Scopes to Enable Robust Workflow Execution in Pervasive Environments2nd Workshop on Monitoring, Adaptation and Beyond (MONA+)November 24, 2009
  • 2. Outline Introduction 1 Background Information 2 Concept & BPEL Realization 3 4 Outlook and Conclusion
  • 3.
  • 4. Extensions should integrate with BPEL smartly3
  • 5.
  • 6. What is a flow? (Beyond classical workflows) 5
  • 7. BPEL Scopes (1) A Scope compasses a set of activities A Scope is a unit of work In BPEL a scope is a unit of fault, compensation, and termination handling Forward recovery by fault handlers Similar to try … catch All-or-nothing behavior Compensation Termination handler Scope is terminated if fault occurs in parallel activity In BPEL a scope is an activity 6 Sequence Empty Scope Flow Invoke1 Scope
  • 9. Retry/Rerun Semantics Retry Work already done is compensated Rerun Work already done is not compensated 8
  • 10. Additional Requirements No general retry/rerun As common in BPEL different faults should be treated differently E.g. Retry on fault A, rerun on fault B, rethrow on fault C Definition of the iterationsper fault Limit the number of retries/reruns 9
  • 11. Design Goals For BPEL Extensions New modeling elements should follow BPEL’s modeling paradigm New modeling elements should support the required semantics and concise as possible New modeling elements shall support the modeler’s work and should be therefore intuitive and comprehensible New modeling elements should not define redundant semantics 10
  • 12. Possible Modeling Approaches (1) Adding a Restart/Rerun property to the BPEL scope Introducing a Retry/Rerun Scope (extension activity) Introducing Retry/Rerun extension activities for usage within fault handler Introduce a Restart extension activity which simply trigger a restart of the scope 11
  • 14. Approach Introducing a Restart Activity Rerun semantics can be executed by using the restart activity in fault handler Retry can be executed as combination of normal compensation followed by restart Complies with BPEL’s approach of explicitly modeling compensation, termination and fault handling Defines no redundant semantics Not compliant to BPEL’s extension rules, that none of BPEL’s semantics is allowed to be changed Unfortunately, none of the proposed approach would have been 13
  • 15. Scope State Transition Extensions 14
  • 16. Retry Example <faultHandlers> <catch faultName="NoUserFound"> <sequence> <compensate/> <wait/> <restart times="5" /> </sequence> </ catch> </faultHandlers> 15
  • 17. Rerun Example <faultHandlers> <catch faultName="NoUserFound"> <sequence> <wait/> <restart times="5" /> </sequence> </ catch> </faultHandlers> 16
  • 18. Conclusions Restart activity allows modelers to model retry as well as rerun semantics Solution fits best into BPEL as possible Compliance with BPEL’s extension rules not reachable Future work Native implementation 17