Wikipedia
La teoria e le applicazioni del workflow management promuovono la gestione dei gruppi di lavoro collaborativi secondo il workflow model, modello processuale. Un processo consiste in una o più attività ognuna delle quali rappresenta un lavoro da svolgere per giungere a un obiettivo comune. Il workflow management sostiene l'organizzazione del processo di lavoro mediante l'utilizzo di software specifici. Le attività possono essere svolte dai partecipanti o da applicazioni informatiche. I sistemi software che sanno interpretare una serie di regole procedurali integrano diverse funzioni: utilizzano strumenti dell'Information technology per la condivisione dell'informazione e gestiscono la comunicazione e il passaggio di compiti da un collaboratore all'altro e sono dunque chiamati Workflow management systems.
Entità in gioco
In questo modello prendiamo in esame le entità:
Processo
E' un insieme organizzato di attività che devono essere completate ed approvate per raggiungere l' obiettivo proprio del processo: se pensiamo ad una struttura gerarchica, il padre della struttura è il processo, i nodi sono le attività e le foglie i ruoli/attori che ne definiscono il completamento/approvazione. Possiamo prevedere di gestire le info seguenti:
Attività
Lavori che devono essere realizzati e completati per raggiungere un determinato obiettivo. Di massima possiamo prevedere di gestire per ogni singola attività le info seguenti:
Ogni singola attività viene attivata a fronte di determinati eventi, segue una sua evoluzione fino a quando non viene completata e termina il suo ciclo quando approvata o non approvata.
A titolo di esempio possiamo pensare all' attività Configurazione in ambito CPQ:
Ruoli
Classificazione degli attori. Da intendersi come mansione o area di competenza o area di lavoro propria degli attori. Ad es. in ambito Aziendale possiamo pensare a ruoli come
Segreteria Commerciale, Amministrazione, Ufficio Tecnico, ...
Possiamo prevedere di gestire le info seguenti:
Attori
Risorse chiamate in causa per l' evoluzione del processo: nell' ambito dell' WorkFlow sono quelli che decretano i vari passaggi di stato delle attività fino al completamento del processo stesso.
Di fatto sono gli utenti del Sistema: nell' ambito di questo modello non vengono definiti con una loro Anagrafica come per le Attività o i Ruoli ma riportati su di un elemnto list che deve essere mantenuto aggiornato manualmente.
Possiamo prevedere di gestire le info seguenti:
Gestione Anagrafica delle Entità
Per ogni singola entità viene costruito un frame che ne consente la gestione Anagrafica.
:
PWF_AnagraficaAttivita | Elemento list che definisce l' Anagrafica dell' Attività |
PG-PDE_PWF_AnagraficaAttivita | Frame per la gestione dell' Anagrafica dell' Attività: tutti gli oggetti presenti sul Frame sono definiti sul Sheet in oggetto. La singola Attività può essere creata/gestita utilizzando questo Frame (gestione manuale) oppure essere creata/gestita attraverso applicazioni trasversali (ad es. Erp o CRM, ...). |
PWF_AnagraficaRuoli | Elemento list che definisce l' Anagrafica dei Ruoli |
PWF_MngRuoliFrame | Frame per la gestione dell' Anagrafica dei Ruoli: tutti gli oggetti presenti sul Frame sono definiti sul Sheet in oggetto. |
PWF_RelRuoliAttori | Elemento list utile x definire la relazione tra i Ruoli e gli Attori (utenti) |
PWF_AnagraficaAttori | Elemento list che definisce l' Anagrafica degli Attori |
Sono interessanti le DR come la PWF_R_ErrorIfRuoloIsAlreadyDefined che consentono di verificare l' univocità dell' Identificativo: queste regole scattano quando si modifica l' identificativo in fase di creazione o aggiornamento di una Anagrafica.
PWF_R_ErrorIfRuoloIsAlreadyDefined
GU_SqlWhereTmpl
GU_CompileWhereSql
PWF_R_RuoloAlreadyDefined
StatusOfCall
GU_ContainerEPname
PWF_R_ClearFrameRuoliElements
GU_MessageText
GU_ViewWarningMessage
|
WorkFlow della singola Attività
Possiamo ipotizzare che una Attività abbia un percorso di vita legato allo stato:
Wait: l' attività è stata creata e rimane in attesa di inziare il proprio percorso;
InProgress: si da inizio allo sviluppo dell' attività che comincia così il suo percorso;
Completed: l' attività è stata completata;
Approved: l' attività è stata approvata. Ha concluso con successo il proprio percorso;
Cancelled: l' attività è stata interrotta prima di concludere il proprio percorso;
Ci limitiamo ad un Work Flow molto semplice:
1- Quando si crea l' attività la si pone in stato Wait e la si assegna ad un attore (può essere un attore singolo o appartenere ad un ruolo);
2- L' assegnatario setta lo stato dell' attività al valore InProgress quando decide che l' attività deve partire: ci si avvale di una semplice funzione di consultazione;
3- Basta un semplice vincolo per definire chi ha i permessi per settare gli stati Completed, Approved o Cancelled;
Gli oggetti interessati dal vincolo sono:
Vincolo su Attività / Attori:
Questo vincolo di fatto serve per definire su quali attività può operare l' Attore in funzione dello stato.
Per statiblire quale può essere il prossimo stato che l' attività può assumere, ci possiamo avvalere del vincolo che segue: