| At line 1 added 118 lines |
| %%(display:none) |
| {{{ |
| WikiUp |
| }}} |
| /% |
| [{TableOfContents }]\\ |
| !!! Costruzione di un workflow\\ |
| \\ |
| Un processo di workflow di codice PROCESSO è costituito da:\\ |
| * Un elemento PROCESSO in tabella WFA, che definisce le proprietà generali del processo.\\ |
| * Uno membro PROCESSO dello script SCP_WFA, che definisce flussi, responsabilità e contenuto applicativo del processo.\\ |
| * (Opzionale) Un membro PROCESSO del file DOC_WFA, in cui si può mettere la documentazione operativa di processo.\\ |
| \\ |
| Dalla scheda del modulo WFBASE, sottoscheda Base/Lista workflow, è possibile scegliere le due opzioni di creazione facilitata "Nuovo processo" e "Copia processo".\\ |
| Si inserisce un codice per il processo (che non deve già esistere) e una descrizione per il processo, nel caso di copia anche il processo di partenza.\\ |
| Confermando la creazione viene:\\ |
| * Creato/copiato un corrispondente elemento di tabella WFA (dal processo di partenza o da un modello **).\\ |
| * Creato/copiato e inizializzato un corrispondente script in SCP_WFA.\\ |
| * Creato/copiato e inizializzato un membro nel file DOC_WFA.\\ |
| \\ |
| A questo punto la creazione di un processo prevede i seguenti passi logici:\\ |
| * Definizione delle proprietà generali del processo, verificando l'elemento di tabella WFA.\\ |
| * Definizione del flusso (costruzione della rete di Petri, transizioni e luoghi) tramite Workflow Designer.\\ |
| * Definizione delle responsabilità e del contenuto applicativo, arricchendo la transizioni (da Workflow Designer o direttamente da script).\\ |
| * (Opzionale) Documentazione del processo e dei suoi passi in DOC_WFA.\\ |
| \\ |
| \\ |
| !! Definizione delle proprietà del processo (tabella WFA)\\ |
| \\ |
| Nella tabella WFA si definiscono le proprietà generali del processo, come ad esempio:\\ |
| * Tipo di oggetti su cui è definito ed eventuale ridefinizione della gestione su tali oggetti (il workflow sostituisce la gestione).\\ |
| * Punto e modalità di creazione degli ordini relativi.\\ |
| \\ |
| Per il dettaglio delle opzioni consultare l'help della tabella WFA, anche relativamente alla documentazione dei singoli campi:\\ |
| Vedi Processo workflow (ST-WFA)\\ |
| \\ |
| !! Modellazione della rete di Petri (script in SCP_WFA)\\ |
| \\ |
| Nello script vengono descritti i singoli passi che compongono il processo, ovvero:\\ |
| * Quali sono.\\ |
| * In che ordine vanno svolti.\\ |
| * Quali persone li possono svolgere.\\ |
| * Che operazioni comportano, che informazioni portano all'esecutore.\\ |
| \\ |
| Lo script è un insieme di blocchi di istruzioni, ognuno rappresentante una transizione della rete di Petri, con questa struttura:\\ |
| \\ |
| L(PUN)\\ |
| * TRA.\\ |
| ** DIC(PRC/...).FUN.\\ |
| ** FROM.\\ |
| *** LUO.\\ |
| ** TO.\\ |
| *** LUO.\\ |
| ** CST.EXT Tip...\\ |
| ** EXT.\\ |
| \\ |
| ! Definire le transizioni e i flussi\\ |
| Quali operazioni vanno eseguite nel corso di un workflow.\\ |
| Quali precedenze e relazioni di causalità esistono tra le transizioni, eventuali scelte automatiche o utente.\\ |
| Queste informazioni vengono costruite graficamente tramite il componente Workflow Designer e scrivono le istruzioni TRA, FROM, TO e LUO.\\ |
| \\ |
| ! Definire le responsabilità\\ |
| Quali utenti o gruppi di utenti possono eseguire una determinata transizione.\\ |
| Quali utenti o gruppi di utenti sono eventualmente responsabili dell'assegnazione di una transizione a un utente.\\ |
| Sempre dal Workflow Designer si seleziona con il tasto destro una transizione e si entra in modifica della sua parte di script (attributi dell'istruzione TRA).\\ |
| Vedi capitolo specifico "Definizione delle responsabilità".\\ |
| \\ |
| ! Aggiungere il contenuto applicativo\\ |
| \\ |
| Tre dimensioni rilevanti:\\ |
| \\ |
| L(PUN)\\ |
| * Azioni accessorie (azioni esterne): Chiavi di menù e informazioni utili all'esecuzione di un'attività da presentare contestualmente.\\ |
| Dal Workflow Designer in modifica di script della transizione: istruzioni EXT e relative sottoistruzioni.\\ |
| * Integrazione con Sme.up all'avanzamento (azioni di dichiarazione): Creazione / modifica controllata di oggetti Sme.up, controlli particolari da parte del motore di workflow ecc ecc...\\ |
| Dal Workflow Designer in modifica di script della transizione: sostituire le chiamate implicite alle funzioni standard di avanzamento con particolari programmi (azioni) di integrazione (DIC.FUN).\\ |
| * Automazione (conseguenze esterne): Esecuzione in maniera automatica da parte del motore di workflow di determinate attività in certi punti del processo.\\ |
| Dal Workflow Designer in modifica di script della transizione: istruzioni CSG.EXT, conseguenze esterne da eseguire durante gli avanzamenti del processo, e relative sottoistruzioni.\\ |
| \\ |
| !! Documentazione del processo\\ |
| \\ |
| ! Documentazione applicativa/operativa del processo e delle transizioni\\ |
| Tutte le informazioni rilevanti alle varie attività raccolte in fase di analisi possono essere salvate in modo da essere presentate al momento opportuno a chi dovrà eseguire tali attività.\\ |
| Questo si riflette nello scrivere un membro dal nome uguale al processo nel file DOC_WFA, in questo modo:\\ |
| * sotto il tag TAG Id="WFA" si compilano le istruzioni relative al processo, presentate poi nella scheda dell'ordine di workflow.\\ |
| * sotto i tag TAG Id="(codice transizione)" si scrivono le istruzioni delle transizioni, che vengono presentate nelle schede dei relativi impegni come guida per l'utente che deve eseguire un determinato compito.\\ |
| \\ |
| ! Documentazione tecnica\\ |
| \\ |
| Un posto dove documentare dal punto di vista tecnico il processo (particolarità, programmi personali e personalizzati attinenti, tabelle e autorizzazioni correlate, ...) è in fondo allo script del processo stesso, sotto forma di documentazione attiva iniziante con il tag DOC.\\ |
| \\ |
| !!! Tipi di programmi che interagiscono con il workflow\\ |
| \\ |
| !! Programmi di flusso\\ |
| \\ |
| Servono a indirizzare il motore di workflow nella scelta dei flussi da percorrere; sono denominati con la convenzione WFFLU_nn (entry specifica).\\ |
| Si dividono in:\\ |
| * Programmi di requisiti esterni.\\ |
| * Programmi di requisiti sui luoghi\\ |
| * Programmi di conseguenze sui luoghi.\\ |
| \\ |
| !! Programmi di calcolo variabili\\ |
| Consentono al motore di workflow di utilizzare variabili complesse a piacere per le proprie decisioni; sono denominati WFVAR_nn e vengono eseguiti come servizi ciechi (entry funizzata estesa £UIBDS).\\ |
| \\ |
| !! Azioni\\ |
| \\ |
| Programmi funizzati WFAZxx_nn, xx è l'applicazione di competenza, nn è un progressivo.\\ |
| Se personali si suggerisce di denominarli XWFyyy.\\ |
| Possono servire a:\\ |
| * Indirizzare, in maniera automatica o meno, il flusso di workflow.\\ |
| * Integrare il workflow con Sme.up.\\ |
| * Automatizzare determinate attività.\\ |
| \\ |
| Si dividono in:\\ |
| * Programmi di dichiarazione: ricevono in input l'impegno (F2), sulla base del risultato dell'elaborazione si occupano di chiamare la £WFC per istanziare un'attività (F4).\\ |
| * Conseguenze esterne: Vengono eseguiti come risultato dell'esecuzione di un'attività. Ricevono in input l'attività appena eseguita (F4)\\ |
| \\ |
| Una serie di programmi standard sono già presenti in WFSRC; la documentazione delle loro funzionalità e chiamate è in testa al sorgente.\\ |