Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando...

40
Valutazione comparativa di applicazioni open source per il Business Process Management

Transcript of Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando...

Page 1: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Valutazione comparativa di applicazioni open source per il Business Process Management

Page 2: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

AbstractUno dei passi fondamentali della metodologia USBD (Unified Scenario-Based Design) è la modellazione dei processi aziendali; questa è una attività complessa che coinvolge attori diversi (dal business manager al business analyst al system architect) e diverse competenze (aziendali e informatiche) e il cui scopo è ridurre il business-IT gap. Il nostro lavoro è stato analizzare alcuni strumenti open source per il business process modelling basati sulla piattaforma Eclipse, esaminandone le caratteristiche principali in termini di concetti modellabili e principali casi d'uso, al fine di valutarne sia l'usabilità da parte delle diverse tipologie di utente (esperti di business e esperti di IT) sia la possibilità di estensione al fine di utilizzarli nell'ambito della metodologia USBD. Lo studio ha evidenziato come gli strumenti open source siano orientati maggiormente al mondo dell'IT piuttosto che a quello aziendale; una estensione di tali strumenti è possibile integrando il metamodello di riferimento con concetti tipici del contesto di business e della metodologia USBD e sviluppando casi d'uso che consentano l'esportazione dei business process models al fine di ottenere modelli utilizzabili in applicazioni per il software engineering, e di conseguenza la tracciabilità end-to-end tra tutti i modelli, requisito fondamentale della metodologia USBD.

Page 3: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Indice dei contenutiValutazione comparativa di applicazioni open source per il Business Process Management..............1

Abstract............................................................................................................................................2Indice dei contenuti..........................................................................................................................3Introduzione.....................................................................................................................................4Lavori correlati................................................................................................................................6jBoss jPDL Graphical Designer.......................................................................................................7

Descrizione e tipologia di utenti.................................................................................................7Notazione....................................................................................................................................7Serializzazione............................................................................................................................7Importazione/Esportazione.........................................................................................................7Metamodello...............................................................................................................................7Casi d'Uso...................................................................................................................................8

STP - SOA Tools Project BPMN Designer...................................................................................14Descrizione e tipologia di utenti...............................................................................................14Notazione..................................................................................................................................14Serializzazione..........................................................................................................................14Importazione/Esportazione.......................................................................................................14Metamodello.............................................................................................................................14Casi d'Uso.................................................................................................................................15

Intalio BPMS Designer..................................................................................................................20Descrizione e tipologia di utenti...............................................................................................20Notazione..................................................................................................................................20Serializzazione..........................................................................................................................20Importazione/Esportazione.......................................................................................................20Metamodello.............................................................................................................................20Casi d'Uso.................................................................................................................................21

AgilPro Light Modeler ..................................................................................................................28Descrizione e tipologia di utenti...............................................................................................28Notazione..................................................................................................................................28Serializzazione..........................................................................................................................28Importazione/Esportazione.......................................................................................................28Metamodello.............................................................................................................................28Casi d'Uso.................................................................................................................................29

Comparazione e possibilità di estensione......................................................................................37Conclusioni....................................................................................................................................39Bibliografia....................................................................................................................................40

Page 4: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

IntroduzioneSono stati valutati alcuni applicativi per il Business Process Modelling al fine di indagare le possibilità di estensione degli stessi per introdurre meccanismi a supporto della metodologia USBD; per tale motivo, si è scelto di prendere in considerazione applicazioni di tipo open source. Tutte le applicazioni prese in esame sono basate sulla piattaforma Eclipse (feature o applicazioni stand alone costruite su Eclipse); esse sono:

● jBoss jPDL Graphical Designer (feature)

● STP - SOA Tools Project BPMN Designer (feature)

● AgilPro Light Modeler (applicazione)

Altri tools open source basati su Eclipse, come il BPEL Designer o EPC Tools, non sono stati presi in considerazione perché palesemente limitati ad ambiti assai ristretti e troppo lontani dal contesto aziendale; ad esempio, BPEL Designer è uno strumento per la definizione grafica di definizioni di workflow in linguaggio BPEL, mentre EPC Tools ha come scopo la verifica formale di modelli di processo definiti secondo la notazione delle Event-driven Process Chains.

È stata effettuata anche una analisi del tool Intalio BPMS Designer, una applicazione basata su Eclipse gratuita ma non (ancora) open source; la tecnologia Intalio è alla base del progetto STP di Eclipse che è però ancora immaturo, non pienamente sviluppato e con alcuni fastidiosi bug: una analisi del software Intalio ci è sembrata utile a comprendere meglio dove potrebbe arrivare il progetto STP.

Alcuni degli strumenti esaminati mettono a disposizione un gran numero di funzionalità e/o sono inseriti in framework destinati a coprire, in tutto o in parte, l'area del Business Process Management: dalla modellazione all'analisi, dalla simulazione al re-engineering, all'esecuzione; noi ci siamo limitati ad esaminare le caratteristiche relative alla sola attività di Business Process Modelling, con particolare riferimento a:

● quali concetti possono essere rappresentati nei modelli (metamodello di riferimento)

● quale notazione è utilizzata per la modellazione

● quale linguaggio è utilizzato per la serializzazione dei modelli

● quali strumenti di importazione ed esportazione sono disponibili, e quali linguaggi di origine/destinazione sono supportati

● quali sono gli utenti a cui l'applicazione si rivolge e quali casi d'uso sono implementati

La valutazione del metamodello di riferimento è fatta in relazione al metamodello utilizzato in [LIST06]; abbiamo riportato tale metamodello in figura 1, evidenziando quali concetti siano pertinenti a ciascuna delle cinque perspectives, effettuando delle scelte nei casi in cui un concetto appartenesse a più perspectives (come nel caso del Software) o mettesse in relazione concetti di viste diverse (come nel caso di alcune associazioni).

Page 5: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 1: metamodello di riferimento usato per la valutazione

Page 6: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Lavori correlatiAlcune ricerche atte a comparare strumenti per il Business Process Modelling sono state sviluppate ma, per quanto siamo riusciti a verificare, nessuna riguarda specificatamente gli aspetti di modellazione in strumenti open source. In [GONZ07], ad esempio, vengono valutati numerosi strumenti per il business process modelling ma solo riguardo agli aspetti relativi allo sviluppo collaborativo, mentre in [PEYR06] sono presi in esame solo le piattaforme commerciali dei top vendors nell'ambito del Business Process Management; in [GART06] viene fornita una classificazione degli strumenti per la Business Process Analysis basata sul cosiddetto Magic Quadrant, ma ancora vengono prese in esame solo suite commerciali di alto livello.

Page 7: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

jBoss jPDL Graphical DesignerDescrizione e tipologia di utentijPDL Graphical Designer è una feature di Eclipse il cui scopo è consentire la modellazione grafica di modelli di processo per il Workflow Management System jPDL Suite di jBoss. La filosofia di jPDL può essere sintetizzata con la frase “Developing process definitions requires input from -and collaboration between- a business analyst and software developer”; questa affermazione non è certo infondata ma, a nostro avviso, il Designer la estremizza troppo, fino al punto in cui esso può essere utilizzato proficuamente solo dai software developers e si riduce a uno strumento povero se usato senza le necessarie competenze tecniche, essendo la notazione utilizzata assai scarna, poco intuitiva e carente di concetti tipici del contesto aziendale. Ad ogni modo, con le necessarie competenze lo strumento si rivela senza dubbio versatile. Si può quindi affermare che il tool è destinato prevalentemente ad utenti del dominio IT.

NotazioneProprietaria (jPDL Notation)

SerializzazioneProprietaria (jPDL – jBoss Process Definition Language)

Importazione/EsportazioneIl Designer non mette a disposizione alcuna funzionalità per l'import/export di modelli o altre risorse.

MetamodelloLa notazione, e il relativo metamodello, utilizzata nel jPDL Graphical Designer riflette le caratteristiche del workflow engine su cui il processo dovrà essere eseguito; non si trovano quindi delle immediate corrispondenze con i concetti propri del contesto aziendale sintetizzati nel metamodello che abbiamo assunto come riferimento (fig. 1) se non con un piccolo sforzo di deduzione. In fig. 2 abbiamo rappresentato i concetti disponibili nel tool, riproponendo il modello di fig. 1; concetti non rappresentati sono marcati con un punto rosso, con uno verde quelli che invece sono presenti, mentre un punto giallo indica una implementazione parziale del concetto.

Si evidenzia come non sia affatto rappresentata la Business Process Context Perspective, mentre le altre perspectives sono rappresentate solo parzialmente; in particolare, la gerarchia organizzativa non è rappresentata pienamente (Organisational Perspective) e i concetti della Informational Perspective sono rappresentati solo riguardo alle risorse afferenti il contesto informatico; infine, non vi è una rappresentazione soddisfacente della gerarchia delle attività nei business processes (Functional Perspective) e il controllo del flusso (Behavioural Perspective) è affidato a un numero ridotto di nodi.

Page 8: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 2: concetti del metamodello di riferimento disponibili in jPDL Graphical Designer

Casi d'UsoIn figura 3 sono riportati alcuni screenshots che sintetizzano l'utilizzo del jPDL graphical Designer; per completezza, in figura 3-d è riportata anche una immagine della web-console jBPM che mostra il processo in esecuzione. Di seguito, vengono elencati i principali casi d'uso del tool, i quali sono poi rappresentati nello Use Case Diagram di figura 4; qui e nel seguito, si farà riferimento a due attori, che chiameremo Business Expert e IT Expert, entrambi specializzazione di un attore più generico che chiameremo Modeler. Dove necessario, si considererà anche l'attore System, ad indicare genericamente un Business Process/Workflow Management System.

Page 9: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

a) il graphical designer con le sue view principali e la finestra di assegnazione di un participant a un task

b) la finestra per l'assegnazione di un action handler (software resource) ad una action

Page 10: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

c) la definizione delle swimlane (process participants)

d) l'esecuzione del processo

Figura 3: screenshots di jPDL Graphical Designer

Set jBPM PreferencesSelezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare una o più locazioni in cui sono installate versioni della suite jBPM (jBPM Runtime Location) e specificare il server per il deployment dei processi.

Create Process ProjectIl Modeler crea un nuovo progetto, scegliendone il nome e specificando la jBPM Runtime Location; il Modeler può abilitare la creazione di alcuni file di esempio (una semplice definizione di processo, una classe java che implementa un action handler e una classe Java che implementa un test jUnit

Page 11: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

mediante il quale testare l'esecuzione del processo); nel progetto è importata la libreria jBPM di classi Java; il progetto creato è un Java Project.

Create Process DefinitionIl Modeler crea una nuova definizione di processo vuota, scegliendone il nome; automaticamente viene avviato un editor multipagina per la modifica della definizione di processo.

Modify Process DefinitionLa modifica avviene mediante l'editor multipagina (vedi fig. 3-a) che presenta le seguenti pagine:

● Diagram, per l'editing grafico

● Swimlanes, per la creazione e modifica delle swimlanes; è bene specificare che esse non sono rappresentate graficamente

● Deployment, per il deployment del processo

● Design, per la modifica della definizione del processo mediante un editor di file xml che presenta una vista ad albero della definizione del processo

● Source, per la modifica del sorgente xml della definizione del processo

Alcune azioni effettuate durante la modifica richiedono specifiche competenze tecniche e quindi saranno svolte dal IT Expert, mentre le altre genericamente dal Modeler, come indicato di seguito. Le diverse pagine destinate all'editing dovrebbero essere sincronizzate (una modifica si riflette immediatamente in ogni pagina) ma tale caratteristica sembra essere affetta da alcuni bugs.

Create SwimlaneIl Modeler crea una nuova swimlane e ne specifica il nome.

Define Swimlane PropertyL'attore IT Modeler specifica il tipo di assignment per la swimlane, tra expression e handler, e quindi specifica rispettivamente l'espressione da adoperare o la classe che implementa l'handler di assegnazione e il tipo di handler (tra field, bean, constructor e compatibility) (vedi fig. 3-c). Con questa operazione, è possibile specificare il tipo di Process Partecipant rappresentato dalla swimlane, e cioè se è una persona, un gruppo di persone o un artefatto software (vedi metamodello di riferimento).

Create NodeIl Modeler inserisce un nodo nel diagramma di processo; i nodi disponibili sono: start, end, state, process state, super state, fork, join, task, node, decision. Per la semantica dei diversi tipi di nodo, rimandiamo alla documentazione del tool [JPDLDOC]. Il Modeler, dopo aver creato il nodo, può modificarne il nome. L'inserimento di nodi non ammessi (ad esempio, due nodi di tipo “start”) è automaticamente inibito. Osserviamo che i nodi “super state” e “process state” sono utilizzati per modellare l'organizzazione gerarchica del processo ma, nella versione del tool che abbiamo valutato, non sembrano essere funzionanti.

Page 12: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Create TransitionIl Modeler inserisce una transizione fra due nodi e le assegna un nome. L'inserimento di transizioni non ammesse (ad esempio, una transizione in uscita da un nodo “end”) è automaticamente inibito.

Create TaskI nodi di tipo start, state e task possono avere una o più task associate; un task indica una operazione che deve essere compiuta prima che il processo possa proseguire; l'operazione può essere, in generale, compiuta da una persona o da un artefatto software. Il Modeler crea un task associato a un nodo; i task vengono rappresentati nella Outline View ma non hanno una rappresentazione grafica nell'editor.

Define Task Generic PropertiesUn task ha diverse proprietà, che possono essere modificate mediante l'apposita pagina di editing; alcune di queste proprietà hanno carattere prettamente tecnico che il Business Expert probabilmente non è in grado di gestire; abbiamo scelto di evidenziare questa caratteristica suddividendo lo Use Case Define Task Properties in due casi d'uso, il presente e quello che segue. Il Business Expert accede alla pagina delle proprietà di un task e ne sceglie il nome; inoltre, può selezionare la swimlane rappresentante il ruolo che sarà responsabile dell'esecuzione del task; se il task deve essere svolto da un artefatto software, si ricade nello use case seguente.

Define Task Technical PropertiesL'attore IT Expert accede alla pagina di editing delle proprietà di un task; qui può scegliere il tipo di assegnamento per il task; nel caso il task debba essere eseguito da un artefatto software (handler), specifica la classe che implementa l'handler; nel caso il task consista in una semplice espressione (ad esempio, un assegnamento), specifica l'espressione. Inoltre, possono essere specificati dei dati che la persona incaricata dello svolgimento del task dovrà specificare per consentire la prosecuzione del processo e può essere generato automaticamente un form XHTML per l'inserimento di tali dati (Default Form Controller); analogamente, se il task è svolto da un handler può essere specificato un Custom Form Controller, anch'esso implementato da un artefatto software, per il corretto assegnamento dei dati.

Create Action and Set PropertiesOgni nodo, di qualunque tipo, può avere più actions associate; una action è un handler Java che viene eseguito al verificarsi di un evento nel processo (che può essere node enter, node leave, before signal, after signal); è possibile associare delle actions anche ad eventi a livello di processo o alle transizioni. L'attore IT Expert seleziona l'elemento a cui associare la action, quindi (nella Outline View) seleziona la action e ne modifica le proprietà, ovvero il nome e la classe Java che la implementa (vedi fig. 3-b).

Save/Deploy ProcessAttraverso la scheda Deployment dell'editor, il processo può essere caricato nel workflow engine specificato (vedi Set jBPM Preferences); l'attore IT Expert accede alla scheda, dove può eventualmente cambiare il server per il deployment, quindi avvia il deployment del processo e la definizione del sistema è esportata nel workflow engine specificato (attore System). Nella medesima scheda, il processo può anche essere salvato come archivio ZIP.

Page 13: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 4: Use Case Diagram per jPDL Graphical Designer

Page 14: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

STP - SOA Tools Project BPMN DesignerDescrizione e tipologia di utentiIl progetto STP (SOA Tools Project) è un progetto in ambito Eclipse che si propone di costruire un framework e i tools necessari per la realizzazione di software sviluppato secondo una Service Oriented Architecture (SOA); STP si basa sulle specifiche SCA (Service Component Architecture) e si suddivide in numerosi sotto-progetti, tra i quali figura quello relativo al BPMN Designer. Quest'ultimo si propone di realizzare un editor grafico per modellare i processi aziendali con la notazione BPMN e di fornire gli strumenti per la validazione e la generazione automatica di codice (ad es. BPEL) a partire dal modello. Il BPMN Designer non è ancora completo di tutte le funzionalità che si propone, ma lo scopo dovrebbe essere quello di fornire uno strumento utilizzabile tanto da utenti provenienti dal contesto aziendale, quanto da esperti del contesto informatico, secondo la stessa filosofia utilizzata da Intalio (vedi seguito) che ha fornito il codice iniziale del BPMN Designer. In conclusione, quindi, il BPMN Designer del progetto STP è pensato per essere utilizzato tanto dai Business Experts quanto dagli IT Experts, benché allo stato attuale siano state implementate poche funzionalità destinate all'IT Expert.

NotazioneBPMN

SerializzazioneXMI

Importazione/EsportazioneNessuno strumento ancora disponibile.

MetamodelloIl tool è un editor BPMN e pertanto permette di rappresentare i concetti tipici di questa notazione, e non altri. A conferma di ciò, come raffigurato schematicamente in figura 5, le uniche perspective effettivamente rappresentate sono solo la behavioural e la functional, mentre tutte le altre praticamente non sono rappresentate.

Page 15: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 5: concetti del metamodello di riferimento disponibili in STP BPMN Designer

Casi d'UsoIl BPMN Designer è un semplice editor grafico che consente di modellare processi aziendali utilizzando la notazione BPMN; il tool non è ancora integrato realmente nel framework STP, mancando gli strumenti di integrazione, quale ad esempio una utility per generare codice eseguibile in un workflow engine. I casi d'uso disponibili, quindi, sono semplicemente quelli che consentono la creazione e la modifica di diagrammi di processo; essi sono elencati di seguito e quindi riassunti nello use case diagram di figura 7; in figura 6, invece, sono riportati alcuni screenshots.

Page 16: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

a) l'editor e la palette

b) le proprietà di un task

c) un sub-process

Figura 6: screenshots di STP BPMN Designer

Set General PreferencesLo IT Expert può impostare le preferenze relative al framework STP, specificando ad esempio le locazioni dove sono installati i server per il deployment.

Page 17: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Create ProjectIl Modeler può creare diversi tipi di progetto: jax-ws java, jax-ws wsdl, sca java component, ma i diagrammi BPMN possono essere realizzati anche all'interno di un generico progetto.

Create Process DiagramScegliendo l'opportuna voce dal menu, il Modeler crea un nuovo process diagram all'interno di un progetto e gli assegna un nome.

Modify Process DiagramAgendo nell'editor grafico, si può modificare il process diagram.

Create PoolIl Modeler seleziona l'apposito tool dalla palette per creare un nuovo Pool; il Modeler assegna il nome al Pool.

Create LaneIl Modeler crea una Lane all'interno di un Pool utilizzando l'apposito tool presente nella palette, quindi assegna un nome alla Lane.

Create SubprocessIl Modeler crea un nuovo Sub-Process in due modi: utilizzando l'apposito tool nella palette, oppure selezionando un gruppo di elementi nell'editor grafico e clickando sull'apposito pulsante Group Shapes, creando così un nuovo sub-process al quale può assegnare un nome.

Define Subprocess PropertiesOltre al nome, il Modeler può specificare se il Sub-process deve essere di tipo loop e/o se si tratta di una transazione.

Create TaskIl Modeler crea un nuovo Task nel processo e gli assegna un nome.

Define Task PropertiesIl Modeler può definire se il task deve essere di tipo loop.

Create EventIl Modeler crea un evento di tipo start, intermediate o end, trascinando nel diagramma la relativa icona, quindi può assegnare un'etichetta all'evento. Sono supportati pressoché tutti i tipi di evento previsti dalla specifica BPMN, ivi compresi quelli atti a gestire errori e compensazione.

Create GatewayIl Modeler crea un Gateway trascinando nel diagramma la relativa icona, quindi può assegnare un'etichetta al gateway; sono disponibili gateway exclusive/inclusive data-based, exclusive event-

Page 18: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

based e parallel.

Create Sequence FlowIl Modeler, selezionando l'opportuno strumento, definisce le transizioni che regolano il flusso di esecuzione del processo, collegando gli elementi del diagramma. Ad ogni transizione può essere associata un'etichetta e si può specificare se la transizione è quella di default o meno.

Create Message FlowUtilizzando l'apposito strumento, il Modeler può tracciare un Message Flow tra elementi in pool diversi. A un message flow può essere quindi assegnata un'etichetta.

Create Data ObjectIl Modeler, mediante l'apposito tool, crea un nuovo elemento di tipo Data, rappresentante un generico artefatto, e gli assegna un nome.

Associate Data ObjectIl Modeler può associare un Data Object ad un task, eventualmente assegnando un nome all'associazione. L'associazione non ha direzione.

Validate DiagramScegliendo l'opzione disponibile nel menu contestuale del file in cui è memorizzato il diagramma, l'IT Expert avvia la procedura automatica di validazione del processo; lo strumento non sembra essere funzionante, allo stato attuale.

Page 19: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 7: Use Case Diagram di STP BPMN Designer

Page 20: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Intalio BPMS DesignerDescrizione e tipologia di utentiL'applicazione, basata su Eclipse, permette di definire un business process utilizzando la notazione BPMN; Intalio dichiara di proporsi, con la sua piattaforma per il Business Process Management di cui il designer è parte, a una platea di process analysts e non di non-technical business analysts, sottolineando la necessità di avere delle competenze tecniche per poter utilizzare il prodotto. Allo stesso modo, però, viene sottolineato come ad un process analyst non sia richiesto di avere competenze approfondite nell'ambito software, come potrebbe essere la conoscenza della piattaforma JSEE, e ancora viene evidenziato come all'utente venga messo a disposizione un editor grafico che utilizza la notazione BPMN (più vicina al contesto aziendale) e non un editor BPEL. Infine, si sottolinea come un approccio zero-code writing sia utile ad abbattere realmente il business-IT gap [BPM20]. Il Designer in effetti sembra mantenere ciò che viene promesso: l'editor grafico e la notazione BPMN permettono di descrivere il processo in maniera intuitiva e precisa, mentre è possibile specificare proprietà ad un maggiore livello di dettaglio (per cui sono necessarie competenze tecniche maggiori) al fine di ottenere un processo eseguibile. Quindi, può avvalersi del tool sia un Business Expert che un IT Expert, lavorando sul medesimo modello a diversi livelli di dettaglio.

NotazioneBPMN

SerializzazioneProprietaria

Importazione/EsportazioneImportazione di ARIS Process File; esportazione della definizione di processo in file BPEL e WSDL.

MetamodelloIn figura 8 sono rappresentati i concetti messi a disposizione del tool. Si nota come siano praticamente inesistenti i concetti della Business Process Context Perspective, e come sia limitata la rappresentazione dei concetti della Organizational Perspective e, soprattutto, della Informational Perspective. Si ha invece una piena rappresentazione dei concetti della Behavioural Perspective e una copertura quasi completa dei concetti della Functional Perspective.

Page 21: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 8: concetti del metamodello di riferimento disponibili in Intalio BPMS Designer

Casi d'UsoIl tool mette a disposizione un gran numero di strumenti e numerose viste sul modello; tra queste, le più importanti sono l'editor grafico, la Properties View, la Data Editor View, la Mapper Palette View e la Mapper View, la Palette View e la Controls View. I casi d'uso principali, elencati di seguito, sono rappresentati nello use case diagram di figura 10; in figura 9, invece, vengono riportati alcuni screenshots del tool in azione. Anche in questo caso, abbiamo preso in considerazione i tre attori System (il Process Execution Engine), IT Expert e Business Expert (questi ultimi specializzazioni del generico attore Modeler).

Page 22: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

a) il workbench con le principali viste e l'editor grafico aperto

b) process explorer e data view

Page 23: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

c) la mapper view: viene definita la condizione per un ramo del gateway

d) files generati

Figura 9: screenshots di Intalio BPMS Designer

Page 24: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Set Process PreferencesL'attore IT Expert accede alla pagina delle preferenze, dove può specificare l'URL del server per il deployment dei processi (una applicazione esterna), il namespace di default da utilizzare nella definizione dei processi w altre caratteristiche di secondaria importanza.

Create Process ProjectIl Modeler crea un nuovo Business Process Project, assegnandogli un nome; viene creata la cartella del progetto.

Create Process DiagramIl Modeler crea, all'interno di un Business Process Project, un nuovo Process Diagram e gli assegna un nome; il file viene creato e viene aperto l'editor grafico.

Modify Process DiagramUn Process Diagram può essere modificato in molti modi diversi agendo nell'editor grafico e/o nelle diverse viste; alcune azioni possono essere svolte dal Modeler, mentre altre richiedono competenze informatiche e vengono quindi svolte dall'IT Expert.

Create PoolIl Modeler trascina l'icona del Pool dalla Palette nell'editor grafico e un nuovo Pool con una Lane viene creato; il Modeler assegna il nome al Pool.

Define Pool PropertiesDopo aver selezionato il Pool sul quale agire, l'attore IT Expert può modificarne alcune proprietà dalla Properties View; in particolare, può specificare se il Pool deve essere eseguibile o meno, laddove un pool eseguibile definisce in sostanza il processo di workflow che deve essere implementato mentre quelli non eseguibili rappresentano altre entità (ad esempio, persone) che partecipano al workflow; può essere specificato anche un endopoint, con il quale si intende la locazione, sul runtime server, alla quale sarà disponibile il web service che il pool implementa (ovviamente, deve trattarsi di un pool eseguibile).

Create LaneIl Modeler trascina l'icona della Lane dalla palette all'interno di un Pool nell'editor grafico, quindi assegna un nome alla nuova lane.

Create SubprocessIl Modeler crea un nuovo Sub-Process in due modi: trascinando l'apposita icona dalla Palette, oppure selezionando un gruppo di elementi nell'editor grafico e clickando sull'apposito pulsante Group Shapes (disponibile anche dal menu contestuale), creando così un nuovo sub-process al quale può assegnare un nome.

Define Subprocess PropertiesOltre al nome, il Modeler può specificare se il Sub-process deve essere di tipo loop e, in quel caso,

Page 25: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

il tipo di loop.

Create TaskIl Modeler crea un nuovo Task nel processo e gli assegna un nome.

Define Task PropertiesL'attore IT Expert può definire se il task è di tipo Service, Receive o Send, oppure se non è di alcun tipo specifico. Può inoltre specificare se il task deve essere di tipo loop.

Create EventIl Modeler crea un evento di tipo start, intermediate o end, trascinando nel diagramma la relativa icona, quindi può assegnare un'etichetta all'evento. Sono supportati pressoché tutti i tipi di evento previsti dalla specifica BPMN, ivi compresi quelli atti a gestire errori e compensazione.

Create GatewayIl Modeler crea un Gateway trascinando nel diagramma la relativa icona, quindi può assegnare un'etichetta al gateway; sono disponibili gateway exclusive/inclusive data-based, inclusive data-based e parallel.

Define Gateway ConditionsUna volta che siano state definite le transizioni in uscita da un gateway (vedi Create Sequence Flow), è possibile specificare le condizioni ad esse relative. Tale compito richiede competenze tecniche inerenti le operazioni di assign tipiche di BPEL ed espresse mediante Xpath, pertanto questo caso d'uso sarà svolto dal IT Expert. La definizione delle condizioni consiste nell'effettuare un mapping come specificato in Define Mapping.

Create Sequence FlowIl Modeler, selezionando l'opportuno strumento, definisce le transizioni che regolano il flusso di esecuzione del processo, collegando gli elementi del diagramma. Sono disponibili strumenti per specificare sequence flow semplici e condizionali, e per specificare i flussi condizionali di default. Ad ogni flusso può essere associata un'etichetta.

Create Message FlowUtilizzando lo stesso strumento adoperato per i sequence flow, il Modeler può tracciare un Message Flow tra elementi in pool diversi; l'applicazione riconosce automaticamente che si tratta di un Message Flow proprio perché questo tipo di flusso è consentito solo tra elementi di pool diversi, mentre i sequence flows sono consentiti solo tra elementi del medesimo pool. A un message flow può essere quindi assegnata un'etichetta.

Assign Type to MessageL'attore IT Expert può assegnare un tipo a ciascun messaggio, laddove il tipo è definito per mezzo di un XMLSchema Definition che può essere opportunamente importato nel progetto; l'operazione avviene mediante un semplice drag-and-drop. Inoltre, al fine di poter effettuare correttamente il mapping, ogni messaggio deve avere un nome che, di default, viene posto uguale all'etichetta ma

Page 26: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

può essere modificato. Infine, l'IT Expert definisce se il messaggio deve essere di tipo One-way, Request, Response o Fault.

Define MappingIl mapping consiste nello specificare delle relazioni tra le variabili definite dai messaggi scambiati; l'operazione viene svolta dall'IT Expert in quanto richiede competenze tecniche lontane dal contesto aziendale; il mapping viene svolto sia per definire le azioni svolte dai task, sia per definire le condizioni delle transizioni in uscita dai gateway o delle transizioni condizionali in uscita dai task. Nella Mapper View e avvalendosi delle funzioni predefinite disponibili nella Mapper Palette, l'IT Modeler crea le opportune relazioni tra variabili (ad esempio, operazioni di assign).

Create XformL'IT Expert crea un form utilizzando l'apposito editor grafico.

Create Correlation SetL'IT Expert crea, nel Data Editor, un Correlation Set atto ad assicurare che, a tempo di esecuzione, le variabili del set vengano correttamente associate all'istanza di processo a cui appartengono.

Validate DiagramCon un click sull'apposito pulsante, l'IT Expert avvia la procedura automatica di validazione del processo; solo i pool definiti come eseguibili vengono validati e la validazione avviene sulla base delle specifiche BPEL, benché il process diagram sia in notazione BPMN.

Generate Code (BPEL, WSDL) and Compile (for PXE)Con un click sull'apposito pulsante, l'IT Modeler avvia la generazione automatica dei file BPEL, ciascuno contenente la definizione del workflow specificata in un pool eseguibile, dei file WSDL, contenenti le definizioni delle interfacce verso i web services, e dei file necessari al deployment sul Process Engine di Intalio.

Deploy DiagramCon un click sull'apposito pulsante, l'IT Modeler avvia la procedura di deployment del processo nel process engine (attore System); se non era stato precedentemente generato il codice, esso viene generato automaticamente. A valle di questa operazione, il processo è pronto ad essere eseguito nel process engine.

Import ARIS Process FileScegliendo la voce apposita dal menu, il Modeler importare una definizione di processo specificata nel formato proprietario della suite ARIS.

Page 27: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 10: Use Case Diagram per Intalio BPMS Designer

Page 28: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

AgilPro Light Modeler Descrizione e tipologia di utentiAgilPro LiMo è una applicazione basata su Eclipse che consente di creare un business model. Oltre ai business process, è possibile modellare altri aspetti inerenti il contesto aziendale, come ad esempio la gerarchia delle unità organizzative e delle funzioni aziendali e le relazioni con i ruoli (quale unità organizzativa gioca un dato ruolo) e le azioni del business process (quale funzione aziendale è realizzata da una certa azione). Oltre a concetti tipici del contesto aziendale, l'applicazione consente di specificare anche aspetti prettamente tecnici per mezzo delle applications e delle web service applications, che possono essere definite e quindi associate alle azioni del business process; l'applicazione mette a disposizione due differenti view, una business e una technical view, dove la prima nasconde alcune informazioni di carattere tecnico. La notazione, proprietaria, è intuitiva e, a parte qualche problema nell'implementazione di alcuni casi d'uso, lo strumento è complessivamente semplice da utilizzare; appare quindi che AgilPro LiMo sia adatto tanto ad utenti con scarse competenze informatiche quanto da esperti dell'IT, che possono proficuamente lavorare sul medesimo modello a diversi livelli di dettaglio. Da segnalare che, per mezzo dell'applicazione AgilPro Simulator (anch'essa basata su Eclipse) e su una serie di adapters che questa mette a disposizione, è possibile simulare l'esecuzione dei processi aziendali definiti con AgilPro LiMo. Purtroppo, tanto LiMo quanto Simulator non sono ricchi di documentazione ed è risultato quindi difficile comprendere a fondo tutte le possibilità messe a disposizione da tali strumenti, nonché la semantica di alcuni concetti.

NotazioneProprietaria

SerializzazioneProprietaria

Importazione/EsportazioneNessuna utilità di importazione/esportazione disponibile.

MetamodelloCon la solita notazione, in figura 11 sono sintetizzati i concetti messi a disposizione da AgilPro. Si nota come quasi tutte le perspective siano rappresentate in larga parte, ad eccezione della Business Process Context Perspective che risulta carente relativamente ai goal, che non sono rappresentati. In virtù dell'organizzazione in packages che è possibile dare al modello, nulla vieta di organizzare i packages in modo da suddividere i processi in core, support e management, ma tale schematizzazione è evidentemente parziale e, soprattutto, non vi è la possibilità di rappresentare la relazione core process is-supported-by support process. Riguardo alla Behavioural Perspective, osserviamo che non sono disponibili tutti i tipi di gateway. La Functional Perspective è pienamente supportata, e quasi totalmente lo è la Organisational Perspective. Infine, la Informational Perspective è parzialmente rappresentata.

Page 29: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Figura 11: concetti del metamodello di riferimento disponibili in AgilPro Light Modeler (LiMo)

Casi d'UsoL'applicazione permette di modificare un business model per mezzo di un editor multipagina; una pagina dell'editor fornisce una visione d'insieme sugli elementi del business model (ruoli, dati, applicazioni e processi del modello, nonché informazioni generali sul modello quali autore, nome, descrizione testuale); le altre pagine dell'editor consentono la modifica dei business process models relativi ai processi definiti. Oltre all'editor multipagina, e alla classica properties view che consente di visualizzare e modificare le proprietà degli elementi del modello, vi è una structure view che rappresenta tutti gli elementi del modello in un albero e che pure consente di modificare il business

Page 30: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

model agendo sugli elementi (alcune operazioni, in verità, possono essere eseguite solo agendo su questa view). Come di consueto, riportiamo alcuni screenshots in figura 12, mentre in figura 13 lo use case diagram, nel quale figurano i soliti attori (IT Expert e Business Expert, entrambi specializzazione dell'attore Modeler).

a) l'editor, la properties view, la structure view

b) la pagina grafica dell'editor e le proprietà di una Action

Page 31: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

c) la vista semplificata sul modello (Business View)

d) AgilPro Simulator

Figura 12: screenshots di AgilPro LiMo

Create Business ModelIl Modeler, scegliendo la voce dal menu, crea un nuovo Business Model, scegliendo il nome del file e il percorso di memorizzazione; inoltre, si deve scegliere il nome del primo modello di business process (perché almeno un business process deve essere incluso nel modello). Si può opzionalmente scegliere di includere uno o più template nel modello che si va a creare.

Import Model TemplatesAll'atto della creazione di un nuovo Business Model, il Modeler può importare dei

Page 32: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

templates precedentemente esportati; i templates sono in formato proprietario.

Export Model TemplateIl Modeler può esportare un Business Model sotto forma di template; il Modeler seleziona la voce nel menu e quindi, nella finestra di dialogo che appare, seleziona quali elementi del modello devono essere esportati; i modelli di processo non vengono esportati.

Modify Business ModelAgendo nell'editor e/o nella properties view e/o nella structure view, si può modificare il Business Model; alcuni dei casi d'uso inclusi possono essere eseguiti dall'attore IT Expert in quanto richiedono specifiche competenze tecniche.

Add Application TypeAl fine di classificare le applicazioni che possono svolgere azioni nel processo, lo IT Expert può definire gli Application Type, assegnandogli un nome.

Add ApplicationL'IT Expert aggiunge una nuova applicazione al modello e ne specifica i parametri, in particolare nome, tipo e altri dettagli tecnici (quali, ad esempio, la classe Java che implementa l'applicazione); sono disponibili degli adapters che consentono di utilizzare applicazioni esterne (browser, word processor e altre).

Add WebService ApplicationL'IT Expert aggiunge una nuova Web Service Application al modello; l'operazione è simile all'aggiunta di una applicazione generica, ma l'elemento Web Service Application ha altri parametri che possono essere specificati, ovvero l'interfaccia da utilizzare e l'operazione del web service da invocare.

Add Application ParameterLo IT Expert può specificare i parametri di ingresso necessari a, e i parametri di uscita forniti da, una applicazione (semplice o di tipo Web Service).

Add Organizational UnitIl Modeler aggiunge una nuova Unità Organizzativa e le attribuisce un nome; la gerarchia di unità organizzative è limitata a soli due livelli ma, con ogni probabilità, si tratta di un bug nell'implementazione.

Add RoleIl Modeler aggiunge un nuovo ruolo al business model e ne specifica il nome; inoltre, si può specificare quale unità organizzativa gioca il ruolo.

Add FunctionIl Modeler aggiunge una nuova funzione al business model, dove una funzione aziendale

Page 33: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

rappresenta il tipo di azioni che possono essere svolte nell'azienda (ad es., vendita o approvvigionamento). Si può creare una gerarchia di funzioni su un numero arbitrario di livelli.

Add Information TypeIl Modeler può definire diversi tipi di informazione, attribuendo a ciascuno un nome; un tipo di informazione permette di descrivere, insieme al tipo di dato, i dati utilizzati nei processi aziendali, specificando che tipo di contenuto informativo essi contengono (ad es. se si tratta di un ordine, di una fattura etc.).

Add DatatypeIl Modeler crea un nuovo tipo di dato e gli assegna un nome; il tipo di dato permette di specificare di che tipo siano i dati utilizzati nei processi (ad es. se si tratta di documenti di testo, o di fogli di lavoro, etc.). A seguito di numerosi tentativi abbiamo dedotto che tali nomi non possono essere generici se si vuole sfruttare la possibilità di eseguire la simulazione del processo utilizzando gli adapters forniti: ad esempio, l'adapter GenericUI richiede dei dati il cui tipo abbia nome dioParameter affinché la simulazione funzioni correttamente; ancora, non siamo purtroppo riusciti a trovare documentazione a proposito.

Add DataIl Modeler crea un nuovo elemento data, specificandone nome e tipo; si possono specificare anche il valore assunto dal data, o un elenco di valori che esso può assumere (qualora, ad esempio, venga utilizzato come campo di form tipo select); inoltre, si possono specificare l'Information Type associato al data, il suo Data Type, così come una serie di parametri altri parametri di carattere prettamente tecnico (v. Add Data Parameter).

Add Data ParameterLo IT Modeler aggiunge un parametro a un elemento data; il parametro può essere generico, di input o di output, e può avere un nome e un valore.

Add ActivityIl Modeler crea una nuova attività; si tratta, a tutti gli effetti, di un business process; all'attività viene assegnato un nome e un tempo di esecuzione; l'attività appena creata viene automaticamente caricata nella seconda pagina dell'editor multipagina, dove può essere modificata per mezzo di tool grafici.

Modify Activity ModelNella pagina apposita dell'editor, si può modificare il modello dell'attività (ovvero, del business process) correntemente selezionata. Alcune operazioni presentano caratteristiche prettamente tecniche e sono quindi eseguite dallo IT Expert.

Add Initial/Final NodeIl Modeler aggiunge un nodo iniziale/finale del processo e gli assegna un nome.

Page 34: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Add ActionIl Modeler aggiunge una azione al processo selezionando l'apposito tool dalla palette; l'azione può essere di tipo atomico, oppure strutturata; il Modeler assegna un nome all'azione, nonché, eventualmente, un tempo auspicato di esecuzione.

Add Fork/JoinMediante gli opportuni tool, si possono creare rami del processo da eseguire in parallelo (AND); il Modeler esegue l'operazione utilizzando gli elementi chiamati Fork e Join, ai quali si può assegnare un nome.

Add Decision/MergeMediante gli opportuni tool, si possono creare rami del processo da eseguire in alternativa (XOR); il Modeler esegue l'operazione utilizzando gli elementi chiamati Decision e Merge, ai quali si può assegnare un nome.

Add EventIl Modeler seleziona l'apposito strumento e introduce un Evento nel processo, assegnandogli eventualmente un nome.

Add Event HandlerLo IT Expert può definire, per ciascuna Attività (ovvero, Business Process) un unico Event Handler, responsabile di gestire la reazione al verificarsi di determinati eventi esterni (arrivo di un messaggio, timeout etc.); teoricamente, dovrebbe esserci il modo di modellare il fatto che l'Event Handler gestisca determinati eventi, ma lo strumento non sembra mettere a disposizione uno strumento per effettuare tale associazione.

Add GuardAlle Flow Connections possono essere associate delle guard; lo IT Expert seleziona l'apposito tool dalla palette e quindi seleziona la transizione a cui associare la guard, assegnando a quest'ultima un nome, una descrizione e una etichetta che viene visualizzata nel diagramma.

Add Guard SpecificationLo IT Expert può associare, a ciascuna guard, una specifica che, in particolare nel caso di flusso alternativo (transizioni in uscita da un Decision Node), indica quando quella transizione viene eseguita. Le Guard Specification possono essere aggiunte in cascata l'una all'altra, consentendo così di indicare condizioni complesse. Ancora una volta, a causa della scarsa documentazione non siamo riusciti a comprendere a fondo il modo in cui specificare le condizioni.

Add Existing ElementNella palette dell'editor grafico sono riportati tutti gli elementi del business model (ruoli, applicazioni, dati etc.); in questo modo, il Modeler può inserire con semplicità tali elementi nel diagramma.

Page 35: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Add Flow ConnectionIl Modeler, mediante l'apposito tool, definisce le transizioni tra i nodi del diagramma del processo.

Add Role ReferenceUtilizzando l'apposito tool grafico, oppure agendo nella properties view, il Modeler specifica quale ruolo debba eseguire una specifica azione del processo; ogni azione può essere eseguita al più da un solo ruolo.

Add Data ReferenceUtilizzando l'apposito tool grafico, oppure agendo nella properties view, lo IT Expert specifica quali dati sono prodotti o consumati dalle azioni del processo.

Add Application ReferenceUtilizzando l'apposito tool grafico, oppure agendo nella properties view, lo IT Expert specifica quale applicazione debba eseguire una specifica azione del processo; ogni azione può essere eseguita al più da una sola applicazione. Osserviamo che una azione può essere eseguita sia da un ruolo che da una applicazione, ad indicare che l'azione stessa è svolta da una persona con l'ausilio di mezzi informatici.

Add Function ReferenceAgendo nella properties view, il Modeler specifica quale funzione è realizzata da una specifica azione del processo; ogni azione può realizzare una sola funzione ma la medesima funzione può essere realizzata da diverse azioni.

Define Data MappingLo IT Expert può definire uno o più data mapping per ciascuna azione del processo; in base alla scarsa documentazione disponibile, possiamo affermare che tale funzionalità consente di creare un binding tra i parametri dei dati prodotti/consumati da una azione e i parametri di ingresso/uscita dell'applicazione che esegue l'azione.

Change Editor ViewIl Modeler può cambiare la modalità di visualizzazione dell'editor grafico, scegliendo tra business e technical; nella prima modalità, alcuni elementi (come i dati e le applicazioni) vengono nascosti.

Select Element IconIl Modeler può scegliere una icona da assegnare a un elemento del modello; è possibile anche usare delle immagini personalizzate.

Add CommentAd ogni elemento del modello il Modeler può associare un commento testuale.

Run Process SimulationUna volta definito un Business Model, i processi che lo compongono possono essere simulati per

Page 36: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

mezzo dell'applicazione AgilPro Simulator; le applicazioni definite per mezzo degli adapters vengono eseguite all'interno del Simulator. Questa operazione è svolta dallo IT Expert; un altro attore, genericamente indicato come System, rappresenterà le applicazioni coinvolte nella simulazione.

Figura 13: Use Case Diagram per AgilPro LiMo

Page 37: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Comparazione e possibilità di estensioneLa comparazione tra i diversi strumenti viene fatta riferendosi in particolare a:

● completezza del metamodello utilizzato dal tool rispetto a quello utilizzato come riferimento, in particolare riguardo alle diverse perspective

● casi d'uso, sottolineando quali siano orientati al business expert e quali invece all'IT expert

Per valutare la completezza, abbiamo rapportato il numero di concetti rappresentato in ogni strumento al numero totale di concetti presente nel metamodello di riferimento, ricavando così una percentuale di completezza per ogni perspective del metamodello; abbiamo quindi ricavato una percentuale di completezza totale per ciascun tool nonché una percentuale di completezza media per ciascuna perspective. Per valutare i casi d'uso, abbiamo preso in considerazione il numero di casi d'uso destinati al solo attore IT Expert (IT UseCases) e il numero quelli destinati anche (o solo) al Business Expert (Business Use Cases), ricavando anche una percentuale rispetto al totale dei casi d'uso per ciascun tool. I risultati ottenuti sono riassunti in Tabella 1.

Completezza Use CasesBP Cont. Organ. Funct. Behav. Inform. Medie Business Use Cases IT Use Cases

jBOSS jPDL 2,9% 50% 50% 61,4% 63% 46,46% 7 58,3% 5 41,7%

STP 2,9% 7,4% 93,7% 83,4% 6,5% 38,78% 14 82,4% 3 17,6%

AgilPro 11,8% 61,5% 100% 72,7% 67,4% 62,68% 21 61,8% 13 38,2%

Intalio 2,9% 19,2% 100% 100% 19,6% 48,34% 12 50% 12 50%

Medie 5,125% 34,525% 85,925% 79,375% 39,125%

Tabella 1: comparazione

Raffrontando i valori ottenuti, si evince che le perspectives inerenti i concetti del dominio di business (Business Process Context Perspective e Organisational Perspective) sono in media scarsamente rappresentate; in particolare, la prima risulta quasi del tutto non rappresentata in tutti i tools ad eccezione di AgilPro LiMo. In considerazione di ciò va letto anche il dato relativo ai casi d'uso, che vede una sostanziale prevalenza dei business use cases; infatti, molti casi d'uso sono sì destinati ad utenti non necessariamente esperti ma comunque non consentono, in genere, di definire contenuti propri del contesto aziendale (essendo i concetti mancanti) e sono infatti concentrati sugli aspetti inerenti il flusso delle azioni (Behavioural Perspective) o delle informazioni. Appare quindi chiaro che i tools esaminati sono pressoché tutti orientati a un contesto tecnologico e poco orientati al business; l'unica eccezione è costituita da AgilPro LiMo che, seppur in maniera limitata, permette di modellare un buon numero di concetti del contesto aziendale, oltre ad avere la più elevata percentuale media di completezza (62,68%), il che indica che esso consente di rappresentare una buona parte dei concetti del metamodello qui utilizzato come riferimento.

Riguardo alle possibilità e modalità di estensione, occorre ricordare che lo scopo ultimo è ottenere un tool per il business process modelling da utilizzare nell'ambito della metodologia USBD; per tale metodologia, requisiti fondamentali sono:

● possibilità di modellare il contesto aziendale in modo completo, semplice e intuitivo, rappresentando correttamente i concetti utilizzati nella metodologia USBD

● realizzare il primo passo verso la tracciabilità end to end, dal modello dei processi aziendali all'architettura del software che supporta tali processi, e quindi consentire almeno la

Page 38: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

tracciabilità tra i modelli di processo e gli artefatti UML che costituiscono il punto di partenza dello sviluppo del software

Alla luce di queste esigenze, appare chiaro che tutti i tools esaminati andrebbero estesi per includere in essi tutti i concetti di USBD pertinenti al contesto aziendale; facendo riferimento ai concetti utilizzati in USBD [USBD], si nota che andrebbero introdotti i concetti di Goal e relative misure, di Customer Stakeholder, e delle relative associazioni, il che in sostanza comporta la necessità di arrivare ad ottenere un metamodello che in cui sono rappresentati tutti i concetti della Business Process Context Perspective; andrebbe valutata l'opportunità di considerare altri concetti tipici di USBD, quali quello degli User Personas. Inoltre, andrebbero introdotti tutti quei concetti che permettono di ottenere la tracciabilità tra i business process models e gli artefatti UML che da questi devono essere derivati, il che porta alla necessità di vedere rappresentati i concetti della Organisational Perspective e della Informational Perspective al fine di poter caratterizzare i process participants nella maniera corretta, distinguendo innanzitutto tra persone e software e consentendo così di individuare i to-be-automated business workers come richiesto dalla metodologia USBD e quindi di derivare, eventualmente in maniera automatica o semi-automatica, i requisiti delle applicazioni software che devono supportare i processi modellati mantenendo in maniera formale i link di tracciabilità con i modelli dei processi stessi. Dei tools esaminati, le prospettive organizzativa e informativa sono discretamente rappresentate nel jPDL Designer e, ancora, in AgilPro LiMo, mentre sono scarsamente rappresentate negli altri tools.

Riguardo alla semplicità di utilizzo, risulta difficile fare una valutazione oggettiva; il modo migliore sarebbe raccogliere le opinioni degli utenti e organizzarle statisticamente, ma nel nostro caso possiamo solo fare una valutazione soggettiva in base alla quale ci appare che il tool che offre una notazione più semplice, intuitiva e vicina all'attore di business sia AgilPro LiMo, seguito da Intalio BPMS Designer e STP Designer, che utilizzano la notazione BPMN; sicuramente poco intuitivo è jPDL Designer, che offre una notazione assai scarna e ben poco rappresentativa.

Resta, infine, da considerare la necessità di esportare i modelli di processi aziendali in formati differenti da quello utilizzato nel tool di modellazione; nessuno degli strumenti esaminati offre, qttualmente, questa possibilità che, nell'ottica di un utilizzo in ambito USBD, è di fondamentale importanza (ad esempio, l'esportazione in formato UML così come la generazione automatica di artefatti UML che definiscano i requisiti dell'applicazione che dovrà supportare i processi modellati). L'estensione di uno dei tool esistenti richiederebbe anche l'implementazione di tali funzionalità.

Page 39: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

ConclusioniAlla luce della valutazione effettuata, ci sentiamo di concludere che, almeno in ambito open source e specificatamente nell'ambito di Eclipse, non vengano offerti strumenti realmente vicini alle esigenze di utenti che non siano esperti di IT o di modellazione: gli strumenti esistenti ci sembrano decisamente orientati a utenti esperti, ad una platea di tecnici. L'unica eccezione, almeno in parte, sembra essere AgilPro LiMo, che utilizza una notazione semplice e consente di modellare un discreto numero di concetti tipici del contesto aziendale. Grazie però alla natura open source dei tools esaminati e alle caratteristiche della piattaforma Eclipse che notoriamente facilita l'estensione degli strumenti che su essa si basano, ci sembra che si possa pensare ad una estensione di ciò che esiste per ottenere uno strumento adatto ad essere adoperato, nell'ambito della metodologia USBD, da utenti appartenenti al mondo aziendale che non abbiano esperienza nell'ambito informatico o della modellazione. Resta altresì possibile pensare allo sviluppo completo di un tale strumento sulla piattaforma Eclipse: si tratterebbe di uno sviluppo ex-novo nel senso che non si baserebbe su uno strumento di business process modelling esistente, ma l'utilizzo della piattaforma Eclipse garantirebbe la possibilità di lavorare in un'ottica di riuso.

Page 40: Valutazione comparativa di applicazioni open source per il ... · Set jBPM Preferences Selezionando l'opportuna voce nel menu delle preferenze di Eclipse, l'IT Expert può specificare

Bibliografia● [LIST06] List, Korherr: "An Evaluation of Conceptual Business Process Modelling

Languages", Proceedings of the 21st ACM Symposium on Applied Computing (SAC'06), April 2006, Dijon, France, ACM Press, 2006

<http://wit.tuwien.ac.at/people/list/publications/acmsac2006.pdf>

● [GONZ07] Gonzalez, Framinan: “Tools for collaborative Business Process Modeling: Classification and Evaluation”, University of Seville, 2007

<http://taylor.us.es/ph/downloads/HPM/3.pdf>

● [PEYR06] Peyret, Teubner: “The Forrester Wave™: Business Process Modeling Tools, Q3 2006”, Forrester Research, 2006

<http://www.forrester.com/Research/Document/Excerpt/0,7211,38926,00.html>

● [GART06] Blechar, Sinur: “Magic Quadrant for Business Process Analysis Tools, 2006”, Gartner RAS Core Research, 2006

<http://www.proformacorp.com/Downloads/files/proforma1713.pdf>

● [JPDLDOC] Documentazione della suite jPDL-jBPM

<http://docs.jboss.org/jbpm/v3/userguide/index.html>

● [BPM20] Chang Ghalimi: “BPM 2.0”, Intalio, 2006

<http://bpms.intalio.com/component/option,com_remository/Itemid,48/func,fileinfo/id,50/>

● [AGILPRO] Bauer, Lautenbacher, Roser: “AgilPro Metamodel Description”, University of Augsburg, 2007

<http://wiki.eclipse.org/images/2/2f/AgilPro_MetamodelDescription.pdf>

● [USBD] Donatelli, Longobardi, Gangemi, Marinelli: “Unified Scenario-Based Design”, part 1, 2, 3, IBM DeveloperWorks, 2005

<http://www.ibm.com/developerworks/rational/library/05/1129_donatelli/>

<http://www.ibm.com/developerworks/rational/library/06/0214_donatelli/>

<http://www.ibm.com/developerworks/rational/library/06/0404_donatelli/>