Technology Reply Financial Services ha disegnato ed implementato una soluzione per la gestione documentale che supporti la generazione di contratti e documenti, firma ed archiviazione in ambito multi-country.
l progetto ha lo scopo di definire e implementare un processo di gestione documentale che garantisca la flessibilità necessaria per essere adottato in un ambito multi-country, multi-prodotto e multi-channel. Attualmente sono riconosciuti tre diverse tipologie di firma elettronica:
Firma Elettronica Semplice (FES): è la firma elettronica con il minor grado di sicurezza ed è generalmente utilizzata per indicare la presa visione;
Firma Elettronica Avanzata (FEA): la firma può indentificare in modo univoco il firmatario, uno degli esempi di questa tipologia di firma è la firma grafometrica;
Firma Elettronica Qualificata (FEQ): è la firma con maggior grado di sicurezza che deve garantire autenticità ed integrità dei documenti firmati. La Firma Elettronica Qualificata ha valore legale e viene generalmente apposta tramite crittografia asimmetrica.
Il processo di generazione e firma dei documenti ha una complessità governata da diverse necessità:
Il processo di generazione e firma dei documenti ha una complessità governata da diverse necessità:
firmare più documenti contemporaneamente
firma congiunta da parte di più firmatari (Firma Congiunta)
firmare documenti secondo un ordine predefinito (i.e. il documento di privacy deve esser firmato prima dei contratti di prestito)
firmare diversi documenti con differenti tipologie di firma
archiviazione contestuale di documenti (i.e. carta di identità)
firmare documenti in modo diverso dipendentemente da canale di firma e tipologia del cliente.
I fattori complessità appena elencati necessitano la creazione di una piattaforma di firma che garantisca flessibilità, scalabilità e performance.
Un approccio normalmente utilizzato per la risoluzione dei problemi complessi è il principio “divide et impera”. La soluzione implementata prevede la divisione del processo BPM dalle funzionalità offerte tramite micro-servizi, questa divisione permette la definizione di funzionalità in modo astratto, indipendenti dalle nazioni in cui il servizio è utilizzato, centralizzando le specificità nel processo BPM.
I principali elementi sono:
I micro-servizi offrono API definite per essere ri-utilizzabili in diversi ambiti/nazioni offrendo servizi tecnici generici sviluppati una sola volta e rilasciati/utilizzati su più ambienti.
La separazione dei dati è implementata tramite l’uso di diverse istanze di micro-servizi e processi BPM divisi per country e rilasciati su Google Kubernetes Engine.
La componente di presentation è stata sviluppata tramite l’utilizzo di un framework semplice e leggero (ReactJS) il quale garantisce la possibilità di applicare un approccio a prototipizzazione.
L’utilizzo di processi BPM a più livelli garantisce la possibilità di creare processi su misura per ogni nazione (ed ambito di rilascio).
L’utilizzo di Kafka come piattaforma di streaming permette la creazione di una soluzione scalabile ed affidabile per la comunicazione asincrona fra micro-servizi.
La definizione e l'implementazione di una soluzione cloud-oriented basata su micro-servizi, Kubernetes e BPM ha permesso di raggiungere gli obiettivi di progetto:
La manutenibilità è garantita dall'adozione di micro-servizi.
Kubernetes garantisce la scalabilità delle funzionalità offerte dai micro-servizi.
Separazione fra processi e funzionalità da la possibilità di estendere in modo facile e limitando le regressioni sulle istanze in uso dei processi e micro-servizi.