Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei...

25
Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Ingegneria del Software Strumenti di Workflow Management per la modellazione, simulazione, esecuzione e monitoring di processi di sviluppo software Anno Accademico 2012/2013 Candidato: Iorio Raffaele matr. N46/000182

Transcript of Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei...

Page 1: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Ingegneria del Software

Strumenti di Workflow Management per la modellazione, simulazione, esecuzione e monitoring di processi di sviluppo software

Anno Accademico 2012/2013 Candidato: Iorio Raffaele matr. N46/000182

Page 2: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

Ai miei familiari, agli amici e alla mia ragazza che mi hanno sostenuto e compreso in questo percorso di studi

Page 3: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

Indice

Indice .................................................................................................................................................. III

Introduzione ......................................................................................................................................... 4

Capitolo 1: Workflow Management .................................................................................................... 5

1.1 Business Process ........................................................................................................................ 6

1.2 Business Process Management .................................................................................................. 7

1.3 Business Process Model and Notation ....................................................................................... 8

1.4 WorkFlow Management Systems ............................................................................................ 10

Capitolo 2: Bonita BPM ..................................................................................................................... 13

2.1 Installazione ............................................................................................................................. 13

2.2 Funzionalità .............................................................................................................................. 14

Capitolo 3: Intalio .............................................................................................................................. 17

3.1 Installazione ............................................................................................................................. 17

3.2 Funzionalità .............................................................................................................................. 18

Capitolo 4: ProcessMaker .................................................................................................................. 20

4.1 Installazione ............................................................................................................................. 20

4.2 Funzionalità .............................................................................................................................. 20

Conclusioni ........................................................................................................................................ 23

Bibliografia ........................................................................................................................................ 25

Page 4: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

4

Introduzione

Con questa tesi si è andato ad analizzare i principali software in grado di gestire i gruppi di

lavoro basati sulla teoria del Business Process Management.

Si è iniziato quindi andando a richiamare i concetti principali, quali la definizione di

Business Process, il Business Process Management, e il Business Process Model and

Notation, per poi procedere con una descrizione generale dei software presi in

considerazione.

Sono stati scelti software distribuiti con licenza Free oppure Open-Source e sono stati

messi a confronto gli uni con gli altri.

Infine analizzato tutto, si sono tratte delle conclusione sulle diverse funzionalità offerte dai

vari software.

Page 5: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

5

Capitolo 1: Workflow Management

Nelle principali aziende di sviluppo software di oggi, non c’è un unico impiegato a

lavorare su un singolo progetto, ma un insieme, che può essere formato da due ad anche

centinaia di persone, tra di loro suddivisi in gruppi di lavoro, che risolvono una

determinata area di progetto.

Questo come si può immaginare può portare a difficoltà di comunicazione tra i vari gruppi

ma anche tra i vari partecipanti del singolo gruppi. Quindi, per il bene del progetto da

realizzare e in particolare per il bene dell’azienda, è importante definire un metodo di

comunicazione semplice ma soprattutto efficace tra i vari gruppi di lavoro e tra i vari

membri del gruppo stesso. In particolare, i membri di un singolo gruppo, dovrebbero

scambiarsi informazioni sullo stato del progetto e dell’area progettuale a loro assegnata,

tenendo conto delle scelte progettuali mutate rispetto a quelle prese in precedenza. Inoltre

bisogna informare gli altri gruppi se queste scelte sono fondamentali per il progetto stesso,

o se c’è un’eventuale modifica al piano di consegna originale.

Per queste e simili problematiche si è sviluppata la teoria del Business Process

Management. Essa è nata in senso generico sulla definizione di un qualsiasi processo

aziendale, ma che può adattarsi in ogni ambito, in particolare anche allo sviluppo di

software. I vantaggi nell’utilizzo di queste tecnologie sono: incremento dell’efficienza,

migliore controllo del processo e maggiore flessibilità del processo di lavoro, in quanto è

possibile programmare il lavoro in base alle esigenze.

Per descrivere completamente il principio di funzionamento è necessario richiamare alcuni

concetti chiave ovvero: il processo aziendale (o Business Process), con la descrizione di

Page 6: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

6

attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process

Model and Notation, e la descrizione generale di un Workflow Management System, con

le varie aree funzionali.

1.1 Business Process

Con Business Process o processo aziendale si intendono tutte quelle azioni con obiettivo

comune, svolte dal personale di un’azienda, che portano alla realizzazione del prodotto

finale destinato a un cliente. Le risorse utilizzabili e il risultato del processo, possono

essere beni, servizi o informazioni, mentre, le azioni possono essere eseguite con un

lavoro manuale oppure automatizzato; esse rappresentano l’elemento di base di un

processo, un’attività, che non necessità di ulteriore scomposizione in azioni più piccole al

fine di migliorarne lo svolgimento. Un insieme di queste attività, possono essere

raggruppate in quello che è definito sotto-processo, dove quest’ultimo presenta specifiche

di input e di output proprio, ma che contribuisce al raggiungimento generale del processo.

Nella definizione di un processo, sono presenti dei parametri che ne permettono

l’individuazione dell’inizio e della fine, e tutte quelle informazioni correlate, quali ad

esempio i sotto-processi creati, i partecipanti, i documenti, i dati necessari per l’avanzare

del processo e le applicazioni software che si devono utilizzare.

Per gestire il coordinamento delle varie attività e dei sotto processi sono possibili tre

metodi:

dividendo le responsabilità ai vari gruppi di lavoro che concorrono nel processo;

assegnando una figura manageriale che ha il compito di supervisionare l’intero

processo, dall’inizio alla fine;

definendo un’entità che raggruppa al suo interno tutti i partecipanti e ne coordina il

lavoro.

Infine i processi possono essere classificati in due categorie: primari e di supporto.

I primari sono quei processi che hanno come utilizzatore del prodotto dei soggetti

all’esterno dell’azienda, mentre, i processi di supporto hanno come clienti altre attività

della azienda stessa e che quindi aiutano lo svolgimento dei processi primari.

Page 7: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

7

Un altro metodo di classificazione dei processi è dato dall’impatto che essi hanno nello

sviluppo, a breve e a lungo termine. In questo caso distinguiamo tre tipi di processo:

direzionali, che pianificano l’organizzazione a medio-lungo termine

gestionali, che traducono gli obiettivi dei processi direzionali in piccole attività a

breve termine

operativi, che sono i processi base a breve termine con i vari obiettivi

Per quanto riguarda la rappresentazione dei processi, si utilizzano i diagrammi di flusso,

ovvero un grafo, dove i nodi rappresentano le varie azioni e gli archi la sequenza logica-

temporale da seguire. Per facilitare il riconoscimento delle varie attività è possibile

colorare i blocchi con colori differenti, così da dare maggior risalto ai vari gruppi di lavoro

piuttosto che alla loro sequenza temporale.

1.2 Business Process Management

Con Business Process Management(BPM) si intendono tutte quelle azioni per definire,

monitorare ed ottimizzare un business process, per poter creare, un processo, orientato

all’efficienza e agli interessi dell’azienda.

Quindi con il BPM definiamo un ciclo di vita diviso in quattro fasi:

1. Design

2. Modellazione ed esecuzione

3. Monitoring

4. Ottimizzazione

La fase di design comprende l’identificazione del processo e la sua realizzazione, si

definisce quindi il flusso di esecuzione, gli attori e le evoluzioni del processo.

Di norma, con una corretta fase di design del processo, si permette di ridurre notevolmente

il numero di problemi che si creeanno durante la vita di un processo. Inoltre si può tenere

in considerazione anche processi non ancora creati, con la scopo di verificare che il

progetto sia corretto dal punto di vista teorico.

Nella fase di modellazione ed esecuzione si prende il progetto creato nella fase precedente,

e lo si implementa introducendo delle condizioni variabili, quali ad esempio un costo

Page 8: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

8

massimo, un tempo massimo di svolgimento. Poi per quanto riguarda la fase di

automazione si fa utilizzo di un computer, implementando il processo con un linguaggio di

programmazione.

Potrà utilizzare servizi e applicazioni di terze parti se collegate oppure se l’operazione

necessità di intervento manuale richiedere l’input dall’utente.

Il monitoring serve per tenere traccia dell’avanzamento del processo, per prendere

informazioni sullo stato al fine di migliore il servizio.

La fase finale, ovvero quella di ottimizzazione, utilizza i dati e le informazioni ricavate

dalla fase di monitoring al fine di migliorare ed eliminare i blocchi di processo, per avere

un ulteriore riduzione dei costi.

Queste modifiche vengono riportate nella fase di desing per poter chiudere il ciclo di vita

del processo.

1.3 Business Process Model and Notation

Il Business Process Model and Notation(BPMN) è uno standard per modellare i processi

di business, secondo un metodo grafico per specificare le varie attività dei processi, sotto

forma di diagrammi, simili ai diagramma di attività definiti nel linguaggio Unified

Modelling Language(UML).

Attualmente la versione dello standard BPMN è la 2.0 datata marzo 2011.

L’obiettivo principale della BPMN è quello di fornire una notazione, ovvero un insieme di

simboli specifici, per permettere di poter leggere e comprendere l’intero modello di

processo a tutti i partecipanti, ovvero gli analisti di business, gli sviluppatori e i dirigenti

aziendali. Quindi colma il vuoto che si crea con i differenti linguaggi di comunicazione dei

vari attori presentati prima e in particolare tra la differenza sostanziale tra, progettazione di

processo di business e la propria attuazione.

Il BPMN opera soltanto sui concetti correlati alla modellazione del processo di business,

quindi vengono escluse tutte quelle informazioni non inerenti, quali ad esempio le strutture

organizzative o il modello dei dati.

Page 9: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

9

Nei diagrammi BPMN sono presenti vari elementi:

1. Oggetti di flusso

2. Oggetti di collegamento

3. Partizioni

4. Artefatti

Gli oggetti di flusso si suddividono a loro volta in evento, attività e gateway.

L’evento viene raffigurato con un cerchio e indica un momento temporale nell’arco di vita

di un processo, ad esempio, un evento è il punto di inizio oppure il punto di fine di un

processo.

Le attività, che si disegnano nel processo con un rettangolo con angoli smussati, descrive

il tipo di task da eseguire, ad esempio un lavoro manuale, automatizzato.

I gateway invece, rappresentano le biforcazioni o le unioni, dei vari cammini possibili in

un processo, vengono stilizzati con un rombo, nel cui interno è raffigurato il tipo di

gateway, ovvero se è di tipo esclusivo, parallelo, compreso, ecc.

Gli oggetti di collegamento permettono in pratica di creare delle connessioni tra le varie

attività, eventi e gateway, si utilizzano delle frecce, dove la punta indica il verso di

percorrenza del flusso. In base al tipo di linea usata, continua o tratteggiata, si indica un

flusso di sequenza, messaggi o un associazione.

Le partizioni servono a rappresentare graficamente l’organizzazione del processo con i

partecipanti, in particolare, con la piscina, si indicano i principali attori coinvolti nel

processo, mentre con la corsia si differenziano ancora di più i ruoli delle varie attività

assegnate ai partecipanti.

Con gli artefatti invece, si consente ai progettisti, di inserire maggiori informazioni per

meglio indicare il tipo di attività da svolgere, come ad esempio, delle annotazioni, un

gruppo oppure un oggetto di dati che sono richiesti in ingresso o in uscita di un task.

Page 10: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

10

1.4 WorkFlow Management Systems

I WorkFlow Management Systems(WFMS) sono dei software in grado di automatizzare i

processi aziendali. Essi permettono la definizione dei nuovi processi suddividendoli nelle

varie attività, di creare e di gestire l’esecuzione dei workflow, interagire con i partecipanti

e di eseguire applicazioni e stumenti esterni.

È possibile trovare tre aree funzionali in cui agiscono i WFMS:

Build-Time functions

Run-Time functions

Run-Time interactions with humans user and IT

La prima è l’area di lavoro in cui vengono definite e modellati i processi aziendali che si

vogliono automatizzare, nella quale si creano le varie azioni che i partecipanti dovranno

eseguire. La seconda coordina i vari processi, consentendono l’attivazione, lo svolgimento

e la terminazione delle attività. Infine, l’ultima è la parte di interazione con i partecipanti o

con un software nel caso in cui un attività viene svolta in maniera automatica.

Fig 1. Oggetti di un diagramma BPMN 2.0

Page 11: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

11

Per quanto riguarda invece l’architettura di un WFMS sono due i componenti principali: il

Workflow Designer ed il Workflow Engine.

Il Workflow Designer è il componente che permette di modellare il processo come un

grafo, come descritto nel processo aziendale e in particolare nella BPMN. Consente di

creare i vari task assegnandone un nome, una descrizione, le istruzioni da eseguire,

impostare una scadenza, e soprattutto assegnare i task ai partecipanti.

Il Workflow Engine è il cuore del WFMS, esso supporta il Workflow Designer

consentendo esecuzione dei processi creati, gestendo gli input e gli output di ogni task.

In pratica, interpreta il grafo creato in precedenza e ne garantisce il corretto flusso

operazionale, assegnando, man mano che si avanza, i task ai rispettivi esecutori. Inoltre

aiuta i partecipanti nelle proprie mansioni, gestendo in automatico le operazioni di

smistaggio documenti, oppure fornendo informazioni sulla corretta esecuzione di un task.

Tutto questo per semplificare il lavoro e favorire gli scambi di informazioni tra i vari

gruppi di lavori, in quanto in ogni momento riesce a definire ogni singolo gruppo quali

risorse ha a disposizioni e quali risorse deve produrre a fine lavoro.

È possibile avere più Workflow Engine contemporaneamente, per creare, gestire e

eseguire molteplici istanze di processi. Quindi un utente può avere più di un task assegnato

Fig 2. Aree funzionali di un WFMS

Page 12: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

12

in un determinato momento, e a supportarlo, è presente il Worklist Handler.

Quest’ultimo è un software all’interno del Workflow Engine, responsabile dei lavori che

necessitano esecuzione manuale. Per semplicità si può pensare al Worklist come una lista

di task che il partecipante deve eseguire, dove ogni task può appartenere ad un processo

globale differente, e ognuno avrà i suoi dati di input e di output con rispettive scadenze.

Inoltre ogni partecipante avrà la sua lista, ricordando che un partecipante può essere sia un

singolo utente che un gruppo di lavoro vero e proprio.

Interviene a questo punto il Worklist Handler che supervisiona la corretta esecuzione delle

attività e interagisce con il Workflow Engine consentendo il proseguimento del processo.

Il lavoro del Worklist Handler può essere invisibile agli utenti, quindi il sistema mostra

ogni volta il prossimo task da eseguire scegliendone uno secondo un criterio preimpostato,

ad esempio, quello con scadenza più vicina, priorità maggiore. Altrimenti, se il

funzionamento è visibile ai partecipanti, ogni utente è libero di scegliere in maniera

indipendente il task che si vuole eseguire e portarlo a termine. Sta quindi all’utente

rispettare le scadenze e le priorità delle varie attività da svolgere.

Page 13: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

13

Capitolo 2: Bonita BPM

Il primo software che si è andato ad analizzare è la suite Bonita BPM della azienda

Bonitasoft. È un software completo, semplice da installare e da utilizzare, con molte

funzionalità, con una grafica semplice ed intuitiva; permette di creare generici processi di

business, e non solo relativi allo sviluppo di software.

Conta più di due milioni di download, sessantamila membri della comunity, seicento

clienti sparsi in tutto il mondo e centoquaranta dipendenti. Vanta numerosi riconoscimenti

tra i quali evidenziamo il premio per il “Migliore strumento di modellazione” al

EclipseCon del 2011 e il riconoscimento ricevuto da Gartner che lo definisce come

“…l’unico prodotto open-source conforme alla definizione di BPMS elaborata da

Gartner”.

2.1 Installazione

Questo software è disponibile per Windows, Mac e Linux, sia per architetture a 32 bit sia

per architetture a 64 bit. La versione presa in esame è la 6.2.2 - Comunity, distribuita con

licenza in conformità alla GNU General Public License v2, edizione per Windows a 64 bit

e sulla macchina è installato Windows 7 SP1 a 64bit.

I requisiti minimi per un corretto funzionamento sono riportati in tabella e richiede come

software pre-installato sulla macchina solo la Java Virtual Machine Oracle Java SE JRE 6

o superiore.

Page 14: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

14

Tipo Minimo Raccomandato

Processore Dual Core Dual core

Memoria (RAM) 4 GB 6 GB

Spazio sul disco 10 GB +30 GB (in base all’uso)

2.2 Funzionalità

Nella versione in uso, essendo gratuita, sono possibili solo alcune funzionalità di

modellazione, esecuzione, quindi per quanto riguarda le altre faremo riferimento alla

documentazione presente sul sito.

Il software si divide in tre parti:

BPM Studio

BPM Portal

BPM Engine

Il primo consente la modellazione dei processi, la simulazione e lo sviluppo di connettori.

Tab. 1 – Requisiti Hardware Bonita BPM

Fig 3. BPM Studio

Page 15: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

15

In alto c’è una toolbar per accedere in maniera rapida alle features quali ad esempio

esecuzione, simulazione e accesso al portale. A sinistra le palette per modellare i processi,

utilizzabili con un semplice drag and drop. Infine in basso c’è la panoramica di tutto il

processo e le impostazioni dei singoli moduli.

BPM Portal invece, permette di vedere i task assegnati e di svolgerli. Si accede tramite

browser web, dove una volta effettuato l’accesso con il proprio login e password è

possibile avere informazioni sui task, eseguire le attività assegnate o prenderne in carico

altre, avere uno storico dei task già effettuati, inviare messaggi, delegare attività se

possibile, creare sub-task,ecc.

Il BPM Engine ha un architettura service-based e supporta un alto carico di lavoro, inoltre

consente di integrarlo in applicazioni esterne grazie all’utilizzo delle sue API. È un motore

proprietario del quale non vengono date informazioni riguardo l’architettura di

realizzazione e il funzionamento.

Oltre alle features principali di modellazione,esecuzione e monitoring, va aggiunto che

BonitaBPM permette di importare modelli creati in precedenza con altri software, infatti

supporta modelli definiti in BPMN2, JBPM3 e XPDL, tuttavia BPM Studio permette di

salvare ed esportare solo con la notazione BPMN2.

Fig 4. BPM Portal

Page 16: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

16

È possibile effettuare delle modifiche in tempo reale ad un processo in esecuzione, questo

nel caso sia presente un errore non rilevato in fase di progettazione, utilizzare un

repository personale per archiviare tutti i processi.

I dati di processi supportati sono oggetti JAVA, XML e documenti allegati, inoltre è

possibile aggiungere regole di business all’interno stesso del programma, senza l’utilizzo

di codice o software esterno al programma.

Si può simulare l’esecuzione di un processo con parametri quali costo, durata, consumo di

risorse, calendario e altro ancora, individuando le aree critiche per l’ottimizzazione.

Per quanto riguarda il monitoring, si possono creare rapporti personalizzati, per

visualizzare statistiche relative a singoli casi e a interi processi, consentendo la gestione in

tempo reale dei processi, come la sospensione, ripresa ed altro.

C’è da aggiungere che sul sito sono presenti molte guide e video tutorial anche in lingua

italiana, per avere un aiuto nei primi passi, per l’ utilizzo del programma e per aumentare

le proprie conoscenze e realizzare processi più complessi.

Page 17: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

17

Capitolo 3: Intalio

Il secondo software preso in esame è Intalio BPMS, il quale vanta un esperienza di oltre

dieci anni nel settore, infatti la prima versione di questo programma è del 2002.

Ad oggi siamo alla versione 6.5.1 e in tutti questi anni sono state apportate molte

funzionalità aggiuntive con notevoli miglioramenti, inoltre ha numerosi clienti importanti

tra i quali ricordiamo alcune aziende leader conosciute anche in italia come Accenture,

Sky, Bnp Paribas, ecc, tutte aziende diverse le une dalle altre, e quindi risalta ancora di

più, la potenzialità di questo sofware di creare qualunque tipo di processo di business.

3.1 Installazione

È disponibile per Windows e Mac solo in versione 32 bit, mentre per Linux sono presenti

sia la versione a 32 sia la versione a 64 bit. Come detto in precedenza, la versione in

esame è la 6.5.1 destinata alla comunity di Intalio, distribuita con una licenza

completamente gratuita proprietaria. In questo caso non viene distribuito con una

procedura di installazione semplice, in quanto non viene fornito un file eseguibile che

installi tutto il software necessario, ma deve essere l’utente a dover eseguire tutti i

procedimenti descritti nelle procedure di installazione presenti sul manuale.

Il programma server e il programma di design necessitano di due procedure di

installazione differenti, infatti dal sito bisogna scaricare prima il pacchetto relativo a

Intalio Design e poi quello relativo a Intalio Server.

Page 18: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

18

3.2 Funzionalità

Il programma si suddivide in due sezioni principali:

Intalio Design

Intalio Server

Intalio Desing è il componente che per permette di creare i processi di business, con i vari

tools messi a disposizione, con un interfaccia simile a Bonita BPM, dove sulla sinistra

sono presenti tutte le palette messe a disposizione per la creazione del processo,

utilizzabili con un drag and drop anche in questo caso.

Il numero di features in questo programma sono enormi, consentendo una notevole

personalizzazione del processo. Si parte dalle principali caratteristiche presenti nella

modellazione di un processo, ovvero la modellazione vera e propria, consentendo inoltre

di avere una documentazione del processo, per una completa comprensione a tutti i livelli

dell’organizzazione. È possibile esportare e condividere i modelli come file multimediali

quali immagini o PDF.

Fig 5. Intalio Designer

Page 19: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

19

Un ulteriore caratteristica, è la possibilità di definire un Data Mapper, ovvero di poter

realizzare le differenti trasformazioni dei dati, usando un editor grafico.

Intalio Server è il motore del programma, permette l’esecuzione dei processi, con

l’assegnazione dei vai task, e nelle versione superiori a pagamento, il monitoring dei

processi ed altre funzioni come ad esempio, consente di informare tutti i partecipanti delle

proprie ferie di lavoro, questo permette di non accumulare lavoro arretratrato e quindi, di

non penalizzare l’intero processo, non svolgendo un task assegnato.

Sono disponibili numerosi API che permettono di integrare Intalio con differenti Form e

interfacce grafiche.

Page 20: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

20

Capitolo 4: ProcessMaker

ProcessMaker è il terzo software in esame, anche esso è un progetto maturo, sebbene non

abbia numerosi anni di esperienza alle spalle, tuttavia i loro sviluppatori hanno svolto un

ottimo lavoro, soprattutto con l’ultima versione. A sostegno di questo possiamo ricordare

che ProcessMaker ha vinto il premio come “Best Open Source business applicarion for

Workflow & BPM” attribuito da InfoWorld.com nel 2013.

4.1 Installazione

La versione che è stata testata è la 2.5.2 Comunity, versione che viene distribuita con

GNU Affero General Public License v.3 per il download gratuito. A differenza degli altri

programmi, in questo caso il file di installazione pesa poche decine di MegaByte a

differenza di oltre trecento MegaByte di Intalio. È disponibile per Linux e Windows, sia a

32 che a 64 bit, non è quindi disponibile per Mac. Nella documentazione, non viene

richiesto un hardware con caratteristiche minime consigliate, infatti funziona in maniera

molto veloce anche con hardware meno performante. Necessità di Apache e di Mysql per

funzionare ma sono compresi nel pacchetto di installazione e vengono installati in maniera

automatica durante il processo di installazione.

4.2 Funzionalità

Il programma è completamente web-based: qualunque operazione è effettuata tramite

browser web, dalla modellazione all’esecuzione di un processo.

Il Process Map Designer è il componente responsabile della creazione dei processi, che

Page 21: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

21

avviene direttamente nella pagina web, a differenza degli altri due, che hanno un

programma dedicato alla modellazione e non compreso nel portale web.

Dopo aver eseguito il login, è possibile accedere alle varie pagine quali: Design, che ci

permette di creare i nostri processi, la Dashboard, che ci permette di avere un resoconto

dei task eseguiti e ancora da svolgere, la pagina relativa ai controlli di administrator, come

creare nuovi utenti, e infine una home dove c’è la possibilità di vedere i messaggi ricevuti,

di vedere i task disponibili, ancora da eseguire, ecc.

Tra le features più importanti, è stato ben realizzato un set completo di tools per il debug

dei vari processi, in particolare per verificare come le regole di business condizionano il

flusso di esecuzione. Essendo tutto web-based, con una sola finestra di un browser web è

possibile tenere sotto controllo l’avanzamento dei task, o i messaggi ricevuti, anche

durante la modellazione di un nuovo processo.

Fig 6. ProcessMaker

Page 22: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

22

Come è possibile notare dalla figura, interfaccia è molto intuitiva e semplice.

Con un tasto destro del mouse è possibile selezionare i vari oggeti che si vogliono nel

progetto e questi verranno automaticamente aggiunti. Al centro c’è una griglia per

permettere l’allineamento dei task. In alto sono presenti i link per le altre funzionalità del

programma.

Nella pagina Admin, ci consente di creare i nuovi utenti o gruppi, assegnare i task, oppure

cambiare alcune impostazione del programmi come la skin, configurare la casella email

per i messaggi, ecc.

Fig 7. Interfaccia Design ProcessMaker

Page 23: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

23

Conclusioni

Sono stati presi in considerazione soltanto tre software ma l’offerta di software

Free/OpenSource per il Workflow Management è molto vasta e differenziata, consentendo

una scelta ponderata in base alle proprie esigenze.

Sebbene dall’esterno le differenze possono sembrare minime e ininfluenti, queste in realtà

sono delle caratteristiche che coinvolgono tutta l’architettura e il funzionamento.

I software forniti con un pacchetto di installazione come Bonita BPM e ProcessMaker,

sono facili da installare, in quanto è presente un wizard che aiuta nella fase di

inizializzazione del programma, mentre con Intalio, complice anche la non chiara

documentazione di installazione è risultato più complesso installare il programma.

Dopo qualche iniziale difficoltà, dovuta al fatto di utilizzare strumenti del tutto nuovi,

sono riuscito subito a modellare un semplice processo, con attori, attività automatiche e

manuali, e la gestione del portale.

Essendo versione gratuite non è stato possibile testare tutte le funzionalità presenti, in

particolare mi riferisco alla possibilità di monitorare i processi, poiché è possibile

utilizzarla solo nelle versione a pagamento.

Una limitazione nell’utilizzo di questi programmi, sta nel fatto che, se si vogliono

utilizzare in ambiente specifico come lo sviluppo software, l’utente non può gestire il task

ed eseguirlo nello stesso ambiente di sviluppo ma deve per forza usare ambienti separati.

Tuttavia è possibile lo scambio di file da un task al suo successivo.

Page 24: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

24

Le principali differenze tra i vari software in esame sono schematizzate in tabella

BonitaBPM Intalio ProcessMaker

Licenza GNU General

Public License v2

Proprietaria gratuita GNU Affero

General Public

License v.3

Difficoltà

installazione

Semplice Media Semplice

Linguaggio BPMN 2.0 BPMN 2.0 BPMN 2.0

Supporto a XPDL Si No No

Workflow Engine proprietario Apache-Ode based Proprietario

Portale Web Web Web

Designer Programma Programma Web

Tecnologia di base Java Java Php

Simulazione Si Si No

Monitoring Solo versione

premium

Solo versione

premium

Solo versione

premium

Ovviamente è impensabile dire quale sia il miglior software in quanto come è noto a tutti,

nella progettazione di un software c’è sempre un compromesso da tenere in

considerazione.

Tab. 2 – Principali differenze tra i programmi

Page 25: Strumenti di Workflow Management per la modellazione ... · 6 attività e la classificazione dei processi, la notazione utilizzata, ovvero il Business Process Model and Notation,

25

Bibliografia

[1] Ian Sommerville, Software Engineering, Pearson, 2011

[2] P. Wohed, W. M. P. van der Aalst, M. Dumas, A. H. M. ter Hofstede, N. Russell,

On the Suitability of BPMN for Business Process Modelling, Springer, 2006

[3] Stephen A. White, BPMN Modeling and Reference Guide, Future Strategies Inc,

2008

[4] Business Process Model & Notation (BPMN), http://bpmn.org/ , consultato il

15/02/2014

[5] BonitaSoft, http://it.bonitasoft.com/ , consultato il 16/02/2014

[6] Intalio, http://www.intalio.com/ , consultato il 16/02/2014

[7] ProcessMaker, http://www.processmaker.com/ , consultato il 16/02/2014