UBI BANCA
- CONTESTO E OBIETTIVI - UBI Banca, uno dei cinque principali gruppi bancari italiani, stava sviluppando una nuova piattaforma home banking web e mobile. Abbiamo progettato e implementato un framework proprietario di performance monitoring per guidare il team di sviluppo attraverso dati oggettivi e misurabili sin dalle prime fasi del ciclo di vita del software, eliminando i rischi di degrado delle performance prima del rilascio in produzione.
- SOLUZIONI IMPLEMENTATE - Abbiamo sviluppato MacJyver, una suite proprietaria basata su bytecode instrumentation per la raccolta automatizzata di centinaia di metriche JVM. Abbiamo integrato un framework di test automation frontend con Karma, Protractor e Selenium, correlando le performance del layer AngularJS con quelle del backend JEE. Abbiamo introdotto una metodologia APM sistematica applicata all'intero ciclo di testing, con analisi forense grafica dello stack tree e report di ottimizzazione continuativi per il team di sviluppo.
- SFIDE - Non esistevano sul mercato strumenti pronti all'uso in grado di soddisfare i requisiti specifici del progetto, rendendo necessario lo sviluppo di una soluzione proprietaria. La correlazione delle metriche frontend e backend in un sistema distribuito complesso ha richiesto un approccio architetturale innovativo. Operare come subfornitore di Oracle ha imposto standard di consegna e qualità particolarmente elevati, con piena visibilità sul cliente finale bancario.
- SUCCESSI - Il framework ha prodotto un miglioramento medio delle performance del +400% su tutti i componenti della piattaforma, con picchi fino a +8.000% sui componenti AngularJS critici. Il metodo di sviluppo del team UBI è stato trasformato da reattivo a data-driven e misurabile. MacJyver è diventato un asset tecnologico proprietario riutilizzato con successo in progetti successivi, consolidando il posizionamento come centro di eccellenza APM nel settore bancario italiano.
- TECNOLOGIE - Bytecode Instrumentation, JVM Internals, JEE, AngularJS, Karma, Protractor, Selenium, MacJyver Suite (proprietario).
APPROFONDISCI
CONTESTO E OBIETTIVI
UBI Banca, uno dei cinque principali gruppi bancari italiani, stava realizzando una nuova piattaforma home banking web e mobile basata su tecnologie JEE per il backend e AngularJS per il frontend. Il progetto richiedeva un sistema di monitoraggio automatizzato delle performance capace di guidare il team di sviluppo attraverso dati oggettivi e misurabili, sin dalle primissime fasi del ciclo di sviluppo software.
K-Tech è stata incaricata da Oracle — system integrator principale del progetto — di progettare e implementare il framework di performance monitoring per entrambi i layer applicativi. La sfida principale consisteva nel rilevare e quantificare i problemi di performance in un sistema distribuito complesso prima che questi si manifestassero in produzione, in assenza di strumenti di mercato adeguati ai requisiti specifici del progetto.
SOLUZIONI IMPLEMENTATE
- Sviluppo della Suite MacJyver: realizzazione di un agent proprietario basato su bytecode instrumentation per la raccolta non invasiva di centinaia di metriche JVM aggregate per intervalli di 15 secondi — inclusi tempi min/max di esecuzione dei metodi, numero di esecuzioni per intervallo e grado di concorrenza.
- Analisi Forense delle Sessioni di Test: implementazione di rappresentazioni grafiche dello stack tree con waterfall temporale, consentendo root cause analysis precisa e identificazione precoce dei colli di bottiglia.
- Framework di Test Automation Frontend: integrazione di Karma, Protractor e Selenium nei test unitari e di integrazione del layer AngularJS, con correlazione diretta alle metriche backend.
- Metodologia APM End-to-End: applicazione sistematica dell'Application Performance Management all'intero ciclo di testing, trasformando il processo di sviluppo da reattivo a data-driven.
- Report e Ottimizzazione Continua: produzione di report di performance e raccomandazioni operative per il team di sviluppo, con impatto misurabile sulla qualità del prodotto finale.
- Asset Tecnologico Riutilizzabile: MacJyver è stato successivamente adottato in altri progetti — tra cui Telecom/ISTAT e Autostrade — diventando un asset strategico proprietario di valore per l'azienda.
SFIDE
- Nessuno strumento di mercato soddisfaceva i requisiti: necessità di sviluppare una soluzione APM completamente proprietaria da zero
- Correlazione frontend-backend in un sistema distribuito complesso, con due stack tecnologici eterogenei (AngularJS + JEE) da misurare in modo integrato
- Operare come subfornitore di Oracle con piena visibilità sul cliente bancario finale, imponendo standard di qualità e consegna particolarmente elevati
- Rilevare e quantificare problemi di performance prima che emergessero in produzione, in assenza di precedenti o benchmark di riferimento
SUCCESSI
- Miglioramento medio delle performance del +400% su tutti i componenti, con picchi fino a +8.000% sui componenti AngularJS critici
- Trasformazione del metodo di lavoro del team UBI: da sviluppo reattivo a processo data-driven e misurabile con dati oggettivi
- MacJyver è diventato un asset tecnologico proprietario riutilizzato con successo in progetti successivi (Telecom/ISTAT, Autostrade), generando valore oltre il perimetro del singolo progetto
- Consolidamento del posizionamento come centro di eccellenza APM nel settore bancario italiano, con Oracle come committente diretto