Accedi / Registrati Account

Integrazione

Cos'è l'architettura guidata dagli eventi?

L'architettura guidata dagli eventi è uno stile architetturale software che funge da modello per la progettazione delle applicazioni. In un sistema event driven, l'acquisizione, la comunicazione, l'elaborazione e la persistenza degli eventi costituiscono i pilastri portanti della soluzione. Questa è la principale differenza rispetto a un modello request driven.

Molte progettazioni di applicazioni moderne sono guidate dagli eventi. Le app guidate dagli eventi possono essere create in qualsiasi linguaggio di programmazione perché l'essere event driven è un approccio alla programmazione, non un linguaggio. L'architettura guidata dagli eventi consente un livello minimo di associazione delle applicazioni, l'opzione ideale per le architetture moderne e distribuite.

Un'architettura guidata dagli eventi è a basso livello di associazione perché chi crea un evento (noto come producer eventi) non sa a chi verrà destinato e l'evento stesso non conosce le conseguenze che derivano dal suo verificarsi.


Cos'è un evento?

Per evento si intende qualsiasi avvenimento o variazione significativi nello stato del sistema hardware o software. Un evento non equivale alla notifica di un evento, che è costituita invece da un messaggio inviato dal sistema per notificare a un'altra parte del sistema il verificarsi di un determinato evento.

La fonte di un evento può essere interna o esterna. Gli eventi possono essere generati da un utente, come un clic o una battuta, da una fonte esterna, come l'output di un sensore o dal sistema, come il caricamento di un programma.


Come funziona un'architettura guidata dagli eventi?

Un'architettura guidata dagli eventi è composta da producer eventi e consumer eventi. Il producer rileva o percepisce un evento e lo rappresenta come messaggio. Non conosce il consumer né l'esito dell'evento stesso. 

Dopo il rilevamento di un evento, viene trasmesso dal producer eventi al consumer eventi attraverso i canali di eventi, dove una piattaforma di elaborazione degli eventi lo elabora in modo asincrono. Nel momento in cui si verifica un evento, i consumer eventi devono essere notificati e, successivamente, possono elaborarlo o semplicemente esserne coinvolti. 

La piattaforma di elaborazione degli eventi risponderà correttamente all'evento e invierà l'attività downstream ai consumer designati. L'attività downstream è dove viene visualizzato l'esito di un evento. 

Apache Kafka è una piattaforma distribuita di flussi di dati che viene utilizzata spesso per elaborare gli eventi ed è in grado di gestire flussi di eventi di pubblicazione, sottoscrizione ed elaborazione in tempo reale. Apache Kafka supporta una vasta gamma di esempi di utilizzo, che richiedono produttività e scalabilità elevate, e minimizzando il ricorso a integrazioni point-to-point per la condivisione dei dati in determinate applicazioni consente di ridurre la latenza a millisecondi. 

Esistono anche altri componenti di gestione eventi middleware disponibili sul mercato che possono essere utilizzati come piattaforme di elaborazione degli eventi.


Modelli di architettura guidata dagli eventi

Un'architettura guidata dagli eventi può essere basata su un modello pub/sub o di flusso di eventi.

Modello pub/sub

Si tratta di un'infrastruttura di messaggistica basata su sottoscrizioni a un flusso di eventi. Con questo modello, al suo verificarsi o in seguito alla sua pubblicazione, l'evento viene inviato ai sottoscrittori che devono essere informati.

Modello di flusso di eventi

Con un modello di flusso di eventi, gli eventi vengono annotati in un registro. I consumer eventi non effettuano la sottoscrizione a un flusso di eventi, ma possono leggere ogni parte del flusso e parteciparvi in qualsiasi momento. 

Di seguito sono riportate alcune tipologie di flussi di eventi:

  • L'elaborazione di flussi di eventi usa una piattaforma di flussi di dati, come Apache Kafka, per inserire gli eventi ed elaborarne o trasformarne il flusso. Questa tipologia di elaborazione può essere utilizzata per rilevare modelli significativi nei flussi degli eventi.
  • L'elaborazione semplice degli eventi avviene quando un evento attiva un'azione immediata da parte del consumer.
  • L'elaborazione complessa degli eventi richiede a un consumer eventi di elaborare una serie di eventi per rilevare dei modelli.

I vantaggi dell'architettura guidata dagli eventi

Un'architettura guidata dagli eventi può aiutare le organizzazioni a realizzare un sistema flessibile che consenta loro di trasformarsi prendendo anche decisioni in tempo reale. Disporre di informazioni in tempo reale significa poter sfruttare tutti i dati disponibili che riflettono lo stato attuale del tuo sistema per prendere qualsiasi decisione aziendale, sia essa manuale che automatizzata. 

Gli eventi vengono acquisiti dalle rispettive fonti, tra cui i dispositivi, le applicazioni e le reti dell'Internet of Things (IoT), man mano che si verificano e ciò consente ai producer e ai consumer eventi di condividere lo stato e le informazioni della risposta in tempo reale. 

Aggiungendo un'architettura guidata dagli eventi ai loro sistemi e applicazioni, le aziende sono in grado di migliorare la scalabilità e i tempi di risposta delle applicazioni nonché l'accesso ai dati e il contesto su cui far poggiare il processo decisionale.


Perché scegliere Red Hat per l'agile integration?

Le moderne architetture applicative cloud-native a basso livello di associazione e sviluppate attraverso i metodi agile e DevOps hanno bisogno di un approccio altrettanto agile e scalabile all'integrazione

Nella visione di Red Hat, l'agile integration è esattamente questo: un approccio al collegamento delle risorse che concilia tecnologie di integrazione, tecniche di distribuzione agili e piattaforme cloud-native per migliorare la velocità e la sicurezza della distribuzione di software. 

Red Hat propone piattaforme di integrazione e software di gestione in grado di connettere rapidamente tecnologie e microservizi esistenti in ambienti di cloud ibrido e supportare la tua architettura guidata dagli eventi con l'agile integration.

Le soluzioni Red Hat per l'integrazione

Red Hat Fuse logo

Red Hat Fuse è una piattaforma di integrazione distribuita che offre diverse opzioni di deployment: standalone, cloud e iPaaS. Consente a esperti di integrazione, sviluppatori di applicazioni e utenti aziendali di collaborare allo sviluppo di soluzioni connesse in modo indipendente e nell'ambiente che prediligono. La piattaforma agevola la collaborazione, l'accesso a risorse self service e l'applicazione della governance.

Red Hat AMQ

Red Hat® AMQ, basata su community open source come Apache ActiveMQ e Apache Kafka, è una piattaforma di messaggistica flessibile ed efficiente che, grazie all'integrazione in tempo reale e alla connessione all'Internet of Things (IoT), garantisce un'affidabile trasmissione delle informazioni.

Continua a scoprire l'integrazione con Red Hat