• Non ci sono risultati.

Un BPMS non è altro che l’insieme degli strumenti informatici che permette di realizzare tut- te le fasi dell’implementazione di un processo aziendale. Un’ottima definizione si deve a M. Weske che nel 2004 ne parla come

“un sistema software generico che guidato dal disegno esplicito dei processi realizza applicazioni di gestione dei processi operativi” [19]

I sistemi BPM nascono per rispondere alla necessità di poter adeguare continuamente le ap- plicazioni già create alle esigenze del mercato in costante mutamento. Inizialmente infatti le organizzazioni creavano applicativi che venivano eseguiti esclusivamente sui propri sistemi operativi, con lo scopo principale di avere un sistema che consentisse la memorizzazione, la presentazione e il recupero di informazioni, ma con l’avvento di internet si è resa necessaria l’integrazione sul Web di questi applicativi in modo che fossero accessibili sia ai partner coinvolti nel processo in questione che ai clienti.

I BPMS permettono di rappresentare un processo attraverso la definizione di un modello e- splicito, facilmente comprensibile, sia agli addetti informatici che a chi si occupa dell’organizzazione dei processi aziendali, permettendo un completo supporto al BPM.

Permettono altresì di integrare i sistemi legacy più antiquati, cioè quei sistemi usati da molto tempo da un’organizzazione che non vengono dismessi per motivi ad esempio economici, at- traverso dei connettori specifici per diverse tecnologie.

Oggetto “dati”

Raggruppamenti

Nota

39 Un BPMS, in definitiva, ci permette di:

 analizzare e modellare i processi attraverso un designer che ci permette di avere una rappresentazione grafica dei processi utilizzabili dai Business Analyst;

 fornire un ambiente di sviluppo per creare soluzioni software che permettano di au- tomatizzare attività che normalmente richiedono l’intervento umano attraverso stru- menti che permettono ad esempio di creare form specifici.

 Creare un ambiente di sviluppo che permetta di integrare sistemi informativi attra- verso l’uso delle API7

;

 definire le regole che caratterizzano un processo e gli strumenti per la loro applica- zione;

 utilizzare un motore per eseguire il flusso dei processi creati. Si tratta del BPM Engi- ne che consente di assegnare ad una specifica risorsa l’esecuzione di un’attività.

 utilizzare strumenti per analizzare e modificare i dati attraverso un ambiente integra- to che permette di effettuare simulazioni sulla base dei dati raccolti precedentemente. Questi componenti sono il Business Activity Monitoring (BAM) e il Business Co- ckpit.

Esiste un gran numero di sistemi BPMS come Billfish BPM, Intalio Entreprise Edition, Busi- ness Process Visual Architect che dal punto di vista tecnologico non hanno differenze sostan- ziali ma che si distinguono per le funzionalità messe a disposizione dell’utente. In questo ela- borato ci soffermiamo sull’analisi della Suite Bonita BPM fornito da Bonitasoft in quanto sarà il BPMS utilizzato per l’obiettivo finale.

2.5 BPM Bonitasoft [20]

Bonita BPM è un software open source fornito da Bonitasoft che può essere installato su tutti i sistemi operativi, Windows, Linux, e Mac con quattro edizioni disponibili Community, Te- amwork, Efficiency, Performance, che permettono delle funzionalità più o meno avanzate. A prescindere da queste funzionalità tutte le edizioni sono costituite da tre componenti principa- li:

Bonita Studio: permette all’utente di rappresentare graficamente i processi attraverso lo standard BPMN, di creare interfacce, di associare delle variabili al processo.

Bonita BPM Engine: un motore java che permette l’esecuzione dei processi definiti nel tool Studio.

7

40

Bonita Portal: che permette agli utenti di eseguire in un portale web tutte le attività che gli sono state assegnate.

La struttura è rappresentata nella Figura 14:

Figura 14 Architettura BonitaSoft

Dalla figura si nota anche che Bonita ha installati una serie di connettori che permettono di interfacciare il nostro progetto con altri software e/o utilizzare servizi esterni come il servi- zio di invio/ricezione delle mail o la connessione ad un database esterno.

Bonita ha al suo interno anche un DB integrato e un web service (Tomcat [21]) e tutti i file che permettono di poter testare il processo quando si avvia la simulazione.

Se la simulazione va a buon fine e non si rilevano bug, possiamo andare a esportare come amministratore il processo su un server. Per poterlo fare è necessario installare preventiva- mente i bonita deploy files forniti, per la versione che stiamo utilizzando, in maniera gratuita da bonitasoft. Questi permettono di avere un ambiente simile a quello che otteniamo quando avviano la simulazione da BonitaStudio sul nostro computer. In questo modo chiunque da un browser potrà accedere, previa autenticazione, al server ed eseguire i processi e i task che gli sono stati assegnati. (Vedi Figura 15)

41 Analizziamo ora nel dettaglio i tre componenti di BonitaSoft.

2.5.1 Bonita Studio

Come accennato precedentemente, si tratta di un tool per la definizione del diagram- ma di flusso del processo, passo fondamentale e sicuramente decisivo per la buona riuscita dell’obiettivo finale. Per la definizione di un diagramma, essendo basato sull’uso della notazione BPMN, il tool mette a disposizione tutti gli elementi caratte- ristici di tale linguaggio, descritti nel paragrafo 2.3.4, all’interno di una finestra late- rale da cui possono essere selezionati e inseriti nel diagramma rappresentato inizial- mente da un foglio, che simula il o i processi di un’organizzazione, diviso in una o più corsia a seconda delle categorie coinvolte come mostrato in Figura 16:

BROWSER WEB Bonita Produzione EXPORT PROCESS SVILUPPO PRODUZIONE CLIENT 1 2 3 Disegno processo Test e simulazio- ne PROCESSO 1 PROCESSO 2

BONITA deploy file

Apache Tomcat

DB (Mysql)

Server Web GNU/Linux

42

Figura 16 Interfaccia Bonita Studio

L’organizzazione può essere definita dal menu Organization della barra degli stru- menti oppure usando le API Rest all’interno di uno script. Il tool ha un’organizzazione di default per permettere di simulare, almeno inizialmente, un qualsiasi processo ma ne può essere creata una custom all’interno della quale compa- riranno gli attori del nostro processo. Gli attori andranno a formare dei gruppi con precisi ruoli che non saranno altro che le categorie dell’organizzazione che forme- ranno le varie Lane del Pool principale.

Una volta definite tutte le attività, i servizi e indicato il flusso del processo per ogni corsia, è mostrato in basso, nella figura 16, la panoramica del processo e dei singoli moduli in termini di connettori impiegati, variabili utilizzate, operazioni da eseguire. Per ogni human task definito, compito svolto da un utente, è possibile dare una rap- presentazione formale, in sostanza un form, un modulo che ne definirà la visualizza- zione all’interno di Bonita Portal. A questo scopo Bonita Studio fornisce due metodi: uno standard introdotto con la versione 6, la 6.x Application, e uno di recente presen- tazione, l’UI Designer. Entrambi mettono a disposizione una serie di widget per crea- re la propria pagina personalizzata come mostrato in Figura 17:

43

Figura 17 Editor Creazione Form UI Designer

E’ possibile quindi rappresentare ciascuna variabile, definita e associata ad ogni task, attraverso il widget opportuno che ne indicherà il tipo definito, che può essere un semplice testo, una data, una check box, un link ecc e disporli all’interno del form in modo da creare la struttura della pagina che abbiamo immaginato. La differenza nell’utilizzo dell’UI Designer sta nel fatto che in questo caso è prevista la definizione preliminare di un contratto, cioè della definizione degli oggetti, degli input, che fa- ranno parte del form che andremo a creare che saranno poi inseriti in modo automa- tico dall’applicativo, mentre per l’Application 6.x l’inserimento è di tipo manuale. La nozione di contratto è legata alla definizione d’ingressi e vincoli. Gli ingressi so- no le informazioni necessarie al processo per essere avviato o le azioni umane essen- ziali per iniziare un’attività mentre i vincoli sono quelle restrizioni applicate agli in- gressi per avere valori validi. Se non si forniscono i giusti input, infatti, il sistema ri- fiuterà l’avvio del processo, o dell’attività, e quindi in questo senso il contratto rap- presenta una sorta di protezione del processo stesso.

Per poter implementare i form, associare dei valori alle variabili definite si utilizza la toolbar visibile in Bonita Studio che presenta diverse sezioni:

44

Figura 18 Sezioni Per L'inserimento Delle Caratteristiche Del Processo

 General: è la sezione generale in cui è possibile definire il nome del processo e gli attori che ne prenderanno parte.

 Data: è la sezione per l’inserimento delle variabili di processo o locali. La differenza è che quelle di processo possono essere utilizzate in tutti i task an- che appartenenti a lane diverse mentre quelle locali sono legate a un partico- lare task. E’ possibile inoltre la definizione di documenti o parametri che sa- ranno utilizzati nel processo che si sta implementando.

 Execution: permette l’inserimento degli ingressi del contratto e le operazioni per associare questi ultimi a variabili di processo, nel caso si utilizzi l’UI Designer, l’inserimento di connettori e la possibilità di scelta della funzionali- tà con cui implementare il task considerato.

 Application 6.x: consente la creazione del form con tale funzionalità.

Un’altra caratteristica importante messa a disposizione dal tool, come mostrato nell’architettura generale in Figura 14, è la possibilità di aggiungere dei connettori a servizi e/o software esterni. Bonita ha già integrati un ampio di numero di connettori, come mostrato in Figura 19, ma permette anche la possibilità di definirne altri sem- plicemente importandone il “.jar” che ne permette la sua implementazione.

45 Infine attraverso la toolbar si può accedere alle features di esecuzione, simulazione e accesso al portale.

2.5.2 Bonita Portal

Premendo il tasto “run” dal BPM Studio si avvia l’esecuzione del processo e si acce- de all’interfaccia utente BPM Portal attraverso un browser web. E’ necessario effet- tuare l’autenticazione con login e password in modo da poter visualizzare i task asse- gnati, eseguirli, avere uno storico delle attività svolte precedentemente.

Il Bonita Portal appare come mostrato nella Figura 20.

Figura 20 Interfaccia Presentazione Task Bonita Portal

Andando nella sezione task, si apre a sinistra, in rosso, un menu da cui si possono se- lezionare i task già eseguiti, quelli da eseguire. Alla selezione di un task compariranno nella parte destra della pagina tutte le informazioni relative a quel compito e il tasto Esegui nel caso si trattasse di un task ancora da eseguire. La sezione Cases permette invece di visualizzare i casi aperti, cioè le istanze avviate del processo.

All’interno del portale, effettuando l’accesso come amministratore, è anche possibile visualizzare, importarte e/o esportare l’organizzazione creata in un file xml, visualizzare tutti gli utenti e aggiungergli e/o togliergli dei privilegi, aggiungere nuovi utenti, gruppi o ruoli (Figura 21).

46

Figura 21 Gestione Organizzazione Dal Portale

2.5.3 Bonita Engine

Il BPM Engine è il motore java messo a disposizione da Bonita per l’esecuzione dei processi. Non si hanno molte informazioni sulla sua realizzazione e sul suo funzio- namento ma come tutti gli Engine permette l’esecuzione dei modelli di processi cre- ando un’istanza del processo stesso, usando i dati generati dalle sue attività, con l’inizializzazione del valore delle sue variabili. Al suo completamento, dopo un certo periodo definito dall’utente, l’istanza viene cancellata per poter riallocare le risorse utilizzate. L’Engine permette inoltre la generazione dei file di log per tenere traccia di tutte le operazioni eseguite nell’esecuzione del processo e per la visualizzazione di eventuali errori.

Per mettere in esecuzione un processo, il BPM engine deve essere in grado di sele- zionare le attività con i relativi attori coinvolti cioè interpretare il diagramma proget- tato garantendo il giusto flusso operazionale.

CAPITOLO 3

IMPLEMENTAZIONE PROGETTO

Documenti correlati