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