SlideShare une entreprise Scribd logo
1  sur  144
Télécharger pour lire hors ligne
ALÅM AEKI
guida illustrata all’esplorazione di un dominio con

EventSourcing + EventStorming
Agenda
Selfie Gatto
Citazione personaggio famoso
GIF AnimateCitazioni film
xkcd
Citazione letteraria
@andreabalducci
Artigiani del software
Intranet 2.0
10+
filiali
100+
utenti
250.000+
pagine
Documentale
Enterprise Search
Calendari Personali e Condivisi
Ticket di assistenza
Richieste POS
Richieste WebBanking
Rubrica dinamica
Prenotazione attrezzature
Statistiche
Link Utili
Organigramma
Censimento IT
Single Sign-on
Pubblicazione ProdottiNotifiche push
Chat
Scambio files
Fare tutto …
… per il primo rilascio …
… perché …
… dobbiamo fare una sorpresa
agli utenti.
Ricapitolando
Ricapitolando
Ambito applicativo esteso
Tempo limitato
Gruppo di lavoro ristretto
Switch “Big Bang” dai sistemi in uso
Cliente Enterprise
Le condizioni ideali
solo per Schrödinger
x nessun gatto ha subito maltrattamenti nella realizzazione di questa applicazione.
Consigli?
Ok, let’s do it!
So
che lo
state pensando
Iniziamo con qualcosa
di semplice
Prenotazione
attrezzature
“Nothing surprises me;
I’m a scientist.”
(font approvato dal CERN)
ResourceTypes ResourcesUsers Reservations
4 Tabelle
Tabelle? Non è DDD!
ResourceTypes ResourcesUsers Reservations
4 Tabelle
ResourceType ResourceUser Reservation
4 Aggregati
ResourceType ResourceUser Reservation
4 Aggregati
ResourceType
Resource
User
Reservation
Aggregati
Value Objects
+
Tana!
(il pattern dei pattern)
e all’improvviso…
“Non l’abbiamo
evidenziato perché è
scontato che il software
lo faccia”
“Dobbiamo fare un
sistema migliore del
precedente, con più
funzionalità”
Statistiche utente / risorsa / tipologia
L’auto è in officina
Il PC non è configurato
Alla fine di una riunione la sala deve essere pulita prima di essere
nuovamente disponibile
Gli utenti prenotano le attrezzature disponibili…
…e il nostro ufficio decide a chi darle.
Un utente può annullare una prenotazione…
…ma noi dobbiamo confermare l’annullamento.
Alcune richieste hanno precedenza su altre
La berlina è riservata al C.D.A.
Storico delle prenotazioni
Notifiche ad ogni evento
Aggiungiamo un flag
Storicizziamo il dato
Gestiamo l’eccezione
Iniettiamo un servizio…
“Iniziamo con
qualcosa di semplice”
“E mo’ ?”
“Molte di quelle che chiamiamo difficoltà
non ci paiono tali se non perché non ci
vogliam torre la briga di cercare i mezzi,
spesso molto semplici e maneggevoli, che
basterebbero a superarle.”
!
Arturo Graf, Ecce Homo, 1908
“Molte di quelle che chiamiamo difficoltà
non ci paiono tali se non perché non ci
vogliam torre la briga di cercare i mezzi,
spesso molto semplici e maneggevoli, che
basterebbero a superarle.”
!
Arturo Graf, Ecce Homo, 1908
Primo indizio…
Secondo indizio…
Statistiche utente / risorsa / tipologia
L’auto è in officina
Il PC non è configurato
Alla fine di una riunione la sala deve essere pulita prima di essere
nuovamente disponibile
Gli utenti prenotano le attrezzature disponibili…
…e il nostro ufficio decide a chi darle.
Un utente può annullare una prenotazione…
…ma noi dobbiamo confermare l’annullamento.
Alcune richieste hanno precedenza su altre
La berlina è riservata al C.D.A.
Storico delle prenotazioni
Notifiche ad ogni evento
Notifiche ad ogni evento
Terzo indizio…
You can’t connect the dots
looking forward;!
!
you can only connect them
looking backwards.
Luglio 2013
@ziobrando
La mia idea era quella di focalizzarci su Event Storming
o comunque su tecniche / trucchi / etc che facilitino la
modellazione di un dominio.
Sto modellando flussi come se non ci fosse un domani..
E’ necessaria una sala con almeno una superficie utile di
grandi dimensioni. Utilizzeremo rotoli di carta per la
visualizzazione dei flussi e per la costruzione del modello.
Ciao Brando, ho visto su slideshare del materiale che
hai pubblicato. Vorrei organizzare un workshop sulla
modellazione.
…the whole thing exploded in summer 2013.
While I realised there was a lot of value in it, other
practitioners (Mathias Verraes, Tom Janssen, Marco
Heimeshoff, Yves Reynhout, Tomas Jaskula,
Alessandro Colla, Andrea Balducci, Jef Claes, just to
name a few) started exploring and playing with the
format with amazing results, leading me to the
conclusion that this is something more than “just
another workshop format”.
http://ziobrando.blogspot.it/2013/11/introducing-event-storming.html
…the whole thing exploded in summer 2013.
While I realised there was a lot of value in it, other
practitioners (Mathias Verraes, Tom Janssen, Marco
Heimeshoff, Yves Reynhout, Tomas Jaskula,
Alessandro Colla, Andrea Balducci, Jef Claes, just to
name a few) started exploring and playing with the
format with amazing results, leading me to the
conclusion that this is something more than “just
another workshop format”.
http://ziobrando.blogspot.it/2013/11/introducing-event-storming.html
Event Storming
is a workshop format for
Event Storming
quickly exploring complex business domains
proviamo a cambiare
il punto di vista
ALÅM AEKI
IKEA MÅLA
Le informazioni giuste..
http://blog.avanscoperta.it/it/2014/05/07/eventstorming-invite-the-right-people/
in poco tempo
valgono

un sacco*
* [sàc-co] s.m. - fig. fam. Ingente quantità, numero elevato
costano solo

21,87€*
* facilitatore non incluso nella confezione. Può creare Crea dipendenza.
Scegliete la parete più lunga
+
Il tempo scorre in questa direzione
Un pennarello a testa
Iniziamo a scrivere!
Domain
Event
Rappresenta qualcosa di
significativo accaduto nel
dominio.
Domain
Event
Richiesta

Approvata
Attacchiamo i primi eventi disponendoli sull’asse temporale
Richiesta

Approvata
Richiesta

Confermata
Richiesta

Respinta
Pro Tip

I post-it non si correggono
Command
Indica l’intento dell’utente
Command
Approva

Richiesta
Associamo ad ogni evento il comando relativo.
Approva

Richiesta
Pro Tip

Identificate chi attiva il comando
Pro Tip

Ogni tanto fate finta di non aver
capito… vogliamo osservare la
reazione dei partecipanti!
Read Model
Rappresenta il supporto
decisionale per l’utente
Read Model
Lista delle
attrezzature
disponibili
Il readmodel aiuta ad identificare le informazioni
necessarie all’utente per prendere decisioni
Lista delle attrezzature
disponibili
Ubiquitous
language
Definisce con precisione il
significato di ogni termine
Ubiquitous
language
Attrezzatura

Bene materiale
oggetto di
prenotazione
Attrezzatura

Bene materiale oggetto di
prenotazione
ambiguitàconvergenza sul significato dei termini
Defrag
Aggreghiamo i post-it
Defrag
Aggregato Aggregato
Bounded Context
Aggregato
Bounded Context
Invarianti
Sono le regole che non
possiamo violare
Invarianti
Non sono ammesse
prenotazioni
sovrapposte per
singola attrezzatura.
Aggregato Aggregato
Bounded Context
Aggregato
Bounded Context
Non sono ammesse
prenotazioni sovrapposte
per singola attrezzatura.
Pro Tip

Seguite il gruppo Eventstormers
https://plus.google.com/communities/
113258571348605620818
Problema smontato!
Ma non compila
http://xkcd.com/844/
Event Sourcing
“Capture all changes to an application state as a
sequence of events.”
Event Sourcing
http://martinfowler.com/eaaDev/EventSourcing.html
TimeRisorsa

Censita
Risorsa

resa
disponibile
Prenotazione

Inserita
Prenotazione

Approvata
Prenotazione

Inserita
Prenotazione

Confermata
Prenotazione

Non
Approvata
Risorsa

Dismessa
Risorsa

Censita
Risorsa

resa
disponibile
Prenotazione

Inserita
Prenotazione

Approvata
Prenotazione

Inserita
Prenotazione

Confermata
Prenotazione

Non
Approvata
Risorsa

Dismessa
Risorsa_1 Prenotazione_1 Prenotazione_2
Title : ”Budget 2014 - IT”,

LastModified : “2013-09-15”,

Tags : [],"
Author: “Board of Directors”,"
PublishedBy: null,

File: “Budget.xlsx”
Who: “Mr. Smith”, "
Why: “DocumentCreated”,"
When: “2013-09-15 18:35”,

What:{"
Title : ”Budget 2014 - IT”,

Author: “Board of Directors”,"
File: “Budget.xlsx” "
}
Who: “Mary J.”, "
Why: “RevisionAdded”,"
When: “2013-09-16 09:40”,

What: {

File: “Budget with Costs.xlsx”

}
Who: “Mary J.”, "
Why: “DocumentTagged”,"
When: “2013-09-16 09:40”,

What: {

Tags : [“Draft”, “Accounting”]

}
Who: “Luther Blissett”, "
Why: “RevisionAdded”,"
When: “2013-12-06 21:35”,

What: {

File: “Budget with Costs & Sales Forecast.xlsx”"
}
Who: “Luther Blissett”, "
Why: “DocumentTagged”,"
When: “2013-12-06 21:35”,

What: {

Tags : [“Budget”,”Sales”,“Accounting”]

}
Who: “Jane Doe”, "
Why: “DocumentPublished”,"
When: “2014-01-05 23:17”,

What : {

Title : “Budget 2014”

Tags : [“Budget”,”Sales”,“Accounting”]

}
TIME
Title : ”Budget 2014”,

LastModified : “2014-01-05”,

Tags : [“Budget”, “Sales”, “Accounting”],"
Author: “Board of Directors”,"
PublishedBy: “Jane Doe”,

File: “Budget with Costs & Sales Forecast.xlsx”
Title : ”Budget 2014 - IT”,

LastModified : “2013-09-16”,

Tags : [“Draft”, “Accounting”],"
Author: “Board of Directors”,"
PublishedBy: null,

File: “Budget with Costs.xlsx”
Title : ”Budget 2014 - IT”,

LastModified : “2013-12-06”,

Tags : [“Budget”,”Sales”,“Accounting”],"
Author: “Board of Directors”,"
PublishedBy: null,

File: “Budget with Costs & Sales Forecast.xlsx”"
Loss of Memory
15
Settembre
2013
16
Settembre
2013
12
Dicembre
2013
5
Gennaio
2014
6
Maggio
2014
CQRS
CQRS
“At its heart is a simple notion that you can use a
different model to update information than the model you
use to read information”
http://martinfowler.com/bliki/CQRS.html
Business Logic
Decision support system
IL database è una presenza aliena nel dominio
per molti è l’unica fonte di verità
per altri è il freno all’evoluzione del sistema
Query
CommandBusiness Logic
Decision support system
Command
Query
Estendiamo

Event Storming
Transizioni
Esploriamo le relazioni
tra comandi ed eventi
Transizioni
Aggregato Aggregato
Bounded Context
Aggregato
Bounded Context
Aggregato
if()
if()
Process

manager
Rappresenta un processo di
business complesso
Process

manager
Assegnazione
attrezzatura
Assegnazione
attrezzatura
Command Query Responsibility Segregation
Command
Process
Manager
Event
Event
Aggregate
Projections
Query
Model
Query
Model
Assegnazione
attrezzatura
Ma non compila ?
Assegnazione
attrezzatura
Lista delle attrezzature
disponibili
Approva

Richiesta
Richiesta

Approvata
Non sono ammesse
prenotazioni sovrapposte
per singola attrezzatura.
AssegnazioneAttrezzature
!
(process)
AttrezzatureDisponibili
!
(model)
ApprovaRichiesta
!
(command)
RichiestaApprovata
!
(event)
VietaPrenotazioniSovrapposte
!
(business rule)
Ok, bel pistolotto…
ma ha funzionato?
ReadModel
NEventStore
Intranet
Auth
Tools
Collaboration
DMS
Process"
Manager
Projections
MVC

WebApi
SignalR
Indexer
PdfPipeline
OfficePipeline
msg
query
pushhttp
write
eventcommand
CQRS + ES
grazie!
www.slideshare.net/andreabalducci
feedback => andrea.balducci@prxm.it

Contenu connexe

Tendances

ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiAndrea Dottor
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftMassimo Bonanni
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerAlessandro Alpi
 
Meetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure FunctionsMeetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure Functionsdotnetcode
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelAndrea Tosato
 
ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%DomusDotNet
 
Intelligenza artificiale nel mondo front-end - CodeGen2021
Intelligenza artificiale nel mondo front-end - CodeGen2021Intelligenza artificiale nel mondo front-end - CodeGen2021
Intelligenza artificiale nel mondo front-end - CodeGen2021Michele Aponte
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - PrismDotNetMarche
 
Web Api – The HTTP Way
Web Api – The HTTP WayWeb Api – The HTTP Way
Web Api – The HTTP WayLuca Milan
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!DotNetCampus
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automationDotNetCampus
 
Progettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignProgettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignSalvatore Paone
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Andrea Agnoletto
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal WebtrendsStefano Iaboni
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-templateDotNetCampus
 
Actions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversActions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversLorenzo Giudici
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoAndrea Dottor
 

Tendances (20)

Microsoft Fast - Overview
Microsoft Fast - OverviewMicrosoft Fast - Overview
Microsoft Fast - Overview
 
ASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivatiASP.NET Core - dove siamo arrivati
ASP.NET Core - dove siamo arrivati
 
Wcf data services
Wcf data servicesWcf data services
Wcf data services
 
Soluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie MicrosoftSoluzioni IoT con le tecnologie Microsoft
Soluzioni IoT con le tecnologie Microsoft
 
DotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql ServerDotNetCampus - Continuous Integration con Sql Server
DotNetCampus - Continuous Integration con Sql Server
 
Meetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure FunctionsMeetup DotNetCode A.I. Bot Framework and Azure Functions
Meetup DotNetCode A.I. Bot Framework and Azure Functions
 
Introduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor ModelIntroduzione a Service Fabric e Actor Model
Introduzione a Service Fabric e Actor Model
 
ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%ASP.NET MVC: sfruttare la piattaforma al 100%
ASP.NET MVC: sfruttare la piattaforma al 100%
 
Intelligenza artificiale nel mondo front-end - CodeGen2021
Intelligenza artificiale nel mondo front-end - CodeGen2021Intelligenza artificiale nel mondo front-end - CodeGen2021
Intelligenza artificiale nel mondo front-end - CodeGen2021
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - Prism
 
Akka.net & Actor Model
Akka.net & Actor ModelAkka.net & Actor Model
Akka.net & Actor Model
 
Web Api – The HTTP Way
Web Api – The HTTP WayWeb Api – The HTTP Way
Web Api – The HTTP Way
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
 
Javascript task automation
Javascript task automationJavascript task automation
Javascript task automation
 
Progettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web DesignProgettare in Team per il Responsive Web Design
Progettare in Team per il Responsive Web Design
 
Blazor: are we ready for the launch?
Blazor: are we ready for the launch?Blazor: are we ready for the launch?
Blazor: are we ready for the launch?
 
Training Signal Webtrends
Training Signal WebtrendsTraining Signal Webtrends
Training Signal Webtrends
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
Actions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET loversActions on Google e Alexa skills per .NET lovers
Actions on Google e Alexa skills per .NET lovers
 
Windows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppoWindows azure - abbattere tempi e costi di sviluppo
Windows azure - abbattere tempi e costi di sviluppo
 

En vedette

Layered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRSLayered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRSAndrea Saltarello
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelFrancesca1980
 
"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture
"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture
"Don't call us, we'll call you" - AngularJS meets Event-Driven ArchitectureLuca Milan
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRSManuel Scapolan
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)Sabino Labarile
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Manuel Scapolan
 
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventi
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventiStrumenti di event driven analytics-sistemi evoluti di analisi degli eventi
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventiGabriele Marazzi
 
Architetttura Della Soluzione
Architetttura Della SoluzioneArchitetttura Della Soluzione
Architetttura Della SoluzioneLuca Milan
 

En vedette (13)

Layered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRSLayered Expression Trees feat. CQRS
Layered Expression Trees feat. CQRS
 
Java scriptpatterns
Java scriptpatternsJava scriptpatterns
Java scriptpatterns
 
Loosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain modelLoosely Coupled Complexity - Unleash the power of your domain model
Loosely Coupled Complexity - Unleash the power of your domain model
 
"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture
"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture
"Don't call us, we'll call you" - AngularJS meets Event-Driven Architecture
 
Knockout.js
Knockout.jsKnockout.js
Knockout.js
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 
SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)SUE AGILE Architettura (Italiano)
SUE AGILE Architettura (Italiano)
 
NOSQL
NOSQLNOSQL
NOSQL
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
 
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventi
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventiStrumenti di event driven analytics-sistemi evoluti di analisi degli eventi
Strumenti di event driven analytics-sistemi evoluti di analisi degli eventi
 
Optimized for what
Optimized for whatOptimized for what
Optimized for what
 
Architetttura Della Soluzione
Architetttura Della SoluzioneArchitetttura Della Soluzione
Architetttura Della Soluzione
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 

Similaire à [Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourcing & Event Storming

Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...Roberto Scano
 
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei datiDispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei datiMoreno Gentili
 
NextCode 31 marzo 2021
NextCode 31 marzo 2021NextCode 31 marzo 2021
NextCode 31 marzo 2021Mauro Bennici
 
Web Application Insecurity Uncensored
Web Application Insecurity UncensoredWeb Application Insecurity Uncensored
Web Application Insecurity Uncensoredjekil
 
Evento ConsulPartner - Polo PN - 15-11-2013
Evento ConsulPartner - Polo PN - 15-11-2013Evento ConsulPartner - Polo PN - 15-11-2013
Evento ConsulPartner - Polo PN - 15-11-2013ConsulPartner iSrl
 
ETL on Cloud: Azure Data Factory
ETL on Cloud: Azure Data FactoryETL on Cloud: Azure Data Factory
ETL on Cloud: Azure Data FactoryLeonardo Marcucci
 
Creatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessCreatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessRita Bonucchi
 
Speciale server storage office automation giugno 2013
Speciale server storage office automation  giugno 2013Speciale server storage office automation  giugno 2013
Speciale server storage office automation giugno 2013Claudio Nasti ✔
 
Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Nicola Costantino
 
Come affrontare la sfida del Cloud Computing
Come affrontare la sfida del Cloud ComputingCome affrontare la sfida del Cloud Computing
Come affrontare la sfida del Cloud ComputingInnocenti Andrea
 
Event based modelling and prototyping
Event based modelling and prototypingEvent based modelling and prototyping
Event based modelling and prototypingAndrea Balducci
 
Predictive Maintenance per le aziende del nord-est con Azure e IoT
Predictive Maintenance per le aziende del nord-est con Azure e IoTPredictive Maintenance per le aziende del nord-est con Azure e IoT
Predictive Maintenance per le aziende del nord-est con Azure e IoTMarco Parenzan
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Carlo Beschi
 
Maurizio Savoca DocFlow
Maurizio Savoca DocFlowMaurizio Savoca DocFlow
Maurizio Savoca DocFlowDOCFLOW
 
Cicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbotCicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbotPaolo Montrasio
 
DevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementDevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementRoberto Albano
 
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo Agile
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo AgileDDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo Agile
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo AgileDrupalDay
 

Similaire à [Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourcing & Event Storming (20)

Alam aeki 2015
Alam aeki 2015Alam aeki 2015
Alam aeki 2015
 
Open domus 2016
Open domus 2016Open domus 2016
Open domus 2016
 
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
Come evolverà il Web? Consigli su come non rimanere disoccupati nel giro di p...
 
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei datiDispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
Dispositivi e Azure IoT Suite: prendere decisioni con l'aiuto dei dati
 
NextCode 31 marzo 2021
NextCode 31 marzo 2021NextCode 31 marzo 2021
NextCode 31 marzo 2021
 
Web Application Insecurity Uncensored
Web Application Insecurity UncensoredWeb Application Insecurity Uncensored
Web Application Insecurity Uncensored
 
Evento ConsulPartner - Polo PN - 15-11-2013
Evento ConsulPartner - Polo PN - 15-11-2013Evento ConsulPartner - Polo PN - 15-11-2013
Evento ConsulPartner - Polo PN - 15-11-2013
 
ETL on Cloud: Azure Data Factory
ETL on Cloud: Azure Data FactoryETL on Cloud: Azure Data Factory
ETL on Cloud: Azure Data Factory
 
Creatività applicata e innovazione nel business
Creatività applicata e innovazione nel businessCreatività applicata e innovazione nel business
Creatività applicata e innovazione nel business
 
Speciale server storage office automation giugno 2013
Speciale server storage office automation  giugno 2013Speciale server storage office automation  giugno 2013
Speciale server storage office automation giugno 2013
 
Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"Alice in WordPressLand - "We're all mad here"
Alice in WordPressLand - "We're all mad here"
 
Come affrontare la sfida del Cloud Computing
Come affrontare la sfida del Cloud ComputingCome affrontare la sfida del Cloud Computing
Come affrontare la sfida del Cloud Computing
 
Event based modelling and prototyping
Event based modelling and prototypingEvent based modelling and prototyping
Event based modelling and prototyping
 
Predictive Maintenance per le aziende del nord-est con Azure e IoT
Predictive Maintenance per le aziende del nord-est con Azure e IoTPredictive Maintenance per le aziende del nord-est con Azure e IoT
Predictive Maintenance per le aziende del nord-est con Azure e IoT
 
Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]Lean Web Solutions with WP [versione italiana]
Lean Web Solutions with WP [versione italiana]
 
Maurizio Savoca DocFlow
Maurizio Savoca DocFlowMaurizio Savoca DocFlow
Maurizio Savoca DocFlow
 
Html5
Html5Html5
Html5
 
Cicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbotCicerus - una piattaforma per lo sviluppo di chatbot
Cicerus - una piattaforma per lo sviluppo di chatbot
 
DevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementDevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile Engagement
 
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo Agile
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo AgileDDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo Agile
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo Agile
 

Plus de Andrea Balducci

Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019Andrea Balducci
 
Stranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarcheStranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarcheAndrea Balducci
 
Storage dei dati con MongoDB
Storage dei dati con MongoDBStorage dei dati con MongoDB
Storage dei dati con MongoDBAndrea Balducci
 
Italian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - ModellathonItalian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - ModellathonAndrea Balducci
 
TypeScript intro / mobile dev camp
TypeScript intro / mobile dev campTypeScript intro / mobile dev camp
TypeScript intro / mobile dev campAndrea Balducci
 
Mongo db halloween party
Mongo db halloween partyMongo db halloween party
Mongo db halloween partyAndrea Balducci
 
Event Sourcing con NEventStore
Event Sourcing con NEventStoreEvent Sourcing con NEventStore
Event Sourcing con NEventStoreAndrea Balducci
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAndrea Balducci
 
Introduzione ai framework ioc
Introduzione ai framework iocIntroduzione ai framework ioc
Introduzione ai framework iocAndrea Balducci
 

Plus de Andrea Balducci (14)

Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019Agile Industry 4.0 - IoT Day 2019
Agile Industry 4.0 - IoT Day 2019
 
Inception
InceptionInception
Inception
 
Stranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarcheStranger Streams | NStore @ DevMarche
Stranger Streams | NStore @ DevMarche
 
Storage dei dati con MongoDB
Storage dei dati con MongoDBStorage dei dati con MongoDB
Storage dei dati con MongoDB
 
Italian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - ModellathonItalian Agile Days 2016 - Modellathon
Italian Agile Days 2016 - Modellathon
 
Oktober webfest
Oktober webfestOktober webfest
Oktober webfest
 
TypeScript intro / mobile dev camp
TypeScript intro / mobile dev campTypeScript intro / mobile dev camp
TypeScript intro / mobile dev camp
 
Typescript intro
Typescript introTypescript intro
Typescript intro
 
Mongo db halloween party
Mongo db halloween partyMongo db halloween party
Mongo db halloween party
 
Event Sourcing con NEventStore
Event Sourcing con NEventStoreEvent Sourcing con NEventStore
Event Sourcing con NEventStore
 
Intel AppUp Day Bologna
Intel AppUp Day BolognaIntel AppUp Day Bologna
Intel AppUp Day Bologna
 
Asp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community TourAsp.Net MVC 2 :: VS 2010 Community Tour
Asp.Net MVC 2 :: VS 2010 Community Tour
 
Introduzione ai framework ioc
Introduzione ai framework iocIntroduzione ai framework ioc
Introduzione ai framework ioc
 
jQuery Ecosystem
jQuery EcosystemjQuery Ecosystem
jQuery Ecosystem
 

Dernier

Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 

Dernier (9)

Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 

[Alam aeki] Guida illustrata alla modellazione di un dominio con Event Sourcing & Event Storming