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
Ai miei familiari, agli amici e alla
mia ragazza che mi hanno
sostenuto e compreso in questo
percorso di studi
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
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.
4
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
5
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.
6
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 logicatemporale 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
7
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.
8
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.
9
Fig 1. Oggetti di un diagramma BPMN 2.0
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.
10
Fig 2. Aree funzionali di un WFMS
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
11
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.
12
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.
13
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)
Tab. 1 – Requisiti Hardware Bonita BPM
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.
Fig 3. BPM Studio
14
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.
Fig 4. BPM Portal
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.
15
È 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.
16
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.
17
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
18
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.
19
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
20
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.
Fig 6. ProcessMaker
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.
21
Fig 7. Interfaccia Design ProcessMaker
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.
22
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.
23
Le principali differenze tra i vari software in esame sono schematizzate in tabella
BonitaBPM
Licenza
GNU
General
Intalio
ProcessMaker
Proprietaria gratuita
GNU
Affero
General
Public
Public License v2
License v.3
Difficoltà
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
installazione
versione
premium
Solo
versione
premium
Solo
versione
premium
Tab. 2 – Principali differenze tra i programmi
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.
24
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
25
Scarica

Elaborato Iorio Raffaele N46000182