Concevoir un workflow basé sur Durable Functions

Effectué

Vous pouvez utiliser Durable Functions pour orchestrer un workflow de longue durée sous la forme d’un ensemble d’activités. Vous pouvez mapper chaque étape du processus à un type de fonction et chaque tâche à une activité. Quand vous implémentez un processus automatisé, vous n’avez plus à vous soucier de superviser ou d’escalader manuellement les tâches qui ne sont pas effectuées.

Pour poursuivre notre réflexion sur l’automatisation de notre processus d’approbation de proposition, nous devons envisager les cas où une étape du processus ne se termine pas en temps voulu et nécessite d’être escaladée. Par exemple : que se passe-t-il si nous avons besoin de l’approbation d’un responsable pour une proposition d’une taille en particulier, mais que le responsable ne respecte pas le délai de réponse ?

Les étapes d’escalade sont utiles pour l’entreprise, car elles permettent de faire avancer une tâche au terme d’un délai. Elles garantissent que les tâches sont effectuées et qu’aucune tâche n’est oubliée. Une étape d’escalade peut consister à envoyer des rappels voire à réaffecter une tâche à un responsable d’un niveau hiérarchique supérieur.

Dans cette unité, vous allez concevoir un workflow de processus d’approbation basé sur Durable Functions. Dans l’exercice suivant, vous appliquez ces connaissances pour créer une application avec Azure Durable Functions.

Description du processus d’approbation de conception

Notre workflow commence à l’étape où une conception de projet est soumise pour approbation. La proposition est affectée en tant que tâche d’approbation à un responsable. Le responsable doit approuver ou refuser la proposition. Dans un scénario réel, cet événement aurait probablement généré et envoyé une notification à l’auteur de la proposition, pour lui faire connaître le résultat d’approbation ou de refus de la demande. Dans cet exemple, vous allez simplement changer l’état de la tâche à approved ou rejected.

Le workflow comporte les étapes suivantes :

  1. Une conception de projet est soumise.
  2. Une tâche d’approbation est affectée à un responsable afin que celui-ci puisse examiner la proposition de conception de projet.
  3. La proposition de conception de projet est refusée ou approuvée.
  4. Une tâche d’escalade est affectée si la tâche d’approbation n’est pas effectuée dans un délai prédéfini.

L’image suivante constitue une représentation visuelle du workflow montrant les trois fonctions de notre orchestration : l’approbation de la demande, l’approbation du processus et une fonction d’escalade.

Visual representation of workflow showing the three functions in our orchestration.

Le tableau suivant décrit le mappage des étapes du workflow aux types de fonctions que nous utilisons dans un workflow Durable Functions.

Fonction de workflow Type de fonction durable
Envoi d’une proposition de conception de projet pour approbation Fonction de client
Attribution d’une tâche d’approbation à la personne appropriée Fonction d’orchestration
Tâche d’approbation Fonction d’activité
Tâche d’escalade Fonction d’activité

La fonction d’orchestration gère une règle dans le workflow qui démarre l’activité d’escalade si l’activité d’approbation ne retourne pas de réponse dans un délai spécifié.

Maintenant que nous savons ce dont notre workflow a besoin, nous pouvons l’écrire dans le code dans l’unité suivante !