Activiti Web Form

Nel processo di Digital Transformation si presenta sempre più spesso il problema della raccolta del dato in modo strutturato. In vari contesti, anche diametralmente opposti, si presentano spesso requisiti comuni.

E' quasi sempre presente l’esigenza di poter acquisire i dati attraverso software di comune utilizzo come i browser, talvolta in mobilità quindi utilizzando device come tablet e smartphone.

Molto di frequente è necessario che alla raccolta del dato collaborino diversi utenti con ruoli diversi e che il dato venga validato e approvato prima di diventare “pubblico e ufficiale”.

Lo scenario si può quindi tradurre nella possibilità di avere uno strumento accessibile via web su un portale responsive che permetta la definizione di form complessi e compilabili a step successivi che possano essere sottoposti a workflow.

Liferay e Activiti

La scelta della piattaforma Liferay Portal, con tutti i suoi strumenti disponibili off-the-shelf, ci permette di avere una buona partenza per raggiungere l’obiettivo finale, avendo disponibili le Dynamic Data List, un framework per le notifiche ed ovviamente tutto il framework Liferay per gli sviluppi custom per l’estensione della piattaforma.

Per raggiungere l’obiettivo, mantenendo comunque la possibilità di avere un sistema disaccoppiato, abbiamo pensato di affiancare al portale Liferay uno strumento di workflow standalone che ci permettesse una integrazione su protocolli standard, http / https, su punti di estensione i più ampi possibili mantenendo un disaccoppiamento delle due componenti (portale e BPMN).

La scelta è caduta su Activiti, software BPMN 2.0 opensource, ed è stata dettata da alcuni fattori caratterizzanti lo strumento:

  • tutte le funzionalità dello strumento di workflow, sia di tipo amministrativo sia per l’utilizzo dei workflow, sono esposte attraverso servizi REST su protocollo http/https;
  • la piattaforma permette di sviluppare moduli utilizzabili nelle definizioni di workflow utilizzando diversi linguaggi di programmazione tra cui Java;
  • utilizzando moduli custom è possibile integrare servizi esterni per arricchire le funzionalità dei workflow.

activiti

Partendo da questi presupposti e con queste componenti, è stato quindi sviluppato un plugin Liferay che permette l’integrazione dei vari elementi: Dynamic Data List, Activiti, sistema di notifiche di Liferay.

La soluzione proposta permette quindi di definire form complessi compilabili a step da diversi utenti, anche con ruoli diversi, su un sistema di workflow amministrabile da portale che gestisca il flusso dei dati ed il ciclo di vita della raccolta del dato stesso.

Alcune caratteristiche particolarmente interessanti dell’integrazione sviluppato possono essere:

  • sistema di sincronizzazione tra Liferay ed Activiti dei ruoli abilitati e degli utenti assegnati ai ruoli sincronizzati;
  • integrazione dei servizi Activiti di amministrazione per la configurazione dei workflow e dei servizi per l’avvio e la gestione del ciclo di vita delle singole istanze di workflow;
  • client http/https per l’integrazione sul portale Liferay dei servizi REST autenticati di Activiti. In base al tipo di servizio utilizzato l’autenticazione è fatta utilizzando utenze di sistema oppure le reali utenze dei singoli utenti registrati come può essere il caso dell’avanzamento dei workflow;
  • integrazione sui form delle Dynamic Data List dei form-data di Activiti per aggiungere metadati necessari all’esecuzione del processo di workflow;
  • possibilità di gestire più versioni della stessa definizione di workflow;
  • i__nterfaccia web di gestione ed anagrafica delle notifiche__ che permette di definire oggetto e corpo delle email internazionalizzati da utilizzare nelle definizioni del workflow per l’integrazione con il sistema di notifiche di Liferay;
  • integrazione di Activiti con il framework di notifiche Liferay attraverso servizi REST json-WS autenticati su protocollo http/https;