Recouvrement dans les workflows Daniela Grigori Equipe ECOO, LORIA 26/05/2016
Download
Report
Transcript Recouvrement dans les workflows Daniela Grigori Equipe ECOO, LORIA 26/05/2016
Recouvrement dans les workflows
Daniela Grigori
Equipe ECOO, LORIA
26/05/2016
WfMS - définition
Un système de gestion du flot de travail
(WfMS -Workflow Management System) :
• définit, gère et exécute des flots de travaux
• par l’exécution d’un logiciel dont l’ordre
d’exécution est dirigé par une représentation
informatisée de la logique du flot de travail
26/05/2016
Points faibles dans les workflows
actuels
• Manque de bases théoriques claires
• Support limité pour:
•
•
•
•
•
26/05/2016
le contrôle de la concurrence
l’interopérabilité entre systèmes de workflow
les changements d’échelle
la disponibilité
le recouvrement et le traitement des exceptions
Typologie des échecs
• Echecs du système (panne de l’une des composantes du
système de workflow)
• Echecs logiques (sémantiques)
• erreurs dans le programme ou manque de ressources
nécessaires au programme (échec de l’application)
• l’exécution avec succès de l’application qui ne
produit pas les résultats attendus (échec de l’activité
ou exceptions)
ex: la réservation de l’hôtel échoue parce qu’il n’y
a plus de place
26/05/2016
Recouvrement
• Concept dans le système transactionnel (l’unité de
recouvrement est une transaction)
– défaire une transaction incomplète est un mécanisme accepté pour
les transactions avortées
• pas applicable aux tâches dans un workflow
• restaurer le plus récent état consistant du processus après
un échec sémantique ou une panne du système de telle
manière qu’on minimise la quantité de travail perdu
• le recouvrement doit supporter le but global du processus
et être consistant avec lui
26/05/2016
Compensation
• Compensation = une tâche (ou un groupe de
tâches) sémantiquement inverse qui peut annuler
ou réparer l’effet de l’étape échouée
– sans effets de bord
– avec effets de bord
• il y a des tâches qui ne peuvent pas être
compensées
26/05/2016
Recouvrement - projet CREW,
Umass
• Une approche intégrée pour l’annulation partielle du
workflow et la ré-exécution pour minimiser la quantité
de travail perdu
• Compensation et ré-exécution opportuniste (la
décision de compenser et ré-exécuter une étape est
basée sur l’évaluation dynamique d’une condition
attachée à l’étape (entrées numériques)
• ensemble de compensations dépendantes
(compensation d’une étape affecte les autres étapes)
26/05/2016
Exemple
Step failure specification:
S4: Compensate S2 Restart S2
S1
S2
S3
S4
Echec de l’étape S4 :
Condition de compensation et ré-exécution pour l’étape S3=vrai
H= E1 E2 E3 F4 C2 E2 C3 E3 E4
Condition de compensation et ré-exécution pour l’étape S3=faux
H= E1 E2 E3 F4 C2 E2 E4
26/05/2016
Exécution coordonnée
L échec d’une étape peut affecter d’autres étapes
dans le même workflow ou dans des workflows
concurrents -> la nécessité de coordonner les
étapes de workflows concurrents
• Dépendance d’annulation
• Ordre relatif des étapes
• Exclusivité mutuelle
26/05/2016
Exemple
WF1
S11
WF2
S21
S12
S22
S13
S23
S24
Dépendances résultant de l’annulation d’un workflow
concurrent
26/05/2016
Recouvrement dans le système
METEOR
• Modèle d’erreur à trois niveaux (infrastructure, WFMS,
application) basé sur les composants du système
• Cadre de recouvrement hiérarchique basé sur ORB constitué des
unités locales et d’une unité globale de recouvrement
• Erreurs d’étape -détectées et gérées par le gestionnaire de tâche
• Au moment de la définition du workflow, le concepteur doit
spécifier le traitement des erreurs spécifiques aux tâches:
– au niveau du wrapper de tâche
– spécifier un nombre maximal d’essais
– tâches alternatives spécifiées dans le schéma de workflow
26/05/2016
Recouvrement - WAMO modèle
• Un processus est composé de plusieurs activités qui
consistent en plusieurs tâches (idéalement déjà
existantes)
• Le concepteur du workflow doit spécifier:
– la manière dont la tâche peut être compensée
– si la tâche est critique (si elle peut être compensée
une fois exécutée)
Un processus n’est pas sûr si pendant son exécution
la compensation d’une activité critique peut
devenir nécessaire.
26/05/2016
Réservation
VoitureHôtel
Vol rés.
Payement
Gestion des
documents
NV
Prép. Exec_VR
Hôtel
Hilton
V-res
Comp
Voiture
NV
Espèce
Cheque
Livrer
Archiver
livrer
Arch.
Autres
H-res
Comp
Payer
WAMO - Mécanismes pour traiter
l’échec d’une activité
• exécution en avant - si l’activité n’est pas critique, son
échec peut être ignoré et l’exécution continuée
• recouvrement en arrière - si l’activité est critique, les
autre activités sur le même niveau de contrôle déjà
terminées doivent être annulées et le processus
d’annulation peut continuer au niveau d’activités
supérieur (l’intervention humaine peut être nécessaire)
• continuation de l’exécution (une tâche alternative) ou
compenser sur le niveau supérieur
26/05/2016
Workflow dynamique
• Situations spéciales ou imprévisibles
• Les processus organisationnels changent
tout le temps pour être compétitif
• Le processus organisationnel ne peut pas
être complètement pré-défini
– spécification au moment de l’exécution
26/05/2016
Conclusions
• pas de protocole de recouvrement unique
permettant de traiter toutes les situations
• Approche proposée: mettre à la disposition du
concepteur de workflow une batterie de patrons
de recouvrement
– qui peuvent être combinés
– doivent être adaptés en fonction de l’évolution
des activités
26/05/2016