Ogni organizzazione si reinventa progressivamente attraverso la Digital Transformation. Web, mobile, social, Artificial Intelligence e applicazioni IoT sono canali che creano valore, ma generano anche un impatto sui sistemi: il volume di chiamate, la velocità e l’accesso ai dati dai vari canali di Front End stanno mettendo in difficoltà i sistemi legacy e i mainframe.
La sfida dei CIO è riuscire a innovare e soddisfare le richieste del business vincendo i limiti dei sistemi legacy: vediamo come farlo utilizzando un layer applicativo basato su logiche event-driven.
Gestire i legacy con una soluzione event-driven
L’accelerazione digitale è oggi una necessità per ogni azienda: per ottenerla, possiamo introdurre un set di dati aggiornati in modo event-driven che permette alle applicazioni front-end di funzionare in modo veloce e affidabile.
Le soluzioni event-driven gestiscono i processi aziendali basandosi sugli eventi, ossia i cambiamenti di stato di un sistema software che attivano in risposta altri processi e azioni, senza dipendere da un determinato dato o tecnologia.
Questo è realizzabile costruendo un processo che replica l’accesso dei dati dei sistemi legacy attraverso un layer applicativo performante, lasciando i sistemi legacy interni inalterati e restituendo i dati in near real time: possiamo parlare di offloading dei legacy.
Il risultato è un’ottimizzazione delle performance dei sistemi dei canali digitali (applicazioni web o mobile) e della fruibilità dei dati, insieme alla garanzia di adeguate prestazioni dei canali frontend ed efficienza e resilienza del sistema grazie alle logiche asincrone.
Vediamo come si concretizza a livello di processo.
Introdurre un layer per l’offloading dei legacy
Per creare un layer applicativo in grado di sollevare i sistemi legacy dal carico delle chiamate del frontend, abbiamo bisogno di tre componenti:
Entriamo più nel dettaglio con uno schema:
I processi di un’azienda utilizzano i sistemi legacy: i dati che il legacy utilizza vengono conservati su database.
Per evitare che i frontend interroghino direttamente i legacy, risultando in una User Experience estremamente rallentata, inseriamo una componente Change Data Capture (CDC), che lavorando in modalità event-driven prende i dati di cambiamento e li passa ad Apache Kafka, piattaforma open source di data streaming per gestire e distribuire enormi flussi di dati provenienti da diverse sorgenti, ad alta velocità e a bassa latenza. L’aggiornamento di questi dati avviene in near real time.
È possibile espandere lo scenario: i dati possono arrivare a Kafka anche da altri canali, come per esempio via File e via API.
Abbiamo quindi due microservizi, orchestrati all’interno di Kubernetes: il primo è per la generazione delle rappresentazioni dei dati (microservizio Generator), ossia rappresentazioni astratte dei dati sparsi nei legacy. Queste rappresentazioni vengono inserite su MongoDB, un database high performance: via API, le applicazioni frontend accedono ai dati di cui hanno bisogno direttamente elaborati e aggregati, passando da un secondo microservizio di lettura delle rappresentazioni dei dati (microservizio Reader).
Tutto questo avviene in modo completamente indipendente dal funzionamento e dal carico dei sistemi legacy. Questo significa che tutto il carico delle applicazioni di frontend non impatta sul sistema legacy, arrivando perfino a contemplare il caso di indisponibilità di quest’ultimo nel quale i canali di frontend continuerebbero a funzionare con i dati già portati in MongoDB.
Perché scegliere una soluzione di questo tipo?
Performance e User Experience
Una soluzione di legacy offloading abilita una risposta quasi istantanea alle chiamate del frontend, migliorando esponenzialmente la User Experience: basandosi su un sistema performante con la possibilità di scalare, permette di rispondere al potenziale incremento del volume di accessi dai nuovi canali e dell’incremento del numero di utenti.
Agilità di sviluppo delle applicazioni di frontend
Un layer applicativo di legacy offloading basato sulle moderne tecnologie a API aiuta gli sviluppatori a implementare le nuove applicazioni più velocemente rispetto al modello di accesso al legacy/mainframe: questo agevola notevolmente le lavorazioni lato frontend.
Riduzione dei costi
Aumentare le risorse di un sistema legacy, come ad esempio Sistemi SAP, Oracle, AS-400 e simili, comporta costi molto alti: ridirigere le richieste di accesso ai dati dei nuovi sistemi di Front End dai legacy a un layer applicativo diverso può portare a un taglio fino al 20%-50% della riduzione delle chiamate dirette ai legacy / mainframe.
Scegliere una soluzione event-driven, secondo la nostra esperienza, è la chiave per costruire processi in grado di rispondere alle moderne sfide architetturali e di evolvere in base ai cambiamenti delle esigenze nel tempo.