WorkFlow Management Systems Cosa è un Workflow? • Automazione di un processo aziendale (business process) con: • documenti, informazioni e compiti • partecipanti • insieme predefinito di regole • obiettivo comune 2 1 Esempi di workflow gestione prestiti ordini acquisto valutazione personale fogli orari settimanali approvazione richieste rimborso assicurativo 3 Workflow automation Tecnologie per la gestione di processi Groupware supporto alla gestione del lavoro di gruppo (es.: editing di documenti ) Workflow Management System (WFMS) supporto alla gestione di documenti all’interno di un processo Workflow Coalition 4 2 Workflow Management System Sistema software per: definire processi crea, gestisce l’esecuzione di workflow interagire con i partecipanti chiamare applicazioni e strumenti software esterni Gestire molte istanze di processo (o casi) – possono essere attive durante l’esecuzione di un processo, – Ognuna con i propri dati e i propri partecipanti 5 WFMS Cinque sono le funzioni essenziali di un prodotto di gestione di WF: instradamenti documenti / attività monitoraggio e controllo notifica o code di lavoro assegnamento lavoro e automazione gestione procedure 6 3 WorkFlow Management Coalition WFMC The WorkFlow Management Coalition (www.wfmc.org) consorzio di produttori di WFMS utenti e analisti Obiettivo: definire standard per WFMS notazioni standard (XPDL) terminologia standard standard di interconnessione tra WFMS e con applicazioni esterne. 7 Aree funzionali dei WFMS Build-time functions (funzioni di creazione) riguardano la definizione e la modellazione del processo e delle attività che lo compongono Funzioni di controllo run-time: riguardano la gestione dei processi di workflow in un ambiente operativo, l’attivazione delle diverse attività che devono essere gestite come parte del processo Interazioni run-time con gli utenti e altre applicazioni nell’esecuzione delle attività del WF 8 4 WFMS: aree funzionali Process Design & Definition Build Time Run Time Business Process Analysis, Modelling & Definition Tools Process Definition Process changes Process Instanciation & Control Interaction with Users & Application Tools Workflow Enactment Service Applications & IT Tools 9 Definizione dei processi Modellazione dei processi aziendali Per simulazione e analisi Per essere eseguiti in un WFMS La definizione di un processo consiste in: un diagramma di attività (Activity, BPMN,..) criteri per iniziare e terminare il processo informazioni sulle singole attività, partecipanti (attori) documenti e dati collegati applicazioni sw da utilizzare 10 5 Partecipante di un Workflow E’ una risorsa che esegue il task associato a una particolare istanza di attività. Un Task è assegnato a un attore (partecipante) Viene inserito nella WORKLIST di un attore WORKLIST è lista ordinata dei task da svolgere Ogni attore ha una worklist Il partecipante può essere: una risorsa umana una applicazione software hardware specifico 11 Process Instances e WorkLists Un processo aziendale viene definito con una particolare notazione Una pratica relativa a quel processo viene aperta => creazione Process Instance Process Istance è composta da diversi task A ogni task viene assegnato uno o più attori Una Work-List è elenco di Work-Item (task) che attore deve svolgere Una work-list per ogni attore Un attore può rappresentare un gruppo di partecipanti che condividono un task da svolgere 12 6 Esempio di esecuzione P r o c e s s D e f in itio n P r o c e ss In sta n ce 1 st P r o ce ss In sta n c e W o r k I te m 2 A c tiv ity B A c t i v i ty D W oorr k L i sstt 1 W o r k I te m 1 P ro c e s s D e fin itio n A A c tiv ity A W o r k lis t 2 n d P r o c ess In sta n c e A c tiv ity C W o r k I te m 3 W o r k I te m 4 3 r d P ro c ess In sta n ce W o rk Ite m N P r o c e s s D e f i n i ti o n B 1 st P r o ce ss In sta n c e W o r k I te m 2 1 A c t iv i t y B A c tiv ity A A c t iv i t y C A c tiv ity D W o r k L ist 2 W o r k I te m 2 0 W o r k I te m 2 2 A c t iv i t y E 2 n d P r o c ess In sta n c e W o r k I te m N W or k L i st 2 13 Architettura di WFMS 14 7 Modello di Process Definition Tools Riferimento Interface 1 Interface 5 Administr. Administr. & Monitoring Tools Workflow API and Interchange Interface 4 formats Other Workflow Workflow Enactment Service Enactment Service(s) Service(s) Workflow Engine (s) Workflow Engine (s) Interface 2 Workflow Client Applications Interface 3 Invoked Application 15 WorkFlow Engine Possono esistere uno o più motori di workflow per creare, gestire e eseguire istanze di processi. Le applicazioni possono interagire con WFMS mediante la Workflow Application Programming Interface (WAPI). Un’istanza di processo può essere eseguita in un dominio di WorkFlow omogeneo, Su motori di WorkFlow diversi (utilizzando interfaccia WFMC interoperability) 16 8 Interazione con risorse esterne client application interface (2) Definisce interazioni con il WorkFLow Client (es. visualizzare worklist) Serve a interagire con applicazioni esterne invoked application interface (3) WF engine può attivare automaticamente un software esterno per una particolare attività 17 Build time Business Process Analysis Modelling & Definition Tools Definizione processi Modifiche ai processi Run Time Workflow Workflow control control data data Workflow Enactment Service Workflow Workflow relevant relevant data data Run Time Applications & IT Tools Application Application data data 18 9 Process Definition Interface (itf 1) Interchange Format & APIs Process Analysis Modelling & Definition Tools Process Definition Workflow Enactment Service Workflow Engine (s) 19 Client Application Interface (itf 1) Workflow Enactment Service Workflow Engine (s) Command Set Connection/Disconnection Connection/Disconnection Standard APIs & Interchange Client Application Invoked Application User Interface Process and Activity Control Functions Process Status Functions Worklist Manipulation Commands 20 10 Invoked Application Interface Workflow Enactment Service Workflow Engine (s) Standardised APIs & Interchange Application Specific Interfaces (Local or Remote) Application Agent Invoked Application WorkflowWorkflowenabled Applications 21 Workflow Interoperability (itf 4) Definita da Workflow Coalition per scambiare elementi di lavoro tra WFMS diversi 4 diversi possibili modelli di interoperabilità Modello a servizi concatenati Modello a sottoprocessi annidati Modello peer-peer Modello parallelo sincronizzato 22 11 Workflow Interoperability Interface Workflow API and Interchange format Workflow API and Interchange format Workflow Enactment Service Workflow Enactment Service Workflow Engine (s) Workflow Engine (s) Activity or subsub-process invocation Process / Activity status / control Application / Workflow relevant data transfer SynchSynch-point coordination Process definition read / write 23 Modello a servizi concatenati Process A A4 A1 A5 A2 A3 Process B B3 B1 B4 B5 B2 Consente il trasferimento di un singolo elemento di lavoro (istanza di processo o attività) tra due ambienti WFMS diversi • operano indipendentemente dopo lo scambio • senza ulteriori sincronizzazioni 24 12 Modello a sottoprocessi annidati Process A A4 A1 A5 A2 Processo B B3 B4 B5 B1 A3 B2 Domain of Workflow Service A Domain of Workflow Service A • attività (A3) di A eseguita come processo completo (B) sul sistema WF B • ritorno del controllo ad A 25 Modello Peer-Peer C4 C1 C5 C6 C2 C3 Workflow Engine (s) A Workflow Engine (s) B • Esecuzione Processo condiviso, eseguita da 2 engine che si dividono le attività • Es: C1, C2 e C5 sono eseguiti da A C3, C4 e C6 sono eseguiti da B Requisiti entrambi i servizi di WF : • seguano evoluzione del BP • supportino una interfaccia comune per la comunicazione • siano in grado di interpretare una definizione di processo comune • importare la definizione di un processo esterno - trasferire dati run-time durante l’esecuzione 26 13 Modello parallelo sincronizzato Processo A A4 A1 Processo B B3 B1 A5 B4 B5 B2 A2 A3 Punto di sincronizzazione Dominio del WFMS A Dominio del WFMS B I due processi operano indipendentemente punti di sincronizzazione 27 Systems Admin. & Monitoring Interface WAPI Interface 5 Managent Application Workflow Enactment Service Workflow Engine (s) A Workflow Enactment Service Typical Functional Areas User management Role management Audit management Resource control Process supervisory functions, functions, etc Workflow Engine (s) B 28 14