Riscrittura e modernizzazione del software per la gestione della qualità di Coop Italia

triangolo

Il cliente

Coop Italia è il Consorzio Nazionale delle Cooperative di consumatori.

Per conto delle Cooperative Associate, sviluppa politiche e strategie di marketing e comunicazione, gestisce la negoziazione e gli acquisti con i fornitori e sviluppa i prodotti a marchio Coop garantendo innovazione e controllandone qualità e sicurezza.

I numeri del sistema cooperativo della GDO

icons8-cooperativa-100

Una rete di 75 imprese cooperative

icons8-dipendenti-64

59.000 dipendenti

icons8-tessera-socio-80

6,3 milioni di Soci

icons8-famiglia-50

Oltre 1/4 delle famiglie italiane è socio Coop

icons8-euro-100

16,4 mld giro d'affari

icons8-prodotti-50

Oltre 5000 prodotti a marchio Coop

Gli obiettivi di progetto

Coop Italia aveva un’applicazione web legacy con architettura monolitica, scritta in Java EE e RichFaces e database Oracle.

Con questo software gestiva tutti gli aspetti legati al controllo della qualità come:

  •  la tracciatura delle visite ispettive
  • il rapporto con gli organi ufficiali di competenza
  • il rapporto con i manutentori dei punti vendita e laboratori di analisi
  • i documenti della rete di distribuzione
  • i provvedimenti come allerte alimentari o etichettature difettose e ritiri dalla vendita.

È chiaro quindi che l’applicativo gestiva aspetti fondamentali, legati alla salvaguardia della salute dei consumatori.

Il cliente aveva la necessità di razionalizzare l’applicazione, spacchettandola in più moduli e passare quindi a un’architettura a microservizi, in modo da separare questi componenti e renderli indipendenti tra loro.

Coop Italia voleva adottare un approccio lift and shift così da fare coesistere l’applicazione legacy con quella nuova fino al termine della migrazione.

L’architettura monolitica era diventata obsoleta: il cliente aveva bisogno di poter intervenire a caldo in modo da garantire continuità di servizio e migliorare gli aspetti legati alla sicurezza.

Coop Italia ha quindi scelto Omnia Group come partner tecnologico ideale per la conoscenza del business e la pluriennale esperienza nella modernizzazione software e nel passaggio ad architetture a microservizi.

Fasi progettuali e tecnologie utilizzate

Il team di Omnia Group ha in primis preso possesso del codice da modernizzare per studiare le entità coinvolte e le relazioni tra gli oggetti.

La situazione è apparsa subito complessa poiché non era chiara la separazione logica fra applicazione e database. Abbiamo quindi analizzato ogni funzionalità allo scopo di capire quali logiche erano sul database e quali sull’applicazione, abbiamo rimosso la logica dal DB e razionalizzato le connessioni al database (query, accesso di lettura e scrittura).

Abbiamo quindi diviso l’applicazione legacy in moduli, individuando le aree di business differenti e per ognuna abbiamo creato un microservizio e dei front-end specifici, entrambi configurati su container.

Sul piano tecnologico, abbiamo scritto un set di APIs ex-novo utilizzando il framework Spring lato back-end e delle applicazioni di front-end specifiche per ogni area, utilizzando Angular.

Migrando l’applicativo su tecnologie moderne siamo riusciti a sfruttare a pieno le potenzialità della pipeline DevSecOps del cliente e garantire in questo modo controlli di sicurezza sulle vulnerabilità applicative conformi alle policy aziendali e un controllo costante della qualità del codice tramite unit test e scansioni statiche, offrendo così al cliente un miglioramento continuo della qualità del parco applicativo.

I risultati

Grazie a questo progetto, Coop Italia si avvale ora di un’applicazione più efficiente a livello computazionale, ha modo di monitorare l’applicazione e osservarne le performance

Adottando un protocollo degli accessi più moderno e sicuro, il software risulta più protetto da eventuali accessi non voluti.

Grazie al set di APIs create, abbiamo disaccoppiato l’interfaccia dall’ottenimento dei dati così da esporli all’esterno riutilizzando il codice già presente, riducendo così la mole di lavoro e velocizzando le operazioni.

Grazie all’utilizzo delle pipeline, Coop Italia può contare sulla fattibilità di interventi a caldo senza discontinuità di servizio e una riduzione del time-to-market.

Grazie alla razionalizzazione delle logiche del database in uso, abbiamo eliminato la dipendenza verso sintassi proprietarie del DB, in modo da favorire un’eventuale dismissione dello stesso verso altre soluzioni.

Dal punto di vista della user experience, il nuovo applicativo ha un’interfaccia più moderna, più intuitiva e reattiva, facilitando così il lavoro degli addetti dei punti vendita e di back-office.

La testimonianza del cliente

Quali sono i punti di forza del servizio fornito da Omnia Group?

«Per quanto riguarda lo sviluppo:
-A fronte di un incarico di sviluppo, frequentemente Omnia Group propone più soluzioni tecniche. Questo consente di decidere a seconda delle priorità specifiche: solidità, tempi, aderenza agli standard.
-Profonda conoscenza dei sistemi Coop Italia e degli standard aziendali.
-Estremamente collaborativi e trasparenti anche quando lavorano in team misti con altre software house.»

«Per quanto riguarda l’Application Maintenance:
-Tempi di reazione alla segnalazione di bug ed anomalie veloci
-Orientati alla soddisfazione del cliente, facendo loro negli atteggiamenti e nella disponibilità a verifiche delle anomalie anche in fasce orarie straordinarie. Ovviamente a fronte di situazioni straordinarie.
-Trasparenti e precisi nella valutazione in termini di tempo e costi degli interventi.»

Barbara Bonasi, Responsabile Demand Pam e Qualità
Coop Italia – Direzione Sistemi Informativi

triangolo

Inizia subito

Contattaci

Raccontaci le tue esigenze o il progetto IT che hai in mente