Een werkstroom ontwerpen op basis van Durable Functions

Voltooid

U kunt met Durable Functions een langlopende werkstroom als een reeks activiteiten indelen. U kunt elke stap in het proces toewijzen aan een functietype en elke taak aan een activiteit. Over een geautomatiseerd proces beschikken betekent dat u zich geen zorgen hoeft te maken over het handmatig controleren of escaleren als een taak niet is uitgevoerd.

Aangezien we blijven nadenken over het automatiseren van ons goedkeuringsproces voor voorstellen, moeten we rekening houden met de gevallen waarin een stap in het proces niet op tijd wordt voltooid en moet worden geƫscaleerd. Wat gebeurt er bijvoorbeeld als we de goedkeuring nodig hebben van een manager voor een voorstel van een bepaalde omvang, maar de manager laat is met een antwoord?

Escalatiestappen zijn handig voor het bedrijf, omdat ze een taak verplaatsen wanneer een deadline is bereikt. Ze zorgen ervoor dat taken zijn voltooid en niet vergeten. Een escalatiestap kan betrekking hebben op het verzenden van herinneringen of het opnieuw toewijzen van een taak aan iemand hoger in de managerhiƫrarchie.

In deze les gaat u een werkstroom voor een goedkeuringsproces ontwerpen op basis van Durable Functions. In de volgende oefening past u deze kennis toe om een app te maken met Azure Durable Functions.

Beschrijving van het goedkeuringsproces voor ontwerpen

Onze werkstroom wordt gestart wanneer een projectontwerp is ingediend voor goedkeuring. Het voorstel is als goedkeuringstaak toegewezen aan een manager. De manager zal het voorstel goedkeuren of afwijzen. In de praktijk zou deze gebeurtenis waarschijnlijk een melding genereren en verzenden naar de auteur van het voorstel om hen te laten weten wat het resultaat van de aanvraag goedkeuren/afwijzen is. In dit voorbeeld hoeft u alleen de status van de taak te wijzigen in approved of rejected.

De werkstroomstappen zijn als volgt:

  1. Er wordt een projectontwerp verzonden.
  2. Een goedkeuringstaak wordt toegewezen aan een manager, zodat ze het projectontwerpvoorstel kunnen bekijken.
  3. Het voorstel voor het projectontwerp wordt geweigerd of goedgekeurd.
  4. Een escalatietaak wordt toegewezen als de goedkeuringstaak niet is voltooid binnen een vooraf gedefinieerde tijdslimiet.

De volgende afbeelding is een visuele weergave van de werkstroom met de drie functies in onze indeling: de goedkeuring van de aanvraag, de goedkeuring van het proces en een escalatiefunctie.

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

In de volgende tabel ziet u hoe de werkstroomstappen kunnen worden toegewezen aan de functietypen die we in een Durable Functions-werkstroom gebruiken.

Werkstroomfunctie Type duurzame functie
Een voorstel voor een projectontwerp indienen ter goedkeuring Client-functie
Een goedkeuringstaak toewijzen aan het betreffende personeelslid Indeling-functie
Goedkeuringstaak Activiteit-functie
Escalatietaak Activiteit-functie

Via de indeling-functie wordt een regel in de werkstroom beheerd waarmee de escalatieactiviteit wordt gestart als de goedkeuringsactiviteit niet binnen een opgegeven periode wordt geretourneerd.

Laten we, nu we weten wat er nodig is voor onze werkstroom, dit in code schrijven in de volgende les!