Skip to main content

Quando pensiamo a un servizio digitale può essere più semplice pensare alla sua interfaccia utente o alla sua implementazione lato server: quello che invece potrebbe essere meno immediato da immaginare sono i processi aziendali che permettono a quel servizio di funzionare e che spesso sono svolti in modo “analogico”.
Capiamo insieme l’importanza della gestione dei processi aziendali e i software a sostegno di questa attività.

La differenza tra BPM e BPMN

Un processo aziendale (o business process) è un insieme di attività interconnesse allo scopo di creare valore aggiunto mediante la trasformazione di risorse (input) in prodotti finali (output). L’insieme delle attività che compongono un processo può essere svolto da persone e/o sistemi informatici sulla base di vincoli e logiche definite nel processo stesso. Quando un processo aziendale viene eseguito o quantomeno veicolato da un software, si può parlare anche di processo digitale.

A questo punto è utile introdurre due definizioni importanti che si ritrovano spesso nell’ambito dei processi digitali:

  • BPM (Business Process Management);
  • BPMN (Business Process Model and Notation).

BPM

Wikipedia definisce BPM come:

“L’insieme delle attività necessarie a definire, ottimizzare, monitorare e integrare i processi aziendali al fine di rendere efficace il business dell’azienda. I software di BPM forniscono tutti gli strumenti necessari per mettere in pratica le attività di BPM, aggiungendo in più la possibilità di automatizzare e monitorare più facilmente i processi aziendali.”

BPMN

Business Process Model and Notation è invece uno standard ampiamente adottato per la definizione grafica di un processo aziendale: i software di BPM utilizzano questa notazione per facilitare le aziende nelle fasi di definizione (disegno) formale e manutenzione del processo da digitalizzare. Con questo linguaggio è possibile definire le attività che compongono il processo e veicolare il flusso di esecuzione sulla base di condizioni e informazioni di vario genere.

Clicca sull’immagine per ingrandire: 

Diagramma BPMN realizzato dal team di sviluppo Intesys.

API date

Evolvere e governare
le architetture IT

GUARDA L'EVENTO ON DEMAND

Activiti: la sua importanza per il BPM

Activiti è un motore di BPMN Open Source scritto in Java: lo sviluppo di Activiti è supportato da Alfresco che lo usa a sua volta nei propri prodotti leader di mercato. Si tratta di un software ampiamente diffuso e si contraddistingue per leggerezza e robustezza.

I software di BPM tendono in genere ad offrire una ricca gamma di funzionalità con l’intento di coprire l’intero ciclo di vita di un processo: design, deploy, execution, maintenance, analytics, ecc. Tuttavia, tendono anche a causare un effetto di lock-in tecnologico con conseguenze come:

Invece, la più recente versione di Activiti, conosciuta meglio come Activiti Cloud, segue un approccio diverso: il suo obiettivo è mantenere il più isolata ed essenziale possibile la componente di process engine, fornendo al tempo stesso un set di servizi isolati e indipendenti tra loro, ognuno ben specializzato su una specifica macro-funzionalità caratteristica di un sistema di BPM.

Activiti Cloud: caratteristiche e vantaggi della nuova versione

Activiti Cloud, come suggerisce anche il nome, si posiziona come un prodotto fortemente orientato al cloud e alle architetture a microservizi. Da un punto di vista architetturale, Activiti permette di creare delle Activiti Cloud Application, dove ogni application non è altro che un insieme di microservizi che assolvono a compiti specifici di un sistema di BPM.

Vediamoli in breve:

1

Runtime Bundle: contiene la definizione dei processi (in formato BPMN) e si occupa di eseguirli; 

2

Cloud Connectors: implementa i connettori, cioè componenti software che posso essere usate dai processi in esecuzione nei Runtime Bundle (questo è il posto in cui risiedono le eventuali integrazioni di un processo verso altri sistemi); 

3

Query: come suggerisce il nome, il suo scopo principale è permettere l’esecuzione di query sui processi in corso e su quelli terminati; 

4

Audit: raccoglie informazioni per il monitoraggio dei processi; 

5

Notification: servizio di notifica legato ai processi. 

 

Le Activiti Cloud Application si integrano poi in un’architettura più ampia che può essere ad esempio descritta in questo modo.
In breve:

  • Activiti Cloud Application: il set di componenti specifici di Activiti Cloud;
  • DB/Storage: persistenza dei dati su database e filesystem;
  • Message broker: comunicazione ad eventi tra le componenti del sistema (ad esempio RabbitMQ o ActiveMQ);
  • Registry: registrazione dinamica dei servizi (discovery, routing, ecc.);
  • Gateway: entry point per il sistema;
  • SSO/IDM: Identity Management e Single Sign On (es. KeyCloak).

Ognuna di queste componenti indipendenti comunica attraverso un sofisticato sistema di eventi e API REST, e la loro integrazione comporta notevoli vantaggi per il BPM:

Scalabilità

Riduzione dei downtime

Semplicità di replica su cluster differenti mediante pratiche GitOps

In pratica, Activiti Cloud permette di fare scelte flessibili, sicure, rapide e trasparenti, con un ampio margine di adattabilità e personalizzazione dei servizi che mette a disposizione.

Scopri di più su Activiti Cloud e su altre innovative tecnologie cloud native: ne abbiamo parlato durante API date, sono disponibili le videoregistrazioni dell’evento!

SCOPRI I CONTENUTI ON DEMAND
3.7/5.0 Article rating
3 Reviews
Cosa ne pensi dell'articolo?
  1. Amazing
  2. Good
  3. Bad
  4. Meh
  5. Pff
Luca Rubin
Senior Software Developer

Luca è specializzato nella gestione, progettazione e sviluppo di soluzioni software di digital transformation generalmente basate sulla Content Service Platform open source “Alfresco”.

NEWSLETTER