Passa al contenuto

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