La suite Bizagi BPM
Nell’articolo precedente abbiamo visto che cosa è un sistema di BPMS, quali ne sono i principali componenti, e i vantaggi della sua adozione nei progetti di Business Process Change che prevedono, tra gli altri, degli interventi di automazione di processi. In questo articolo cominceremo a presentare la suite di Bizagi, andando a individuare i moduli componenti e le architetture della suite.
Bizagi BPM Suite [1] è la suite di modellazione e implementazione di applicazioni di automazione dei processi di business della software company Bizagi, fondata nel 1989 in UK e con sedi in USA, Spagna e America Latina.
I componenti della suite
A partire dalla modellazione e dal design, sino ad arrivare all’automazione e al deployment, i tool di Bizagi BPM Suite consentono di coprire l’intero ciclo di vita di un processo e realizzare così un ciclo di miglioramento continuo dei processi (figura 1).
Bizagi Modeler è l’ambiente dove vengono modellati i processi di business mediante l’uso del linguaggio standard BPMN [2]. È lo strumento usato tipicamente dai business manager e i business analyst, quindi persone senza diretta conoscenza tecnica, per disegnare il modello del processi As-Is oppure il modello concettuale del processo, detto anche business oriented process model, che disegna un primo To-be.
Bizagi Studio è l’ambiente dove il modello del processo viene trasformato in una vera e propria applicazione di processo eseguibile. Inoltre è l’ambiente dove si realizza la definizione del modello dei dati, dell’interfaccia utente e delle integrazioni con gli altri asset IT.
Bizagi Engine è l’ambiente dove viene eseguito e controllato il processo automatizzato definito in Bizagi Studio. È un portale multi-language che consente di consultare facilmente lo stato di tutte le attività dei processi. Inoltre, un set completo di KPI consente di avere il controllo completo delle performance dei processi.
Vediamo questi componenti in maggiore dettaglio.
Bizagi Modeler: modellazione
Il primo passo per realizzare un’applicazione di processo mediante Bizagi BPMS Suite parte dalla realizzazione del modello del processo nella applicazione freeware Bizagi Modeler. In questo ambiente l’utente ha a disposizione il linguaggio standard Business Process Model and Notation (BPMN) oltre ad altri strumenti utili per la documentazione dei processi di business. La pubblicazione della documentazione di processo può avvenire in diversi formati: Word, PDF, pagina web, Sharepoint o Wiki.
Anche Bizagi Studio (vedi sotto) ha un ambiente integrato per la modellazione dei processi, ma Bizagi raccomanda comunque di usare il Modeler per la modellazione e la documentazione dei processi per poi esportare da qui il modello in Bizagi Studio.
Bizagi Modeler consente anche di simulare i processi per predire come il processo impatterebbe sul business dell’organizzazione. Il bottone Run Workflow nella tab home del Modeler consente di esportare automaticamente il modello in Bizagi Studio (figura 2).
Bizagi Studio: costruzione
Il passo successivo è quello di realizzare in Bizagi Studio un modello eseguibile del processo aggiungendo tutti gli elementi di dettaglio necessari allo scopo. Un wizard intuitivo guida passo passo alla automazione del processo (figura 3).
Tra le altre cose, in questo ambiente viene costruito il modello dei dati, viene composta l’interfaccia utente, vengono definite le business rules, si stabilisce la work allocation e il modo in cui interfacciarsi con le altre applicazioni software.
Bizagi Engine: esecuzione
Il modello eseguibile realizzato in Bizagi Studio è memorizzato in un database e viene interpretato ed eseguito da Bizagi Engine. In questo ambiente, un Work Portal Web consente di visualizzare le istanze (case) dei modelli dei processi e, per ognuno, di conoscere diverse informazioni sullo stato di esecuzione (figura 4).
Nella sezione BAM e Analytics, Bizagi Engine mette inoltre a disposizione un set completo di report sulle prestazioni e di indicatori per analizzare i processi in real time o anche facendo riferimento ai dati storici. Tra gli indicatori utili ai business manager e ai process owner risultano particolarmente interessanti quelli che mettono in luce i colli di bottiglia, le performance delle risorse, il livello dei servizi (service levels) e le tendenze.
Come si può comprendere facilmente, queste sono tutte le informazioni di base per individuare delle opportunità di miglioramento e quindi istanziare un ciclo di miglioramento continuo. Quindi sulla base di questi indicatori, possono per esempio essere modificate al volo delle regole di business o può essere generata in Bizagi Studio una nuova versione del processo. Bizagi supporta il multi-versioning dei processi.
Ciclo di vita e architettura di Bizagi BPM Suite
Come appena visto, il ciclo di vita realizzato da Bizagi BPM Suite include tre diverse fasi: Modellazione, Costruzione ed Esecuzione. La figura 6 illustra e riassume bene quanto detto.
Nei paragrafi successivi vediamo in maggiore dettaglio questo aspetto.
Architettura dei sistemi
Bizagi suggerisce di realizzare il ciclo definito sopra in tre ambienti distinti:
- l’ambiente di sviluppo: è l’ambiente di creazione dove i processi vengono implementati;
- l’ambiente di test: usato per i test di accettazione da parte dell’utente;
- l’ambiente di produzione: è l’ambiente finale operativo.
L’ambiente di sviluppo
Nella situazione di progetto più articolato, l’architettura dell’ambiente di sviluppo può presentarsi come schematizzato in figura 7.
Nella figura 7 viene evidenziato che Bizagi può configurare un ambiente di project collaboration in cui diversi team di lavoro lavorano sullo stesso progetto. In Bizagi sono comunque possibili configurazioni più semplici, in cui lo sviluppo avviene su un ambiente personale invece che su un ambiente centralizzato.
L’ambiente di test
Nell’ambiente di test vengono realizzati i test di accettazione da parte dell’utente prima del passaggio in produzione (figura 8). Si tratta di una fase importante della realizzazione di un progetto, non solo per quelli più complessi.
Per tale ragione, in generale è raccomandabile che questo ambiente sia il più simile possibile a quello che sarà l’ambiente di produzione.
L’ambiente di produzione
È l’ambiente operativo dove i processi automatizzati vengono usati dagli utenti finali dell’applicazione di processo.
Un ambiente ottimizzato per garantire disponibilità e scalabilità delle applicazioni Bizagi può essere configurato come indicato nello schema di figura 9.
Data Access Layer
Il Data Access Layer comprende i DataBase Server e, se la criticità dell’applicazione nel contesto del business lo suggerisce, può essere configurato un gruppo di server (nodi) in fail-over cluster. Se uno o più nodi del cluster non funzionano, gli altri nodi cominciano a erogare il servizio, un processo noto proprio appunto con il nome di failover. Si può intuire che ci sono una serie di innegabili vantaggi nell’implementare un failover cluster, primo tra tutti è l’elevata disponibilità e la business continuity delle applicazioni business critical.
I data base supportati da Bizagi sono Microsoft SQL Server e Oracle.
BPM Layer
Il BPM Layer contiene il Bizagi Engine e, per garantire un servizio sempre attivo e ininterrotto per le applicazioni mission–critical, anche questo layer può essere configurato con un cluster di nodi server in load balancing.
Bizagi supporta le esecuzioni in ambienti .NET, con Internet Information Services (IIS) e Java EE. In questo ambiente, tra i più rappresentativi Application Server supportati, ci sono WebSphere, WebLogic e JBoss.
Opzioni aggiuntive
Ci saranno casi in cui le applicazioni di Bizagi dovranno essere esposte all’esterno: si pensi ad esempio a un portale fornitori a cui questi devono accedere per istanziare un processo di accreditamento presso una organizzazione. In tali situazioni, per garantire maggiore sicurezza all’accesso dei dati, può essere inserito in configurazione un server aggiuntivo con funzioni di reverse server proxy.
In questa architettura, Bizagi Engine resta nella intranet e il reverse proxy server è usato in una cosiddetta de-militarized zone (DMZ) per reindirizzare gli accessi da internet in maniera sicura. In questa configurazione, gli utenti interni all’organizzazione continuano ad accedere direttamente ai server che ospitano Bizagi Engine laddove si trovano effettivamente i processi eseguibili.
Da notare che in tal modo è possibile accedere alle applicazioni di Bizagi anche con diversi dispostivi mobili, sia con sistema operativo Android che con iOS (iPad e iPhone).
Architettura del prodotto
Il diagramma di figura 11 illustra l’architettura di Bizagi Engine con i principali elementi che la costituiscono
Work Portal
Bizagi presenta un Work Portal web-based per gli utenti finali, dove viene presentata una lista to do delle attività di competenza. Il Work Portal è il punto di accesso al sistema per gli utenti finali per poi realizzare tutte le altre operazioni: creare una nuova istanza di processo, eseguire dei task, accedere alle funzioni di analisi delle performance e reporting, e così via.
Il Work Portal può essere multi-language e può essere personalizzato, per esempio con il logo o i colori dell’organizzazione, per essere aderente alle linee guida corporate.
BPMN Workflow
In Bizagi il BPMN Workflow, chiamato Workflow Engine, ha il compito di controllare ed eseguire il workflow. Il motore quindi interpreta direttamente i modelli dei processi inizialmente realizzati in Bizagi Modeler nel linguaggio BPMN e poi esportati e configurati nel dettaglio in Bizagi Studio. Il motore di Bizagi è quindi in grado di eseguire, tra altri, le BPMN features più sofisticate, come ad esempio la collaborazione tra processi, le transazioni di lunga durata, i sottoprocessi.
Analytics
Le funzionalità di Business Active Monitoring (BAM) & Analytics mettono a disposizione alcuni indicatori per il monitoring e il miglioramento dei processi. Sono disponibili delle analisi grafiche sia per il realtime (BAM), sia per i trend storici. Per applicazioni che presentano un alto volume di informazioni e che quindi possono causare qualche problema con la velocità delle query, la feature Operational Data Store può essere configurata per migliorare le perfomance.
Data Manager
Data Manager è il motore dati di Bizagi, chiamato anche Entity Manager. Esso consente di gestire le informazioni in maniera sicura, consistente e integrata in modo che sia possibile consultare tutte le informazioni sui processi.
Security & Organization
Il modulo Authentication & Authorization consente di configurare differenti autorizzazioni per gli utenti, a seconda di ruoli, competenze, posizioni, aree e luoghi definiti per l’organizzazione. Bizagi consente l’autenticazione Windows e LDAP.
È possibile inoltre definire differenti schemi di working time per differenti utenti e per i loro luoghi di lavoro.
Business Rules & Policies
Il motore Business Rules di Bizagi consente di definire regole applicative per realizzare differenti transazioni del workflow, introdurre controlli e sincronizzazioni, eseguire calcoli e prendere decisioni automatizzate sulla base di regole sofisticate, vale a dire basate su decision tables o decision trees. Per la creazione delle regole di business, Bizagi mette a disposizione un editor grafico.
Enterprise Mapping Layer (Integration Layer)
Integration Layer è il modulo per le organizzazioni corporate che hanno bisogno di integrare Bizagi con le altre applicazioni e con i vari business dell’organizzazione.
email server
I processi di Bizagi possono mandare automaticamente delle notifiche email mediante un server che aderisce allo standard SMTP, come per esempio Lotus Notes ed Exchange.
ECM per i documenti
Bizagi supporta l’integrazione con i sistemi di Enterprise Content Management che supportano lo standard CMIS come per esempio SharePoint, Alfresco and Documentum. Può essere configurato in modo tale che gli allegati ai processi di Bizagi siano memorizzati in un repository centralizzato dei documenti.
DataBase esterni
Bizagi mette a disposizione anche delle funzionalità di integrazione a livello di dati. La tecnologia di Bizagi, chiamata Data Replication o Data Virtualization, consente di importare i dati in Bizagi in maniera schedulata o transazionale, per sincronizzare delle informazione in maniera bidirezionale, oppure di avere accesso in sola lettura ai dati di altri sistemi.
Invocazione di servizi
Bizagi consente anche l’integrazione a livello di servizi che possono essere configurati mediante un wizard senza che sia necessario avere conoscenza tecniche. In Bizagi e possibile invocare servizi SOAP o REST.
Bizagi API (SOA Layer)
Bizagi segue una architettura SOA (Service Oriented Architecture) e quindi è possibile richiamare le funzionalità dei processi Bizagi invocando dall’esterno delle API Bizagi che siano SOAP-compliant. Questo rende più facile scatenare degli eventi di business in Bizagi, per esempio per aggiornare dei dati in un processo, che sono controllati da altri sistemi.
Tra i metodi resi disponibili da Bizagi ci sono quello per creare una nuova istanza di processo, per eseguire una attività, per scatenare un evento, aggiornare o ottenere delle informazioni di processo, abortire un processo.
Business Events
Bizagi consente l’implementazione della “coreografia” dei suoi processi, intendendo con questo la possibilità che hanno i processi di Bizagi di reagire a eventi che sono stati attivati da altri processi o di reagire a eventi asincroni come quelli attivati su base temporale.
Questa feature permette per esempio di modellare degli scenari in cui certi processi sono creati a partire da messaggi, segnali, timer o altri trigger asincroni.
Workload Management
Le feauture di Work Allocation permettono di configurare la distribuzione e il bilanciamento del carico di lavoro, cioè della assegnazione di una attività a una risorsa dell’organizzazione. Possono essere configurati diversi algoritmi di work allocation: code, round robin e load balancing.
Possono essere inoltre configurati dei calendari di lavoro e vacanza, come anche meccanismi di delega e riassegnamento.
Cache Manager
Il Cache Manager, mediante la gestione degli ambiti di lavoro, consente significativi miglioramenti nell’utilizzo del Work Portal in progetti mission-critical quando il numero di utenti concorrenti è elevato.
Conclusioni
In questo articolo abbiamo cominciato a prendere confidenza con il BPMS Bizagi Suite della omonima azienda. In particolare abbiamo visto i prodotti che compongono la suite, quindi abbiamo descritto le architetture degli ambienti di sviluppo, test e produzione che sono suggerite da Bizagi.
Infine abbiamo visto l’architettura di Bizagi Engine illustrando per ciascuno degli elementi componenti le funzionalità rese disponibili.
Nel prossimo articolo approfondiremo il primo dei componenti della suite: Bizagi Modeler.