Modellazione dei Processi
Il concetto di processo (Alcune definizioni di processo) La sequenza delle operazioni finalizzate a trasformare un input in un output Il flusso delle informazioni e delle comunicazioni scambiate tra attori che concorrono alla realizzazione di un fine La sequenza delle decisioni assunte ai diversi stadi di realizzazione di un risultato Può essere modellato con linguaggi/modelli Activity-based
Definizione dei processi Rete di attività Criteri per iniziare e terminare il processo Informazioni sulle singole attività Partecipanti, documenti e dati collegati Applicazioni sw da utilizzare 3
Definizione di processo WF Definizione (sotto) processo Attivita atomica WF relevant data usa Attività di un processo WF consiste in realizzata come eseguita da può invocare da/a Ciclo Partecipante Applicazione Transizione Modello organizzativo può fare riferimento a 4
Meta - modello Strutture attività corpo attività nulla (solo manuale) ciclo sottoprocesso Transizioni Join Split 5
Relazione tra i modelli Task / Supertask 1:n perf_stat Role 1:m 0:n authorized 0:m Agent process model push/pull pull decision Organization model 6
Modello dei processi: Attività nome descrizione versione azioni postcondizioni ruoli informazioni (documenti manipolati) eccezioni azioni di compensaz. condizionale: SE richiesta > 100 ALLORA agente senior 7
Definizione processi: costrutti Attività Sottoprocesso (supertask) K Multitask J Inizio / fine t n attesa join/split alternativa trigger (eccezione) 8
A A j B k B.1 B.2.. B.j j k C C a) MT definition b) MT execution 9
Esempio
WfDL WfDL (Workflow Definition Language) è un linguaggio astratto per descrivere processi In questo esempio si modellerà il processo di revisione di un articolo scientifico con WfDL 11
Il processo (1) Si consideri il processo di revisione di un articolo scientifico sottomesso per la pubblicazione ad una rivista. Ogni volta che l editor riceve un lavoro lo invia ad un insieme di revisori che devono esprimere un giudizio (rifiuto od accettazione) entro 60 giorni.... 12
Il processo (2) Ottenuta risposta dalla maggioranza dei revisori, l editor decide se pubblicare o meno il lavoro. Si modelli il processo con WfDL, progettando per ciascun task come dati temporanei e permanenti vengono manipolati 13
Metodo di Soluzione Metodo top-down per raffinamenti successivi Nel primo schema di raffinamento si usano sole primitive elementari e non viene considerata l interazione con i database Nel secondo schema viene progettato uno skeleton del database e si dettagliano con precisione tutti i task 14
Paper receival J Dispatch Primo schema J J Collect Reports K approved() = yes otherwise Accept Reject 15
IncomingPaper[Title,Author] Paper[Title,Author,Number] Submission[Title,Author,Number,Status] Referee[Name,Number] UnderRevision[PaperNumber,Reviewer,Evaluation] Secondo schema Exists (select * from IncomingPaper) Paper receival Editor receives the paper and decides the number of referee Get Paper; get NumberOfReferees; insert into Submission values (Paper.Author, Paper.Title, Paper.Number, Evaluation ); delete from IncomingPaper where IncomingPaper.Author = Paper.Author precondizioni nome e descrizione del task azioni eccezioni 16
NumberOfReferees Dispatch Editor sends the manuscript to each referee get Referee; insert into UnderRevision values (Paper.Number,Referee.Number,NULL); NumberOfReferees NumberOfReferees CollectReports Each referee evaluates the paper he receives, and submits his vote; a secretary enters the vote get Vote, Referee.Number; update UnderRevision set Evaluation = Vote where Reviewer = Referee.Number and PaperNumber = Paper.Number; 17 RefereeQuorum
approved() = yes otherwise Accept Editor accepts the paper and notifies the author update Submission set Status = Accepted where Number = Paper.Number; delete from UnderRevision where PaperNumber = Paper.Number; Reject Editor rejects the paper and notifies the author update Submission set Status = Rejected where Number = Paper.Number; delete from UnderRevision where PaperNumber = Paper.Number; 18
Tecnologie Workflow Management System (WfMS)
Un sistema che supporta un processo Classificazione ad hoc dei deve consentire Processi la cooperazione tra persone che contribuiscono alla sua esecuzione Processi ad hoc senza una struttura fissa e ben definita caratterizzati da alta variabilità è difficile definire uno schema, dato che la sequenza delle attività non è prestabilita, ma viene definita dinamicamente, durante l esecuzione del processo Processi amministrativi prevedibili e ripetibili è possibile definire uno schema che viene seguito da molte o tutte le istanze (esecuzioni) del processo le varie attività sono in genere eseguite da agenti umani (processi human-oriented), e comportano tipicamente l inserimento di dati o la scrittura di documenti 2
Data la loro ripetitività, i processi amministrativi si prestano bene ad essere automatizzati; uno strumento di supporto all esecuzione dei processi amministrativi deve consentire la specifica del processo e deve poi supportarne l esecuzione, programmando le attività da eseguire e fornendo i dati e senza i documenti una struttura necessari fissa agli e agenti ben definita (umani) che svolgono le attività Classificazione dei Processi Processi ad hoc caratterizzati da alta variabilità è difficile definire uno schema, dato che la sequenza delle attività non è prestabilita, ma viene definita dinamicamente, durante l esecuzione del processo Processi amministrativi prevedibili e ripetibili è possibile definire uno schema che viene seguito da molte o tutte le istanze (esecuzioni) del processo le varie attività sono in genere eseguite da agenti umani (processi human-oriented), e comportano tipicamente l inserimento di dati o la scrittura di documenti 3
Classificazione dei Processi Processi produttivi system-oriented altamente strutturati e comportano un elevato numero di transazioni che accedono a vari sistemi informativi sono prevedibili e ripetibili Il software di supporto deve essere molto sofisticato, in quanto deve essere in grado di cooperare con sistemi informativi esterni che tipicamente sono eterogenei, autonomi e distribuiti. 4
Workflow Management System sistema software per: definire processi crea, gestisce l esecuzione di workflow uno o più motori di workflow (workflow engine) interagire con i partecipanti chiamare applicazioni e strumenti software esterni 5
Definizione dei processi rete di attività criteri per iniziare e terminare il processo informazioni sulle singole attività partecipanti, documenti e dati collegati applicazioni sw da utilizzare 6
Partecipante di un Workflow risorsa umana una persona un gruppo che condivide un insieme di compiti da svolgere applicazione software hardware specifico in grado di eseguire il compito 7
Gestione ordine Compila BdO Approvazione Controllo disponibilita Stampa report Excel impiegato responsabile Contabilita Word fine direttore Contabilita approva Direttore controlla 8
Workflow Management System istanze di processo (o casi) ciascuna con i propri dati e i propri partecipanti 9
Partecipante di un Workflow risorsa esegue il lavoro associato a una particolare istanza di attività lista dei lavori (worklist): compiti assegnati a partecipante 10
Esempio di schermata (client) 11
Process Definition Process Instance Worklist Process Definition A Activity B Activity A Activity D Activity C 12
Process Definition Process Instance Worklist 1st Process Instance Work List 1 Process Definition A Work Item1 Activity A Activity B Activity C Activity D 2nd Process Instance Work Item2 13
Process Definition Process Instance Worklist 1st Process Instance Work List 1 Process Definition A Work Item1 Activity A Activity B Activity C Activity D 2nd Process Instance 3rd Process Instance Work Item2 Work List 2 Work Item3 14
Process Definition Process Instance Worklist 1st Process Instance Work List 1 Process Definition A Work Item2 Activity A Activity B Activity C Activity D 2nd Process Instance 3rd Process Instance Work Item4 Work List 2 Work Item3 Work Item5 15
Funzionalita WFMS 16
Progetto e specifica dei processi Analisi dei business process, strumenti di modellazione e specifica Build Time Run Time Istanziazione e controllo dei processi Specifica processi Modifiche ai processi Workflow Enactment Service Interazione con gli utenti e le applicazioni Applicazioni e strumenti IT 17
WFMS Cinque sono le funzioni essenziali di un prodotto di gestione di WF: istradamenti documenti / attività monitoraggio e controllo notifica o code di lavoro assegnamento lavoro e automazione gestione procedure 18
Architettura di WFMS 19
Distribuzione e Interfacce Interfaccia utente Applicazioni locali Singola attività Passi Gestione processi Business Process Funzioni di distribuzione Applicazioni Basi di dati 20
Interface 5 Administr. & Monitoring Tools Process Definition Tools Interface 1 Workflow API and Interchange formats Workflow Enactment Service Workflow Engine (s) Interface 4 Other Workflow Enactment Service(s) Workflow Engine (s) Interface 2 Workflow Client Applications Interface 3 Invoked Application 21
Workflow enactment service Transizioni di stato per processi e attività macchina a stati finiti le istanze di processi e attività cambiano stato in risposta a eventi esterni 22
Transizioni di stato per istanze di processi Suspended Terminated Initiate Restart Initiated Suspend / resume Start Restart Running Complete Terminate/ Abort Active (1 or more activity istances) 23
Transizioni di stato per attività Suspend / Resume Suspended Start Inactive Active Complete (has Work Item) 24
Process Definition Interchange (intf. 1) Interchange Format & APIs Process Analysis Modelling & Definition Tools Process Definition Workflow Enactment Service Workflow Engine (s) 25
Gestione lista lavori (intf. 2) associata a partecipante (o gruppo di partecipanti) parte dell interfaccia tra il motore del workflow e il gestore di liste lavori 26
Client Application Interface Workflow Enactment Service Workflow Engine (s) Standardised APIs & Interchange Client Application User Interface Invoked Application Command Set Connection/Disconnection Process and Activity Control Functions Process Status Functions Worklist Manipulation Commands 27
Invoked Application Interface Workflow Enactment Service Standardised APIs & Interchange Application Specific Interfaces Application Agent Invoked Application Workflow Engine (s) Workflowenabled Applications 28
Workflow Interoperability (intf. 4) scambiare elementi di lavoro tra WFMS diversi 4 diversi possibili modelli di interoperabilità 29
Workflow interoperability interface Workflow API and Interchange format Workflow Enactment Service Workflow API and Interchange format Workflow Enactment Service Workflow Engine (s) Workflow Engine (s) Activity or sub-process invocation Process / Activity status / control Application /Workflow relevant data transfer Synchpoint coordination Process definition read / write 30
Modello a servizi concatenati Process A Process B A1 A4 A5 B1 B3 B4 B5 A2 A3 B2 trasferimento di un singolo elemento di lavoro senza ulteriori sincronizzazioni 31
Modello a sottoprocessi annidati Process A A1 A4 A5 B1 Processo B B3 B4 B5 A2 A3 B2 Domain of Workflow Service A Domain of Workflow Service A attivita (A3) di A eseguita come processo completo (B) sul sistema WF B ritorno del controllo ad A 32
Modello Peer-Peer C1 C2 C4 C3 C5 C6 definizione di processo comune Workflow Engine (s) A Enacted across Workflow Engine (s) B importata da un processo di definizione esterno o trasferita run time Shared Domain of Workflow Services A&B 33
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 34
Systems Administration & Monitoring Interface 35
Managent Application WAPI Interface 5 Workflow Enactment Service Workflow Engine (s) A Typical Functional Areas User management Role management Audit management Resource control Process supervisory functions, etc Workflow Enactment Service Workflow Engine (s) B 36
Dati in un WFMS 37
Dati Workflow Control Data: Dati interni gestiti dal WFMS Workflow Relevant Data: Dati usati dal WFMS per determinare le transizioni di stato di una istanza di processo Workflow Application Data: Dati delle applicazioni non accessibili dal sistema di WF 38
Tipi di dati nei Workflow Management Systems 39
Business Process Analysis Modelling & Definition Tools Build time Run Time Run Time Definizione processi Workflow control data Modifiche ai processi Workflow Enactment Service Workflow relevant data Applications & IT Tools Application data 40
Workflow Management Systems for EAI: Orchestration WfMS sono sistemi software in grado di eseguire istanze di processi Programming in the Large La logica di routing in EAI è un processo Quindi un WfMS può essere usato per fattorizzare la logica di integrazione, e funge da orchestration engine resource broker resource 1 completed work items 1 3 workflow engine 4 5 resource 2 inbound queue 2 resource n workflow designer workflow definitions outbound queues
Esempio check if offered product Offered=false check if worth proceeding Offered=true else GoAhead=true get quote from quotation system ContractExists=false get quote ContractExists=true from supplier update quotation system variables: QuoteReferenceNumber: int Customer: String Item: String Quantity: int RequestedDeliveryDate: Date DeliveryAddress: String GoAhead: Bool ContractExists: Bool Offered: Bool send quote to customer enter quote in forecasting system
Architettura Generale per EAI WfMS WfMS adapter message broker SmartQuotation adapter database adapter SmartForecasting adapter e-mail adapter XYZ adapter SmartQuotation DBMS applications SmartForecasting XYZ