Corso di Web Services A A. 2010 2011 Domenico Rosaci Wokflow D. Rosaci Workflow Definizione • Un workflow si preoccupa di automatizzare procedure in cui documenti, informazioni o tasks vengono passati fra i vari attori, rispettando definiti set di regole per poter ottenere o contribuire ad un obiettivo comune. • Più semplicemente può essere descritto come l’agevolazione o l’automatizzazione computerizzata di un processo di business, in parte o totalmente D. Rosaci Workflow 2 Automatizzazione dei processi • L’automatizzazione di un processo di business è definita all’interno di una specifica di processo, in cui si identificano le varie attività, le regole procedurali e i rispettivi dati di controllo, che vengono utilizzati per gestire il workflow durante l’esecuzione del processo. • Ogni istanza del processo ha associato un set specifico di dati che sono rilevanti per quella determinata istanza di processo (Case). D. Rosaci Workflow 3 Tipologie di workflow • Una distinzione viene segnalata tra workflow di produzione e workflow ad-hoc; • i primi utilizzano regole procedurali definite a priori • i secondi le regole procedurali possono essere modificate o create durante le operazioni del processo. D. Rosaci Workflow 4 Wokflow Management System • E’ un sistema che definisce, crea e gestisce l’esecuzione dei workflow attraverso l’utilizzo di software, i quali vengono eseguiti su uno o più workflow engine, i quali sono in grado di interpretare le definizioni di processo, interagire con i partecipanti e invocare l’uso di tool e applicazioni IT quando richiesto. D. Rosaci Workflow 5 Wokflow Management System; Vantaggi • Il lavoro non va in stallo e non segue percorsi non corretti e perciò gli impiegati sono raramente chiamati a recuperare situazioni di errore. • I manager possono focalizzarsi su problemi di business quali performance individuali, procedure di ottimizzazione, e casi speciali, anziché badare all’assegnamento delle attività. • Gli impiegati sono sollevati dal compito di inviare e tenere traccia del loro lavoro, in quanto queste operazioni sono svolte in automatico. • Le procedure sono documentate formalmente ed eseguite correttamente; ciò assicura che il lavoro sia svolto nella maniera in cui è stato pianificato dal manager, andando a soddisfare tutti i requisiti a cui è soggetto. D. Rosaci Workflow 6 Vantaggi dei WMS • I compiti più importanti vengono svolti per primi, assegnando la persona o macchina più appropriata ad ogni attività componente il processo. Gli impiegati non sprecano tempo scegliendo il lavoro da svolgere • Rispetto ad un workflow tradizionale, l’introduzione del parallelismo, cioè l’esecuzione concorrente di più task, porta ad una semplificazione del processo e a minor attese e perdite di tempo. • Migliora anche per quanto riguarda il servizio clienti, in quanto la consistenza del processo porta ad una maggiore prevedibilità del livello di risposta ai clienti. • Dal punto di vista della flessibilità si hanno dei vantaggi in quanto il controllo computerizzato dei processi permette la loro riprogettazione in linea con i cambiamenti di business richiesti. D. Rosaci Workflow 7 Concetti • Business process: insieme di una o più procedure o attività collegate, le quali realizzano collettivamente un obiettivo comune, normalmente all’interno del contesto di una struttura organizzativa che definisce ruoli funzionali e relazioni. • Un business process può coinvolgere interazioni formali o informali tra i partecipanti e la sua durata può variare largamente. • Può essere composto da attività automatizzate in grado di gestire il workflow e/o da attività manuali le quali non riguardano ciò che concerne la gestione del workflow. D. Rosaci Workflow 8 Concetti • Process: rappresentazione di un processo di business in una forma che supporta la manipolazione automatica. • La definizione di un processo consiste in una rete di attività e nelle loro relazioni, criterio atto ad indicare l’avvio, la terminazione di un processo, le informazioni legati alle attività individuali, i partecipanti, le applicazioni associate, i dati, ecc… • La definizione di un processo può contenere collegamenti a sottoprocessi, definiti separatamente, che possono prendere parte alla definizione globale di processo. D. Rosaci Workflow 9 Concetti • Process Instance (Case): rappresentazione di una singola istanza di processo, creata, gestita ed eventualmente terminata da un workflow anagement system. • Ogni process instance usa dati propri ed è in grado di procedere indipendentemente attraverso i vari step fino al suo completamento o terminazione. • Ogni process instance mantiene uno stato interno che rappresenta il suo stato di avanzamento attraverso le attività che la compongono. D. Rosaci Workflow 10 Concetti • Una process instance può trovarsi in vari stati: • - Initiated: l’istanza di processo è stata creata ma non è in esecuzione. • - Running: l’istanza di processo ha iniziato la sua esecuzione ed una o più delle sue attività possono essere eseguite. • - Active: uno o più activity sono iniziate e sono state create delle activity instance. • - Suspended: l’istanza di processo è quiescente: ulteriori activity non possono essere iniziate prima che essa riprenda la sua esecuzione. (continua) D. Rosaci Workflow 11 Concetti • - Completed: l’istanza di processo ha raggiunto le condizioni di terminazione. • - Terminated: l’esecuzione del processo è stata interrotta in maniera non corretta a causa di errori o su richiesta dell’utente. • - Archived: l’istanza di processo è in uno stato di archiviazione, ma può essere riabilitata per la ripresa del processo. D. Rosaci Workflow 12 Concetti • Activity: descrizione di una parte di lavoro che forma uno step logico all’interno di un processo. Un’attività può essere manuale, che non supporta automazione computerizzata, o automatizzata. • Un’attività di workflow richiede delle risorse umane o hardware per supportare l’esecuzione del processo; quando è richiesta una risorsa umana, l’attività viene assegnata ad un utente coinvolto nel workflow. • Un’attività è tipicamente la più piccola unità di lavoro che è schedulata da un workflow engine durante l’esecuzione del processo. D. Rosaci Workflow 13 Concetti • Activity Instance: rappresentazione di un’attività all’interno di una singola istanza di processo. Ogni activity instance rappresenta una singola invocazione di una attività, relazionata esattamente ad una istanza di processo, ed usa i dati associati all’istanza di processo. • Diverse activity instance possono essere associate ad un process instance, ma un’activity instance non può essere associata a più process instance. D. Rosaci Workflow 14 Concetti • Un’activity instance può trovarsi in vari stati: • - Inactive: l’activity instance è stata creata, ma non ancora attivata; non esiste un workitem per quella attività. • - Active: uno o più work-item sono stati creati e assegnati per essere processati. • - Suspended: l’activity instance è quiescente: ulteriori work-item non possono essere iniziati prima che essa riprenda la sua esecuzione. • - Completed: l’activity instance ha raggiunto le condizioni di terminazione. D. Rosaci Workflow 15 Concetti • Work-Item: rappresentazione del lavoro che deve essere processato nel contesto di un’attività all’interno di un’istanza di processo. • Un work-item è normalmente presentato all’utente per mezzo di una lista di lavori, che mantiene i dettagli dei work-item assegnati a quello specifico utente. D. Rosaci Workflow 16 Relazioni tra concetti D. Rosaci Workflow 17 Business Process Modeling Notation (BPMN) • Notazione grafica per rappresentare i flussi di processo • Standard sviluppato dalla Business Process Modeling Initiative, con lo scopo di fornire una notazione chiara, completa e facilmente comprensibile da tutti gli utenti • La BPMN definisce un Business Process Diagram (BPD) che, utilizzando diagrammi di flusso composti da un insieme di elementi grafici, permette la creazione di modelli di business process, e allo stesso tempo di gestire in maniera efficace la complessità che essi comportano. D. Rosaci Workflow 18 BPMN • La BPMI nella definizione dello standard ha scelto di organizzare gli elementi grafici in categorie specifiche, permettendo al lettore di riconoscere e capire facilmente gli elementi base dei diagrammi. • Le quattro categorie base di elementi sono: Flow Objects, Connecting Objects, Swimlanes e Artifacts. • I Flow Objects sono i tre elementi base che compongono un Business Process Diagram: – Event, – Activity – Gateway. D. Rosaci Workflow 19 BPMN D. Rosaci Workflow 20 BPMN D. Rosaci Workflow 21 BPMN D. Rosaci Workflow 22 BPMN D. Rosaci Workflow 23 Esempio: Gestione prestiti bancari via Web • Il processo rappresenta i passi necessari per poter effettuare la richiesta di un prestito bancario. • Esso inizia con la richiesta di un prestito da parte di un utente (Applicant). Tale richiesta viene processata dapprima da un manager aziendale che ne fa una valutazione preliminare e verifica se i dati immessi dall’utente sono validi, interrompendo, in caso contrario, l’intero processo. • Nel caso in cui i dati siano validi il processo proseguirebbe la sua esecuzione e il manager passerebbe la richiesta agli impiegati, effettuando una selezione dei compiti da assegnare ad ogni impiegato. . D. Rosaci Workflow 24 Esempio: Gestione prestiti • A questo punto il processo si divide in due parti che possono essere svolte in disgiunzione: infatti se l’utente avesse fatto richiesta di un prestito semplice (Loan), le verifiche da effettuare da parte degli impiegati sono quella finanziaria, di residenza e di credito bancario. Nel caso di un mutuo (Mortgage), invece, gli impiegati devono verificare sia lo stato finanziario dell’utente e la residenza, sia effettuare una verifica sull’impiego dell’utente. • Una volta effettuate tali verifiche, la richiesta ritorna sotto la competenza del manager, che effettua una verifica finale e decide se accettare o meno la richiesta di prestito. Infine l’utente decide se accettare o rifiutare il prestito, terminando così l’intero processo • L’intero BPMN dell’esempio si trova nell’Allegato 1 D. Rosaci Workflow 25 Esempio: Compravendita macchine usate • Questo secondo caso di studio è stato introdotto in quanto si adatta in modo più adeguato ad un particolare scenario di distribuzione di workflow che tratteremo rispetto al caso di studio precedente, in quanto è necessario avere due flussi di processo separati; per questo motivo abbiamo scelto lo scenario della compravendita di macchine usate. • In questo caso abbiamo due workflow indipendenti, uno riguardante le auto, che viene gestito da un’applicazione che rappresenta un concessionario, e uno riguardante l’utente, proprio di un’applicazione che gestisce i clienti del concessionario. D. Rosaci Workflow 26 Workflow delle auto • Il flusso di processo relativo ad un auto inizia con la sua fabbricazione, continua con la sua immatricolazione e prosegue con delle attività che rappresentano la compravendita dell’auto. • Queste attività comprendono “For Sale”, in cui l’auto viene messa in vendita per consentirle la ricerca da parte dell’acquirente, e “Purchase / Sale” che conclude le operazioni di compravendita; • esse possono essere eseguite più volte, a seconda del numero di transazioni che avvengono nel sistema. L’ultima fase, che porta al completamento del flusso di processo relativo ad un’auto, è la demolizione. D. Rosaci Workflow 27 Workflow delle auto D. Rosaci Workflow 28 Workflow degli utenti • Il workflow degli utenti inizia con la ricerca di un’auto e prosegue, dopo l’acquisto, con il suo utilizzo, per continuare poi con una attività di messa in vendita dell’auto. A questo punto il flusso di lavoro ritorna alla fase iniziale di ricerca delle auto. D. Rosaci Workflow 29 Compravendita macchine • I due workflow interagiscono fra loro solamente a fronte di una richiesta di acquisto o vendita di un’auto. • Questo caso di studio ci offre la possibilità di ricavare svariate combinazioni di interazione fra le due tipologie di workflow. • Quella più semplice riguarda il solo workflow relativo alle auto, utilizzato dalla concessionaria, che immatricola le auto, le acquista per se, e in seguito le demolisce. • A questo è possibile aggiungere un’istanza del workflow degli utenti, rappresentando un cliente che desideri acquistare o vendere la propria auto esclusivamente al concessionario. • A questo scenario è possibile inserire altre istanze del workflow degli utenti, senza un limite massimo, per rappresentare un sistema di compravendita che coinvolga svariati utenti. D. Rosaci Workflow 30 Altro esempio di Workflow D. Rosaci Workflow 31 Altro esempio di collaborazione tra Workflow D. Rosaci Workflow 32