• Non ci sono risultati.

Capitolo 4: Un caso pratico: il workflow per l’automazione del processo di gestione delle

4.2 Il sistema di gestione del workflow Metastorm E-Work

Metastorm E-Work è una piattaforma di BPM fortemente orientata al workflow, con cui è possibile modellare e realizzare rapidamente processi di business e mantenerli sempre aggiornati a costi contenuti. Il suo obiettivo principale è quello di fornire strumenti per la realizzazione del workflow a persone con scarse conoscenze tecniche (solitamente il management aziendale) che si occupano dell'ideazione del processo di business, per aiutarle a modellarlo in base alle proprie necessità, ottenendo benefici in termini di produttività, efficienza ed un migliore servizio al cliente. Il sistema è infatti interamente Web-based, e tramite un semplice browser web è possibile accedere in tempo reale alle informazioni relative ai processi ed effettuare ricerche, pur in mancanza di familiarità con i sistemi di back-end.

E-Work utilizza un’architettura multistrato: al livello di presentazione, gli utenti possono scegliere la loro interfaccia preferita, tra Internet Explorer, Microsoft Outlook o Novell GroupWise. Lo strato di processo è quello dove risiede il cuore del sistema, il quale a sua volta può facilmente integrarsi, grazie a editor predefiniti, con le applicazioni esistenti (sistemi CRM o ERP o servizi di directory, per esempio) per dare ai processi funzionalità ancora maggiori. L’ultimo livello è quello dei dati: E-Work sfrutta un database relazionale per memorizzare tutte le informazioni sui processi, sulle singole istanze e sul loro stato ed anche quelle relative al monitoraggio ed al controllo. Questa architettura permette di creare processi indipendenti dalle applicazioni e dai dati, aumentando quindi la loro flessibilità.

E-Work è costituito dai seguenti componenti:

Designer: è un'applicazione client usata per modellare e pubblicare i processi di E-Work, specificando tutti i parametri necessari alla loro esecuzione ed integrandoli con applicazioni o sorgenti di dati preesistenti. Oltre ad una mappa per la rappresentazione grafica del processo, fornisce vari editor: per la creazione o importazione di questionari, per la definizione dei ruoli e delle variabili di processo, per l’integrazione con altre basi di dati o applicazioni e per l’inclusione di scripts (in linguaggio JavaScript o VBScript).

Engine: gestisce tutte le transazioni del sistema (assicurando che le operazioni incomplete non siano memorizzate nella base di dati) e serve come singolo punto di contatto per tutte le applicazioni esterne coinvolte in un processo. Utilizza XML per il trasporto delle informazioni e la comunicazione con le interfacce utente, e quindi permette un facile sfruttamento, come vedremo, delle potenzialità dei Web Services20.

modulo Administration: consente l'amministrazione dei processi pubblicati e di tutte le loro istanze (o folders) in corso.

modulo Users & Roles: è utilizzato per la gestione degli utenti in base ai loro ruoli, all'organigramma aziendale ed agli attributi del processo.

20 Addirittura l’intero Engine può essere esportato come Web Service, per facilitare la sua interazione con altri servizi

modulo Web Services Import Wizard: consente di importare ed utilizzare all’interno di un processo uno o più Web Services, per ricavare informazioni da essi, realizzare funzionalità personalizzate o esportare un intero processo in modo che possa essere acceduto dall’esterno come un Web Service.

Ma forse il vero punto di forza di E-Work è la sua interfaccia, molto semplice ed intuitiva, accessibile facilmente via web, che fornisce all’utente, basandosi sul suo ruolo (statico o calcolato a tempo di esecuzione), solamente le informazioni di cui necessita e le operazioni che può svolgere per far scorrere il flusso del processo. Inoltre, essendo completamente separata dagli altri componenti del sistema, può essere personalizzata a seconda delle esigenze dei vari utenti. E-Work fornisce ben due worklist: una è la cosiddetta To Do List, che contiene le istanze per cui quell’utente è responsabile e per cui deve eseguire una certa operazione per farle muovere all’interno del processo. Le istanze sono invece poste nella Watch List di un utente se questo necessita semplicemente di essere informato sul loro progresso. In entrambi i casi, cliccando su una delle azioni contenute nella worklist si apre una schermata (riportata in figura 26) che visualizza non solo (in basso) le operazioni che è possibile svolgere (nessuna nel caso della Watch List), ma anche tutti i questionari e le informazioni che possono servire per la loro realizzazione o per decidere l’azione da intraprendere (i questionari associati a quel punto del processo sono elencati in alto e visualizzabili tutti in sola lettura).

Figura 26: Schermata di presentazione all'utente delle attività da svolgere e delle informazioni associate, visualizzata dopo la scelta di un elemento di una worklist

Inoltre, è possibile visualizzare in un’unica pagina tutte le Blank Forms, cioè i processi di workflow che possono essere avviati creandone una nuova istanza, solitamente grazie alla compilazione di un questionario (o form).

Per quanto riguarda il disegno vero e proprio del processo, il Designer permette la realizzazione di una mappa, la quale consiste in una serie di stadi (o stages) in cui le istanze attendono che qualcuno svolga le attività (o azioni) che permettano loro di muoversi allo stadio successivo e far quindi progredire il processo. Vi sono vari tipi di azioni: alcune richiedono l’intervento umano per la loro realizzazione, altre sono eseguite automaticamente. Ogni azione o stage ha varie proprietà, le quali sono visualizzabili e modificabili nel Properties Editor.

I simboli delle varie azioni e dei vari tipi di stage e le proprietà che è possibile stabilire per esse nel Properties Editor sono riportati nella tabella seguente. Per quanto riguarda le azioni, tra le proprietà non sono indicate il loro nome, la priorità, la descrizione testuale, il messaggio di visualizzazione nelle worklist e le operazioni da eseguire al loro avvio ed al loro termine, in quanto sono disponibili per tutti i tipi di azione.

Stage Descrizione Proprietà

Utente

Le istanze arrivate a questo stage sono solitamente poste nella To Do List di un singolo utente.

Nome, questionari

visualizzabili, ruoli per cui lo stage compare in una worklist, eventuali operazioni da eseguire all’ingresso ed all’uscita dello stage.

Gruppo

Le istanze arrivate a questo stage sono solitamente poste nella To Do List di un certo numero di utenti.

Come sopra.

Sistema

Le istanze arrivate in questo stage non vengono poste in nessuna lista, ma le azioni successive sono eseguite automaticamente dal sistema.

Come sopra.

Sottoprocesso

Permette di dividere un’istanza in più sottoprocessi, ognuno con la sua mappa, che possono essere eseguiti in parallelo. Le istanze arrivate in questo stage danno luogo ad una serie di istanze figlie, ognuna delle quali segue il flusso della sua mappa.

Come sopra, oltre alla specifica delle mappe

corrispondenti ai sottoprocessi uscenti da

questo stage.

Comune

Rappresenta una lista di altri stage. Viene usato per definire azioni comuni, che vengono cioè eseguite a partire da stage diversi.

Come lo stage utente (a parte la specifica dei ruoli), oltre alla lista degli stage che ne fanno parte.

Archivio

Arrivati a questo stage, l’esecuzione del processo è considerata terminata e l’istanza non appare su nessuna lista di nessun utente.

Come lo stage utente, esclusa la specifica dei ruoli.

Azione Descrizione Proprietà

Utente

Invocata da un utente, di solito gli richiede di inserire dati attraverso un questionario o di approvare quelli inseriti da altri.

Questionari da compilare per realizzare l’azione ed i ruoli per cui è accessibile. Temporizzata

Eseguita automaticamente dopo un certo intervallo a partire dal verificarsi di un determinato evento.

Specifica dell’evento e della

durata dell’intervallo precedenti alla sua esecuzione.

Condizionale

Eseguita automaticamente se la condizione ad essa associata è vera. Quest’ultima è valutata ogni volta che l’istanza arriva allo stage che la precede.

Condizione di esecuzione.

Rendezvous

Eseguita automaticamente quando un certo sottoinsieme di sottoprocessi termina raggiungendo uno stage di tipo archivio.

Sottoprocessi di cui deve aspettare la terminazione.

Nel Properties Editor è anche possibile impostare alcune proprietà per i vari questionari (forms) che fanno parte di un processo: queste sono sia di tipo grafico (font e colori di visualizzazione), sia relative alle operazioni da compiere al caricamento o al salvataggio della form, sia relative ai singoli campi che le compongono: è infatti possibile specificare per ognuno di essi eventuali variabili associate, opzioni relative alla visibilità (se devono essere nascoste all’utente, in sola lettura o anche in scrittura, e se la loro specifica è facoltativa o obbligatoria) ed eventuali azioni da compiere in caso di loro modifica.

Infine, è possibile associare ad un azione, ad uno stage o ad un questionario uno script (in linguaggio JavaScript o VBScript) da eseguire contestualmente al verificarsi di determinati eventi (l’ingresso o l’uscita da uno stage, il caricamento o il salvataggio di una form, l’avvio o la terminazione di un’azione): tali script possono essere eseguiti sia lato client (sulla macchina dell’utente) che lato server (su quella dove risiede l’Engine).