WorkFlow Management Systems Cosa è un? Automazione di un processo aziendale (business process) con: documenti, informazioni e compiti partecipanti insieme predefinito di regole obiettivo comune 2
Esempi di workflow gestione prestiti ordini acquisto valutazione personale fogli orari settimanali approvazione richieste rimborso assicurativo 3 automation Tecnologie per la gestione di processi Groupware supporto alla gestione del lavoro di gruppo (es.: editing di documenti ) Management System (WFMS) supporto alla gestione di documenti all interno di un processo Coalition 4
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
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
WFMS: aree funzionali Process Design & Definition Business Process Analysis, Modelling & Definition Tools Build Time Run Time Process Definition Process changes Process Instanciation & Control Enactment Service Interaction with Users & Application Tools 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
Partecipante di un 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
Esempio di esecuzione Process Definition Process Instance Worklist Process Definition A A ctivity B A ctivity A Activity D A ctivity C 1st Process Instance 2nd Process Instance Work List 1 Work Item 1 Work Item 2 Work Item 3 Work Item 4 3rd Process Instance Process Definition B A ctivity B A ctivity A A ctivity C A ctivity E A ctivity D 1st Process Instance 2nd Process Instance Work Item N Work List 2 Work Item 20 Work Item 21 Work Item 22 Work Item N Work List 2 13 Architettura di WFMS 14
Interface 5 Administr.. & Monitoring Tools Process Definition Tools Interface 1 API and Interchange formats Enactment Service Modello di Riferimento Interface 4 Other Enactment Service(s) Interface 2 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 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
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 Run Time Run Time Definizione processi Modifiche ai processi control data Enactment Service relevant data Applications & IT Tools Application data 18
Process Definition Interface (itf 1) Interchange Format & APIs Process Analysis Modelling & Definition Tools Process Definition Enactment Service 19 Client Application Interface (itf 1) Enactment Service Standard APIs & Interchange Client Application User Interface Invoked Application Command Set Connection/Disconnection Process and Activity Control Functions Process Status Functions Worklist Manipulation Commands 20
Invoked Application Interface Enactment Service Standardised APIs & Interchange Application Specific Interfaces (Local or Remote) Application Agent - enabled Invoked Applications Application 21 Interoperability (itf 4) Definita da 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
Interoperability Interface API and Interchange format Enactment Service API and Interchange format Enactment Service Activity or sub-process invocation Process / Activity status / control Application / relevant data transfer Synch-point coordination Process definition read / write 23 Modello a servizi concatenati Process A A4 A1 A5 B1 B3 Process B B4 B5 A2 A3 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
Modello a sottoprocessi annidati Process A A4 A1 A5 B1 Processo B B3 B4 B5 A2 A3 B2 Domain of Domain of Service A Service A attività (A3) di A eseguita come processo completo (B) sul sistema WF B ritorno del controllo ad A 25 Modello Peer-Peer C1 C4 C2 C3 A C5 C6 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
Modello parallelo sincronizzato Processo A Processo B A1 A4 A5 B1 B3 B4 B5 A2 A3 Punto di sincronizzazione Dominio del WFMS A B2 Dominio del WFMS B I due processi operano indipendentemente punti di sincronizzazione 27 Systems Admin. & Monitoring Interface Managent Application Typical Functional Areas WAPI Interface 5 User management Role management Audit management Resource control Process supervisory functions, etc Enactment Service A Enactment Service B 28