Porting di un portale di marketing su architetture e tecnologie moderne
Chi era il nostro cliente?
FIDA è stata incaricata da una delle maggiori compagnie assicurative tedesche, particolarmente nota per le sue polizze auto. Il compito era quello di sviluppare un'applicazione di facile utilizzo per gestire in modo centralizzato un gran numero di strumenti di marketing diversi.
Qual era la situazione iniziale?
Il reparto marketing della compagnia assicurativa utilizzava un gran numero di strumenti diversi per gestire, organizzare ed eseguire invii di massa attraverso vari canali come stampa, e-mail, SMS o push.
Qual era il nostro brief?
L'obiettivo era sviluppare una soluzione che semplificasse e centralizzasse il lavoro con i diversi strumenti. Al centro del progetto c'era la sostituzione dei fogli di calcolo Excel, che da tempo erano parte integrante dei processi di lavoro.
Come è stata progettata la nostra soluzione?
A questo scopo è stata creata un'applicazione portale che funge da punto di accesso centrale a tutti gli strumenti coinvolti per i dipendenti del reparto marketing e offre anche la gestione delle campagne per gli invii di massa dei vari canali.
In futuro, le campagne potranno essere create e gestite centralmente e arricchite con contenuti aggiuntivi e informazioni di controllo. D'ora in poi, l'intero processo, dalla selezione dei dati dei clienti al trasferimento dei dati di stampa di massa alla tipografia, potrà essere controllato e monitorato nell'applicazione.
La soluzione in dettaglio: architettura, sviluppo, gestione del progetto e sicurezza:
Nell'architettare la nuova soluzione, abbiamo dato grande importanza alla progettazione e all'implementazione di un portale di facile utilizzo. Lo sviluppo ha incluso sia il front-end che il back-end. Il portale funge da interfaccia centrale per gli utenti e semplifica l'interazione con le varie applicazioni.
Altrettanto importante è stata la perfetta integrazione delle applicazioni esterne nel portale, per garantire un flusso regolare di informazioni, nonché l'integrazione armoniosa del portale nell'infrastruttura esistente della compagnia assicurativa. Con la nostra soluzione, siamo riusciti a garantire la compatibilità con i sistemi e i processi esistenti.
Nella fase di programmazione del progetto è stata data particolare importanza all'implementazione del front-end, che è stato realizzato con Angular sotto forma di monorepository. Questa struttura consente di gestire diversi progetti correlati all'interno di un unico repository, migliorando la coerenza e la manutenibilità del codice. I componenti Web sono stati utilizzati per integrare la libreria di componenti di stile interna, garantendo una connessione flessibile e riutilizzabile degli elementi di design.
Per il backend, ci siamo affidati al robusto framework Spring Boot, che ha permesso uno sviluppo agile e una semplice manutenzione dei componenti del backend. Per la sicurezza dell'applicazione è stato implementato OAuth2 con Spring Security, che garantisce un elevato standard di autenticazione e autorizzazione.
Per la connessione al database, abbiamo utilizzato Spring Data/JPA, che ha permesso di gestire in modo efficiente e semplificato le operazioni sul database. Grazie a questa combinazione di tecnologie e framework, abbiamo creato un'architettura di backend potente e sicura, adattata in modo ottimale ai requisiti dell'organizzazione.
In termini di gestione del progetto, il rispetto dei formati Scrum o semi-agile era un chiaro requisito del cliente. Questo approccio ci ha aiutato a reagire in modo flessibile ai cambiamenti e a monitorare costantemente l'avanzamento del progetto. La metodologia agile Scrum ci ha aiutato a raggiungere in modo efficiente obiettivi specifici in sprint regolari.
Abbiamo utilizzato strumenti agili come JIRA e Confluence per ottimizzare l'organizzazione e la documentazione del progetto. JIRA è servito come strumento centrale per tracciare tutti i compiti, i bug e le attività, consentendoci di organizzare il flusso di lavoro in modo trasparente e comprensibile. Confluence, invece, è stato utilizzato come piattaforma di collaborazione dove abbiamo creato e condiviso documenti per raccogliere le conoscenze e rendere le informazioni accessibili a tutto il team. Grazie a questi strumenti, siamo riusciti a garantire che tutti i membri del team fossero sempre sulla stessa pagina e lavorassero insieme in modo efficiente, contribuendo in modo significativo al successo del progetto.
In termini di sicurezza, ci siamo concentrati sulla progettazione e sull'implementazione di meccanismi di autenticazione e autorizzazione per l'accesso ai singoli servizi. A tal fine, ci siamo basati sul protocollo OAuth2, che consente un accesso delegato sicuro ed è ampiamente utilizzato nel settore. Questo protocollo garantisce che gli utenti possano verificare la propria identità senza dover passare i propri dati di accesso direttamente ai servizi.
Abbiamo coordinato l'interazione tra i sistemi di Access Management (AM) e Identity Management (IM). In particolare, il sistema AM Forgerock è stato utilizzato per fornire servizi di autenticazione e autorizzazione, mentre l'IM con Active Directory (AD) e un sistema interno di gestione delle identità si è occupato dell'amministrazione e dell'archiviazione delle identità degli utenti. Questi processi sono stati implementati in stretta collaborazione e in più parti per garantire un'integrazione fluida e un elevato livello di sicurezza.
Inoltre, è stato implementato un concetto di autorizzazione per l'accesso tecnico. Questo concetto definisce come gli account e i sistemi tecnici debbano accedere l'uno all'altro, nonché alle applicazioni e ai dati, al fine di garantire l'integrità e la riservatezza dei sistemi. L'implementazione di questo concetto è stata fondamentale per garantire che solo i sistemi e i processi autorizzati siano in grado di interagire con gli elementi dell'infrastruttura critica, un elemento importante per mantenere la sicurezza generale del sistema.