Workflow BPMN
Sybot estende le proprie capacità di automazione integrando un designer conforme allo standard BPMN (Business Process Model and Notation) 2.0. Questa funzionalità permette di modellare, orchestrare ed eseguire processi complessi, stateful e di lunga durata, affiancandosi ai Workflow standard di Sybot, più orientati all'elaborazione dati.
L’integrazione con Sybot sfrutta le potenzialità di un RPA avanzato, con funzioni di automazione, intelligenza artificiale e gestione dei Task, mantenendo al contempo la standardizzazione e la chiarezza dei modelli BPMN.
1. Concetti Fondamentali del BPMN
Business Process Model and Notation (BPMN) è uno standard grafico progettato per fornire una notazione comprensibile a tutti gli stakeholder coinvolti in un processo di business, dai manager agli analisti fino agli sviluppatori tecnici. Il suo scopo primario è quello di creare un ponte tra la progettazione del processo e la sua implementazione esecutiva.
Un diagramma BPMN è composto da un set ben definito di elementi grafici, raggruppabili nelle seguenti categorie principali:
1.1 Oggetti di Flusso (Flow Objects)
Rappresentano il lavoro svolto all'interno di un processo.
- Eventi (Events): Rappresentati da cerchi, indicano un accadimento. Definiscono l'inizio (Start Event), la fine (End Event) o punti intermedi di un processo in cui accade qualcosa (Intermediate Event). Possono essere attivati da vari trigger, come un timer, la ricezione di un messaggio o una condizione di errore.
- Attività (Activities): Rappresentate da rettangoli con angoli arrotondati, descrivono un'unità di lavoro. Le più comuni sono:
- User Task: Un'attività che richiede l'intervento di un operatore umano attraverso un'interfaccia.
- Service Task: Un'attività automatizzata eseguita da un sistema software, come l'invocazione di un servizio web.
- Script Task: Un'attività che esegue uno script direttamente all'interno del processo.
- Gateway: rappresentati da rombi, sono i componenti che controllano la logica del processo, gestendo i punti in cui il flusso si divide (divergenza) o si riunisce (convergenza). L'editor di Sybot fornisce diversi tipi di Gateway per modellare vari scenari decisionali e di parallelizzazione.
1.2 Oggetti di Connessione (Connecting Objects)
- Flussi di Sequenza (Sequence Flows): Frecce continue che collegano gli Oggetti di Flusso, definendo l'ordine cronologico di esecuzione.
1.2.1 Corsie (Swimlanes)
Organizzano le attività in base a ruoli o partecipanti.
- Pool: Rappresenta un partecipante principale in un processo (es. un'azienda, un cliente).
- Lane: È una suddivisione all'interno di un Pool che rappresenta un ruolo o un dipartimento specifico (es. "Ufficio Vendite", "Supporto Tecnico").
2. L'Implementazione BPMN nell'Ecosistema Sybot
L'editor BPMN di Sybot offre un catalogo di elementi standardizzati per la modellazione dei processi. La caratteristica distintiva e architetturalmente fondamentale di questa implementazione risiede nel Sybot Task, che agisce come ponte tra il processo BPMN e i Workflow standard di Sybot.
2.1. Il Sybot Task: Elemento di Invocazione
Il Sybot Task, identificabile attraverso l'icona di Sybot nel repertorio degli strumenti, è l'elemento designato per l'invocazione e l'esecuzione di un Workflow Sybot standard all'interno del flusso di controllo del processo BPMN.
Questo meccanismo garantisce l'orchestrazione di processi eterogenei e sfrutta la capacità del motore BPMN per il controllo del flusso (sequence flow) mentre delega l'automazione esecutiva (work item processing) al motore Workflow nativo.
2.2. Configurazione del Sybot Task
L'interfaccia di configurazione di un Sybot Task è accessibile tramite la selezione dell'elemento sul diagramma e l'apertura del pannello delle proprietà a destra. Tale pannello abilita la definizione del comportamento e dello scambio di dati:
- Selezione del Workflow Target: Il Workflow Sybot da eseguire è selezionabile da una lista filtrata per disponibilità e livello di autorizzazione utente. L'elemento scelto funge da target di esecuzione per il Sybot Task durante l'elaborazione del processo.
- Mappatura dei Parametri: Una volta stabilita la selezione del Workflow target, il sistema procede all'esposizione dei suoi metadati di input. Questi attributi vengono presentati in una struttura tabellare per consentire la definizione dei valori o il binding con le variabili contestuali del processo. Nel campo Value corrispondente, l'utente può inserire:
- Valori Statici: Dati immutabili definiti al momento della configurazione.
- Riferimenti Dinamici a Variabili di Processo: Espressioni che fanno riferimento alle variabili contestuali del processo BPMN. La sintassi standard per il riferimento alle variabili è:
${nome_variabile_bpmn}
3. Gestione delle Variabili e del Flusso Dati
Un processo BPMN mantiene il proprio stato attraverso un set di variabili di processo. Queste variabili sono accessibili e modificabili durante l'intera esecuzione del processo.
- Creazione di Variabili: Prima di eseguire un processo, è possibile definirne le variabili e i loro valori iniziali attraverso la modale "Variables Workflow".
- Sintassi delle Variabili: All'interno della configurazione di un Task (es. nel campo Value di un Sybot Task), le variabili di processo vengono richiamate utilizzando la sintassi
${nome_variabile}.
| Param Name | Value |
|---|---|
| number | ${x} |
- Flusso Dati tra Task: L'output di un Task eseguito viene memorizzato in una variabile di processo
${response}. Questo permette di passare dati tra i diversi passaggi del BPMN.
4. Ciclo di Vita di un Workflow BPMN: Deploy ed Esecuzione
A differenza dei Workflow standard, un diagramma BPMN deve essere "pubblicato" sull'engine prima di poter essere eseguito. Questo processo è chiamato Deploy.
- Visualizzazione XML: In qualsiasi momento, è possibile visualizzare e scaricare la rappresentazione XML standard del diagramma BPMN, garantendo l'interoperabilità e permettendo il versioning del codice sorgente.
- Deploy del Workflow:
- Cliccando l'apposito pulsante, si apre la modale Deploy Workflow.
- È necessario specificare un Deployment Name per distinguere la versione del processo al momento del deploy.
- Multi-tenancy: Attivando l'opzione Enable Tenant, è possibile associare il deploy a un Tenant ID specifico. Questa funzionalità permette di isolare logicamente processi e dati per diversi clienti o dipartimenti.
- Esecuzione del Processo:
- Dopo il Deploy, il processo può essere avviato (istanziato).
- Al momento dell'avvio, la modale Variables Workflow permette di impostare o sovrascrivere i valori delle variabili per quella specifica esecuzione. Anche qui è possibile specificare un Tenant ID.
- Monitoraggio dell'Esecuzione:
- Dopo l'avvio, il pannello Output mostra i log di esecuzione. Vengono visualizzati messaggi di stato, come l'orario di avvio e il messaggio di completamento, che include l'ID univoco dell'istanza di processo (Process instance ID) per scopi di tracciamento e debugging.
- Nel pannello Problems è dedicato alla visualizzazione di eventuali errori che possono occorrere durante l'esecuzione dell'istanza di processo.