Event Storming example

La Working Software Conference, in programma per il 14 giugno 2024 a Brescia, è un evento per coloro che desiderano approfondire le nuove frontiere della progettazione e dello sviluppo software. Quest’anno, siamo entusiasti di proporre il workshop “Da Event Storming a EventStore“, che si terrà il giorno prima della conferenza e sarà condotto da Alberto Acerbis, Ferdinando Santacroce e David Pinto.

Il contenuto del workshop

Il workshop, principalmente in lingua inglese, si prefigge di fornire ai partecipanti gli strumenti e le conoscenze necessarie per trasformare un’idea astratta in un’applicazione software scalabile, performante e di valore per i nostri clienti grazie ai principi del Domain Driven Design. L’evento inizia con un’immersione nel mondo dell’Event Storming, una tecnica collaborativa che consente di esplorare il dominio di un’applicazione coinvolgendo tutti gli stakeholder. Durante questa fase, i partecipanti avranno l’opportunità di lavorare insieme per identificare gli eventi chiave che caratterizzano un dominio, rappresentandoli attraverso gli intramontabili post-it colorati. Questa attività mira a favorire la condivisione delle conoscenze e la creazione di un linguaggio comune tra persone di business e tecnici, facilitando così la comprensione dei requisiti e la definizione della logica di business dell’applicazione.

Una volta acquisita una visione chiara del dominio, il workshop si concentra sulla trasformazione dei Domain Event emersi dall’Event Storming in codice eseguibile. I facilitatori guideranno i partecipanti attraverso le best practice e le tecniche più avanzate per scrivere codice pulito, manutenibile e aderente ai principi dell’EventSourcing.

Il vantaggi del Domain Driven Design

Ma perché scegliere un approccio basato sugli eventi nella progettazione del software? Durante il workshop, verranno esaminati i numerosi vantaggi di questo approccio, tra cui la scalabilità, la resilienza e la gestione semplificata delle transazioni complesse. I partecipanti avranno l’opportunità di comprendere come implementare efficacemente l’EventSourcing nei propri progetti e di sfruttare al meglio i benefici che ne derivano.

Un elemento cruciale di EventSourcing è la persistenza dei Domain Event generati dal codice. A tal fine, verrà introdotto EventStore, un database specializzato progettato per memorizzare e gestire eventi in modo affidabile ed efficiente. I partecipanti impareranno come utilizzare EventStore per archiviare i Domain Event e come sfruttarli per aggiornare il ReadModel, garantendo così una visione accurata e aggiornata dello stato dell’applicazione.

Separiamo le responsabilità

Il workshop esplorerà il pattern CQRS-ES (Command Query Responsibility Segregation – Event Sourcing) e il suo ruolo nel mantenere separata la parte di scrittura (o business logic) dalla parte di lettura dei dati. Combinando i principi di CQRS e Event Sourcing, creeremo un’architettura più scalabile, resiliente e flessibile.

Questo pattern prevede la creazione di comandi che, recepiti dal sistema, generano eventi che vengono memorizzati in un database  “append only” (Event Store). Questi eventi vengono quindi elaborati da uno o più gestori, che aggiornano lo stato dell’applicazione in base ai cambiamenti definiti dagli stessi.

A margine dell’Event Store, gli eventi aggiornano anche il ReadModel, un database separato e dedicato alle query che consente di leggere lo stato dell’applicazione in maniera diretta ed efficiente.

Vuoi partecipare?

“Da Event Storming a EventStore” è un’opportunità per acquisire competenze, confrontarsi con esperti e provare con mano l’approccio Domain Driven Design per creare software di successo, vi aspettiamo a Brescia il 13 giugno!

Per tutte le informazioni e prenotare il tuo posto visita la pagina dedicata, vi aspettiamo!

Costruisci il tuo percorso verso l’eccellenza tecnica