Blog

La nostra raccolta di articoli e approfondimenti tecnici

Video

Una raccolta di video dai nostri eventi, webinar e molto altro

Use case

Una raccolta dei nostri Casi di successo

FAQ

FAQ Seacom — Open Source Enterprise: domande e risposte

Home / Risorse / Use Cases

Sviluppo di un servizio di notifica real-time basato su Kafka

 

Ambito

Real time processing, Data streaming

Industry

IT/ICT

Tecnologie

Generative AI, LLM

Benefit

Automazione dei processi

0

Scalabilità del sistema

Alta integrabilità

Overview

Seacom ha sviluppato per un’azienda operante nel settore IT/ICT un servizio di notifica real-time basato su Apache Kafka, progettato per adattarsi al contesto e alla piattaforma del cliente. Il progetto ha esteso le User Notification native di Liferay con funzionalità headless per la gestione delle notifiche sul portale Area RGS, accessibile tramite una single page application. L’architettura copre sia l’invio di messaggi email sia le notifiche web, garantendo automazione, affidabilità e scalabilità. Il beneficio principale è la riduzione dei tempi di consegna dei messaggi importanti, con un sistema completamente automatizzato e integrabile con ulteriori canali di notifica.

Challenge

La piattaforma del cliente non disponeva di un servizio di notifica integrato, elemento necessario per abilitare automatismi in grado di ridurre i tempi di consegna dei messaggi. Il progetto è stato inoltre vincolato dalla necessità di implementare un protocollo REST capace di comunicare correttamente con il server SMTP per l’invio delle email. Lo sviluppo è stato strutturato in due fasi distinte: nella Fase 1 è stata affrontata la gestione delle notifiche mail, mentre nella Fase 2 quella delle notifiche web. L’obiettivo era garantire un sistema headless, integrabile nel portale Area RGS di Liferay tramite SPA, senza intermediazioni manuali nell’invio dei messaggi.

Soluzione

L’architettura si basa su Apache Kafka, scelto per l’alto grado di adattabilità al contesto della piattaforma Liferay e per la capacità di controllare e conservare i messaggi in-memory attraverso topic dedicati. Kafka Streams gestisce il direzionamento dei messaggi verso i topic corrispondenti, analizzando gli header per applicare i controlli di conformità prima dell’invio. Le applicazioni client Kafka Consumer/Producer operano sui topic mail: in base all’Header-response ricevuto, instradano i messaggi verso il topic corretto, ad esempio verso il topic Failure in caso di errore 500, oppure verso il Server SMTP in caso di codice 200. Questo meccanismo di controllo di conformità sulla struttura dei messaggi garantisce l’identificazione rapida degli errori in fase di invio. I due applicativi sono stati deployati in ambiente Cloud Native, tramite pipeline di build e deploy automatizzate, assicurando un’architettura altamente integrabile e pronta per estensioni future, ad esempio verso OpenSearch per abilitare ulteriori tipologie di notifiche.

Risultati

Il servizio di notifica real-time basato su Kafka ha reso disponibile un sistema completamente automatizzato per l'invio di messaggi importanti, senza intermediazione, direttamente nella piattaforma Liferay, migliorando velocità ed efficienza per l'utente finale. I controlli di conformità implementati sugli applicativi Kafka Streams e Kafka Consumer/Producer garantiscono l'affidabilità del sistema, permettendo di identificare rapidamente eventuali errori in fase di invio. La gestione del carico dei cluster assicura scalabilità in vari contesti, senza perdita di performance. L'architettura, altamente integrabile grazie a Kafka, comunica oggi con protocollo REST e server SMTP, ed è pronta per integrare in futuro altri applicativi come OpenSearch.

AUTOMAZIONE NOTIFICHE

Invio automatizzato dei messaggi importanti senza intermediazione manuale, direttamente all'interno della piattaforma Liferay, con miglioramento di velocità ed efficienza per l'utente.

AFFIDABILITÀ DEL SISTEMA

Controlli di conformità sulla struttura dei messaggi tramite Kafka Streams, con identificazione rapida degli errori di invio grazie al topic dedicato Failure.

SCALABILITÀ DEI CLUSTER

Gestione del carico dei cluster Kafka che rende il sistema adattabile a diversi contesti applicativi, senza perdita di performance.

INTEGRABILITÀ FUTURA

Architettura pronta per integrare ulteriori applicativi come OpenSearch tramite Kafka, per abilitare nuove tipologie di notifiche oltre a email e web.

Risorse

Scarica il documento completo