Progettare un flusso di lavoro basato su Durable Functions

Completato

Si può usare Durable Functions per orchestrare un flusso di lavoro a esecuzione prolungata come set di attività. Ogni passaggio del processo può essere mappato a un tipo di funzione e ogni azione può essere mappata a un'attività. Poiché è disponibile un processo automatizzato, non è necessario preoccuparsi di effettuare manualmente il monitoraggio o l'escalation di un'attività, se non viene eseguita.

Mentre continuiamo a riflettere su come automatizzare il processo di approvazione delle proposte, dobbiamo prendere in considerazione i casi in cui un passaggio del processo non viene completato in tempo e deve esserne eseguita l'escalation. Ad esempio, cosa fare se è necessaria l'approvazione di un manager per una determinata proposta, ma la risposta dal manager è in ritardo?

I passaggi di escalation sono utili per l'azienda, dal momento che consentono di portare avanti un'attività quando viene raggiunta una scadenza. Assicurano che le attività vengano completate, invece che dimenticate. Un passaggio di escalation può comportare l'invio di promemoria o anche la riassegnazione di un'attività a un utente a un livello più alto della gerarchia.

In questa unità verrà progettato un flusso di lavoro del processo di approvazione basato su Durable Functions. Nel prossimo esercizio le nozioni apprese verranno applicate alla creazione di un'app con Azure Durable Functions.

Descrizione del processo di approvazione dei progetti

Il flusso di lavoro ha inizio quando viene inviato un progetto per l'approvazione. La proposta viene assegnata come un'attività di approvazione a un manager. Il manager approva o rifiuta la proposta. Nel mondo reale questo evento probabilmente comporterebbe la generazione e l'invio di una notifica all'autore della proposta, per segnalare il risultato della richiesta di approvazione/rifiuto. In questo esempio verrà semplicemente impostato lo stato dell'attività su approved o rejected.

I passaggi del flusso di lavoro sono i seguenti:

  1. Viene inviato un progetto.
  2. Un'attività di approvazione viene allocata a un manager, in modo che possa esaminarne la proposta di progetto.
  3. La proposta di progetto viene rifiutata o approvata.
  4. Viene allocata un'attività di escalation se l'attività di approvazione non viene completata entro un limite di tempo predefinito.

L'immagine seguente è una rappresentazione visiva del flusso di lavoro che mostra le tre funzioni di orchestrazione: l'approvazione della richiesta, l'approvazione del processo e una funzione di escalation.

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

Nella tabella seguente viene illustrato come mappare i passaggi del flusso di lavoro ai tipi di funzione usati in un flusso di lavoro di Durable Functions.

Funzione del flusso di lavoro Tipo di Durable Functions
Invio di una proposta di progetto per l'approvazione Funzione client
Assegnare un'attività di approvazione ai membri pertinenti del personale Funzione di orchestrazione
Token di approvazione Funzione di attività
Attività di escalation Funzione di attività

La funzione di orchestrazione gestirà una regola del flusso di lavoro che avvia l'attività di escalation se l'attività di approvazione non viene restituita entro un periodo di tempo specificato.

Ora che sono state comprese le informazioni necessarie per il flusso di lavoro, sarà possibile scriverle nel codice dell'unità successiva.