IBM FileNet P8, Version 5.2.1            

Etats des étapes

Dans le détail, chaque étape d'un flux de travaux représente une activité d'un processus métier global, comme par exemple, vérifier la profession d'une personne dans un flux de travaux lié au traitement d'une demande de prêt bancaire.

Pour la plupart des utilisateurs, le concept d'étape représentant une action unique est assez simple mais, en réalité, une étape passe par plusieurs phases appelées des "états". A l'intérieur de chaque état, le logiciel système exécute une ou plusieurs opérations sur l'élément de travail. En général, les états d'une étape sont imperceptibles pour les utilisateurs. Toutefois, les auteurs de flux de travaux et les développeurs d'applications doivent bien comprendre ces états pour prendre des décisions pertinentes s'agissant des définitions de flux de travaux et de la conception des applications.

Voici brièvement présentées les opérations qui peuvent s'exécuter pendant une étape. Les opérations sont répertoriées dans l'ordre et sont regroupées par états (chaque état est numéroté). Cette présentation indique aussi les moments auxquels le flux de contrôle peut passer à une autre mappe de flux de travaux (indiqué par =>).

  1. Etape Avant
    1. Joindre enfants au parent dans la file d'attente de différé
    2. Si dernier enfant, faire avancer le parent dans l'étape
  2. Précondition
    1. Effacer F_Comment
    2. Effacer F_Responses et F_ResponseCount
  3. Pré-assignation
    1. Exécuter les pré-assignations
      1. [=> Exception]
  4. Jalon
    1. Exécuter le pré-jalon
  5. Echéance
    1. Calculer l'expression d'échéance
      1. [=> Exception]
    2. Si nécessaire, calculer l'expression de rappel
      1. [=> Exception]
  6. File d'attente
    1. Si nécessaire, séparer en plusieurs éléments de travail multi-participant
    2. Si nécessaire, mettre en file d'attente l'élément de travail. Pendant que l'élément de travail est en file d'attente :
      1. [=> appel d'API]
      2. [=> exception d'API]
      3. [=> expiration temporisateur]
  7. Post-assignation
    1. Vérifier les réponses
    2. Exécuter les post-assignations
      1. [=> Exception]
  8. Etape Fin
    1. Exécuter les post-jalons
    2. Evaluer le routage
    3. Effacer F_Responses et F_ResponseCount
    4. Effacer F_Comments
  9. Route
    1. Si nécessaire, séparer en plusieurs enfants
    2. Si nécessaire, placer le parent dans la file d'attente de différé
    3. Passer le ou les élément de travail à l'étape suivante

Une mappe de flux de travaux prenant le contrôle (à un point marqué => ci-dessus) peut contenir une fonction système Return. Chaque fonction Return inclut une option de relance qui indique à l'interpréteur ISI (Instruction Sheet Interpreter) s'il doit ignorer (skip) ou répéter l'état (repeat) contenant l'entité appelante quand la mappe de flux de travaux d'origine reprend le contrôle. Par exemple, si une exception se produit à l'état post-assignation pendant l'exécution de post-assignations (point 7b ci-dessus), cette exception est l'entité appelante. Si l'ISI atteint une fonction système Return sur la mappe de flux de travaux appelée, la mappe de flux de travaux d'origine (appelante) reprend le contrôle. Selon la manière dont est définie la fonction Return, l'ISI répète ou ignore l'état post-assignation au moment du retour vers la mappe de flux de travaux appelante. Notez que répéter ou ignorer est un paramètre qui s'applique à l'état et non à l'opération dans l'état qui a déclenché l'entité appelante. La tableau ci-dessous indique le comportement de l'interpréteur ISI correspondant à "renvoyer" et à "ignorer".

Tableau 1. Tableau du comportement ISI correspondant aux options de relance listées
Option de relance Comportement de l'ISI lors du retour vers la mappe appelante
Répéter Place l'élément de travail au début de l'état où il se trouvait quand l'autre mappe a été appelée.
Ignorer Place l'élément de travail au début de l'état suivant (qui suit l'état où il se trouvait quand l'autre mappe a été appelée).


Last updated: March 2016
bpfwd014.htm

© Copyright IBM Corp. 2016.