Cloud

Migrazione da ESB Java Custom a Mule 4: una transizione efficace

Con il passare del tempo, un sistema nevralgico come l’ESB rischia di diventare complesso e poco manutenibile, specialmente quando nuovi sviluppi e modifiche si accumulano rapidamente. Sensei è intervenuta proprio in questo contesto, offrendo una soluzione di modernizzazione e stabilizzazione.

Sensei Team
location
Milano
industry
Editoria
technology
API-Led connectivity + Mule 4 + API manager + Anypoint Runtime Fabric

SHARE

Il contesto: la sfida per la modernizzazione digitale

Il cliente, un’importante azienda nel settore della gestione dei diritti d’autore e della raccolta dei compensi per artisti e autori, aveva intrapreso un progetto di modernizzazione della propria infrastruttura digitale. Obiettivo principale: costruire una base tecnologica solida per sostenere il futuro della digitalizzazione e ottimizzare i processi aziendali.

Tuttavia, l’infrastruttura ESB, sviluppata su una base Java legacy, presentava notevoli sfide di stabilità e governabilità, essendo stata soggetta a continue e rapide modifiche che avevano portato a un "spaghetti code" con documentazione incompleta.

Le problematiche riscontrate

L'esigenza critica era duplice: da una parte stabilizzare un sistema diventato difficilmente manutenibile, dall’altra migliorare la documentazione e introdurre metriche di monitoraggio delle performance per poter individuare tempestivamente eventuali rallentamenti. Il cliente gestiva più di 700 API distribuite su 25 processi che elaboravano oltre 10 milioni di transazioni mensili, una scala che rendeva particolarmente complessa la gestione di una migrazione.

In questo scenario, la mancanza di una documentazione precisa e aggiornata rappresentava un ulteriore ostacolo, rendendo arduo intervenire in caso di malfunzionamenti o guasti di sistema.

Migrazione da ESB Java Custom a Mule 4

Il nostro intervento: un processo in più step per la massima efficienza

Abbiamo adottato un approccio strategico per garantire il successo dell’intervento:

  1. Mappatura e documentazione: Il primo passo è stato censire completamente gli endpoint, raccogliendo dati da più fonti, inclusi i log applicativi e di sistema. Questo censimento ha permesso di individuare funzionalità obsolete, da deprecare o rimuovere, consentendo di stabilire una base stabile per la nuova documentazione.
  2. Approccio Document-Driven Design (DDD): Utilizzando Anypoint Platform di MuleSoft, abbiamo definito input e output di ciascun endpoint, formalizzandoli in RAML (RESTful API Modeling Language) per renderli accessibili anche a sviluppatori terzi. Questo approccio ha facilitato la comunicazione tra team e l’integrazione con sistemi esterni, rendendo l'intero sistema più trasparente e governabile.
  3. Implementazione della nuova logica di processo: Importando le specifiche documentate in Anypoint Studio, abbiamo riscritto la logica di processo per ogni endpoint, stabilendo un design API più robusto e resistente a futuri cambiamenti. Ogni nuova specifica e la documentazione sono state aggiornate in modo sincrono per garantire un allineamento costante.
  4. Migrazione graduale con reverse proxy: A causa della complessità e della dimensione del progetto, abbiamo implementato un rollout incrementale con l’utilizzo di un reverse proxy. Questo ha permesso la coesistenza del vecchio e del nuovo sistema, reindirizzando il traffico verso le nuove API una volta attivate, con possibilità di rollback sugli endpoint singoli in caso di problemi, minimizzando i rischi operativi.

transizione efficace

Le soluzioni tecniche adottate

Abbiamo impiegato le seguenti tecnologie per raggiungere gli obiettivi prefissati:

  • Anypoint Platform di MuleSoft: utilizzata per il design delle API, la gestione degli endpoint e la documentazione, ha consentito di organizzare e monitorare l’intero processo di migrazione.
  • Reverse Proxy: ha garantito un rollout incrementale, permettendo di reindirizzare le richieste verso endpoint specifici e mantenere la continuità operativa.
  • Formalizzazione in RAML: utilizzando un formato leggibile sia dagli sviluppatori che dai sistemi di integrazione, abbiamo migliorato la leggibilità e la tracciabilità delle API.

Risultati ottenuti

Grazie al nostro intervento, il cliente ha ottenuto i seguenti risultati:

  • Miglioramento della stabilità: il nuovo sistema, con un’architettura snella e una documentazione esaustiva, è diventato più stabile e facile da monitorare.
  • Maggiore governabilità: l’intero sistema è ora tracciato, documentato e organizzato in modo da consentire sviluppi successivi senza compromettere la struttura originale.
  • Monitoraggio delle performance: sono stati introdotti checkpoint per monitorare il sistema in tempo reale, permettendo di identificare e risolvere velocemente eventuali colli di bottiglia.

Conclusioni: una maturità in divenire

Il progetto, ora in fase evolutiva, ha raggiunto un livello di maturità tale da richiedere solo una squadra ridotta per la manutenzione. Il cliente ha manifestato soddisfazione per la stabilità e la governabilità raggiunte, elementi che hanno reso gli sviluppi futuri più agili e sicuri.

Sensei Team
Grazie all'implementazione di regole di rewrite precise per ogni endpoint e alla struttura stateless delle API REST, Sensei è riuscito a gestire efficacemente qualsiasi problema, effettuando rollback rapidi verso il sistema preesistente quando necessario. Questo ha permesso di mantenere i tempi di disservizio praticamente nulli. Siamo soddisfatti della loro capacità di garantire una transizione fluida e senza interruzioni significative.

TEAM BRAINS

Siamo persone entusiaste di natura e vogliamo circondarci di talento. Da Sensei si gioca in squadra e si guarda a ogni progetto con uno sguardo nuovo.

PellegrinoPellegrino

Backend Senior

Alchimista del bicchiere

Tommaso
Pellegrino

DiaconuDiaconu

Frontend Middle

Full stack caffeinomane

Lucian
Diaconu

ItalianoItaliano

Backend Junior

Analista del codice

Andrea
Italiano

ArmaniArmani

Backend Senior

Spacca protoni

Luca
Armani

LulaLula

Frontend Senior

Nomade dei concerti

Kristiana
Lula

BarrettaBarretta

Frontend Junior

Googlatore seriale

Salvatore
Barretta

BoltriBoltri

Backend Junior

Babbano per sbaglio

Luca
Boltri

LonghiLonghi

Integration Architect

Leggenda del rock in erba

Ivan
Longhi

MakkaMakka

Backend Middle

Bomber del calcio balilla

Fadli
Makka

MaccariMaccari

Backend Junior

Pantofolaio inquisitore

Paolo
Maccari

RussoRusso

Frontend Junior

Lasagna Architect

Vito
Russo

BitozziBitozzi

Backend Middle

Copia-incollatore a cottimo

Daniele
Bitozzi

CaimiCaimi

Backend Senior

Board Game addicted

Andrea
Caimi

De MolaDe Mola

Pl\sql Senior

Gattofilo incallito

Alberto
De Mola

MariniMarini

Backend Senior

Grinch in incognito

Fabrizio
Marini

PerrettiPerretti

Backend Senior

Accordatore di pianoforti

Marco
Perretti

PellegrinoPellegrino

Frontend Senior

Ingegnere della polemica

Luca
Pellegrino

RovereRovere

Backend Senior

Esploratore di nonluoghi

Andrea
Rovere

MeleMele

Integration Junior

Amante del trash televisivo

Diego
Mele

Di GennaroDi Gennaro

Backend Senior

Asso dei voli pindarici

Francesco
Di Gennaro

MessinaMessina

Frontend Senior

Sognatore su due ruote

Giuseppe
Messina

VirtuaniVirtuani

Frontend Senior

Cintura nera di polemica

William
Virtuani

RoccoRocco

Backend Senior

(Anti)social confectioner

Anna
Rocco

GET IN
TOUCH

Il nostro lavoro è trasformare le tue esigenze in soluzioni. 

Contattaci per progettare insieme quella più adatta a te.