event sourcing con neventstore
DESCRIPTION
Estratto tecnico del talk http://lanyrd.com/2014/cdays14/scxbbf/ fatto a quattro mani con @ziobrandoTRANSCRIPT
![Page 1: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/1.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Event Sourcing con NEventStore
Estratto “dev” del talk per i Community Days 2014 http://lanyrd.com/2014/cdays14/scxbbf/
Slide complete EventStorming+EventSourcing su http://www.slideshare.net/ziobrando/idea-postit-test-verdi
!1
![Page 2: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/2.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!2@andreabalducci
![Page 3: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/3.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!3
Il nostro dominio ha una storia
da raccontare…
![Page 4: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/4.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!4
…ma spesso ci accontentiamo dei titoli di coda
![Page 5: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/5.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!5
![Page 6: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/6.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!6
..invece di guardare tutta la storia.
![Page 7: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/7.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!7
![Page 8: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/8.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!8
Quante informazioni perdiamo ?
![Page 9: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/9.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Il saldo è 6.684€
!9
![Page 10: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/10.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!10
Data Dare Avere Descrizione operazione3/2 160
4/2 1.500
4/2 1.400
10/2 180
12/2 200
12/2 180
14/2 80
17/2 200
20/2 16
20/2 300
20/2 320
20/2 75
21/2 16
22/2 180
22/2 200
2.107 2.900 Saldo al 22/2 : 6.684
![Page 11: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/11.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
![Page 12: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/12.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
Due personeStessa Azienda
![Page 13: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/13.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
Due personeStessa Azienda
Carnivori
![Page 14: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/14.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
Due personeStessa Azienda
Carnivori
Auto senza telepass
![Page 15: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/15.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
Due personeStessa Azienda
Carnivori
Auto senza telepass
Lui & Lei
![Page 16: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/16.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
Due personeStessa Azienda
Lei compra entro un’ora da lui
Carnivori
Auto senza telepass
Lui & Lei
![Page 17: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/17.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!11
Data Dare Avere Descrizione operazione3/2 160 Supermercato Le Fornaci - Castelfidardo4/2 1.500 ACME Spa - Stipendio Gennaio4/2 1.400 ACME Spa - Stipendio Gennaio
10/2 180 Supermercato Le Fornaci - Castelfidardo12/2 200 Mediaworld Ancona12/2 180 Pittarello Ancona14/2 80 Ristorante Osteria da Pippo17/2 200 IperSimply- Castelfidardo20/2 16 Autostrade Spa - Casello Bologna20/2 300 Mediaworld Bologna20/2 320 Carpisa Bologna20/2 75 Hotel Bologna21/2 16 Autostrade Spa - Casello Ancona22/2 180 amazon.it22/2 200 zalando.it
2.107 2.900 Saldo al 22/2 : 6.684
Due personeStessa Azienda
24/2 spesa a Castelfidardo Lei compra entro
un’ora da lui
Carnivori
Auto senza telepass
Lui & Lei
![Page 18: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/18.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!12
Event Sourcing?
![Page 19: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/19.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!12
Event Sourcing?ne ho sentito parlare…
![Page 20: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/20.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Dominio
!13
![Page 21: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/21.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!14
Proprietà
Metodi
ORM
DB
Risorsa_1
Richiesta_1
Richiesta_2
Utente_1
Risorsa_2
Aggregato
![Page 22: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/22.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
ok.. basta una tabella di log
!15
![Page 23: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/23.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!16
basta
![Page 24: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/24.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!16
bastaduplicare tutte le strutture dati
![Page 25: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/25.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!16
bastaduplicare tutte le strutture datitenere tutto sincronizzato
![Page 26: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/26.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!16
bastaduplicare tutte le strutture datitenere tutto sincronizzatoversionare tutto
![Page 27: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/27.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!16
bastaduplicare tutte le strutture datitenere tutto sincronizzatoversionare tuttoun bel flag “comando io”
![Page 28: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/28.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!16
bastaduplicare tutte le strutture datitenere tutto sincronizzato
mapping! mapping! mapping! (cit)
versionare tuttoun bel flag “comando io”
![Page 29: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/29.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!17
basta uno storage ad eventi
![Page 30: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/30.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
NEventStoreA persistence agnostic Event Store for .NET
http://neventstore.org/
!18
![Page 31: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/31.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
CommonDomainla “colla” tra DDD e NEventStore
!19
![Page 32: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/32.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!20
Proprietà
Metodi
ORM
DB
Risorsa_1
Richiesta_1
Richiesta_2
Utente_1
Risorsa_2
Aggregato
![Page 33: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/33.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!21
Stato
Comandi
Eventi
Aggregato
Common Domain
Richiesta Creata
Richiesta Approvata
Prenotazione Confermata
PrenotazioneRespinta
Risorsa Acquistata
Risorsa Dismessa
EventStore
![Page 34: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/34.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!22
Evento
Quando
Cosa
Chi
Perché
Dove
![Page 35: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/35.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!23
Evento
Quando
Cosa
Chi
Perché
Dove
Timestamp: 2014-02-25T15:45
Headers: User_1
Aggregato: Presentazione
Slide Attiva: 1
PresentazioneIniziata
![Page 36: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/36.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!24
Evento
Quando
Cosa
Chi
Perché
Dove
Timestamp: 2014-02-25T15:45
Headers: User_1
Aggregato: Presentazione
Slide Attiva: 1
PresentazioneIniziata
![Page 37: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/37.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!25
A. var aggregate = repository.GetById<TAggregate>(id);
B. aggregate.Command(a,b,c);
C. repository.Save(aggregate, commitId, h => h.Add(k,v));
![Page 38: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/38.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!25
A. var aggregate = repository.GetById<TAggregate>(id);
B. aggregate.Command(a,b,c);
C. repository.Save(aggregate, commitId, h => h.Add(k,v));
Commit
Event1
Event2
Headers
Store Commit
![Page 39: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/39.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!25
A. var aggregate = repository.GetById<TAggregate>(id);
B. aggregate.Command(a,b,c);
C. repository.Save(aggregate, commitId, h => h.Add(k,v));
Commit
Event1
Event2
Headers
Store Commit
Observers
Dispatch Commit
Projections
Process Managers
Clients
![Page 40: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/40.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!26
Command
State
![Page 41: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/41.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!26
Command
State
Inte
rrog
azio
ne
ubiq
uito
us la
ngua
ge
![Page 42: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/42.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!26
Command
State
DomainException
Inte
rrog
azio
ne
ubiq
uito
us la
ngua
ge
![Page 43: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/43.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!26
Command
Event (ok)
State
DomainException
Inte
rrog
azio
ne
ubiq
uito
us la
ngua
ge
![Page 44: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/44.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!26
Command
Event (ko)Event (ok)
State
DomainException
Inte
rrog
azio
ne
ubiq
uito
us la
ngua
ge
![Page 45: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/45.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!26
Command
Event (ko)Event (ok)
State
Router
DomainException
Inte
rrog
azio
ne
ubiq
uito
us la
ngua
ge
![Page 46: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/46.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!27
Svantaggi
![Page 47: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/47.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
dipende..
!28
Quantità di codice
![Page 48: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/48.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!28
tantoQuantità di codice
![Page 49: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/49.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!28
tantoQuantità di codice
ma dannatamente semplice
![Page 50: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/50.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!29
Vantaggi
![Page 51: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/51.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!30
Focus sustruttura dati
![Page 52: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/52.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!30
Focus sucomportamento
![Page 53: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/53.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!30
Focus sucomportamentobusiness value
![Page 54: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/54.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!31
Decisioni prese sustato (stale)
![Page 55: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/55.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
stato corrente
!31
Decisioni prese su
![Page 56: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/56.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
stato corrente
!31
Decisioni prese su
by design
![Page 57: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/57.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
esponenziale
!32
Costo di implementazione
![Page 58: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/58.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!32
Costo di implementazionelineare
![Page 59: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/59.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!32
Costo di implementazionelineare
eventi++
![Page 60: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/60.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!33
complessoTesting
![Page 61: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/61.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!33
Testingfacile
![Page 62: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/62.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!33
Testingfacile
stato -> comando -> eventi
![Page 63: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/63.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!34
transazioni (tutto o niente)Collisioni
![Page 64: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/64.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!34
Collisionimerge intelligenti / replay
![Page 65: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/65.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!34
Collisionimerge intelligenti / replay
by design
![Page 66: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/66.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!35
batch / etl / ws ad hoc / triggerIntegrabilità
![Page 67: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/67.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!35
Integrabilitàevento -> subscriber
![Page 68: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/68.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!35
Integrabilitàevento -> subscriber
push o pull
![Page 69: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/69.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!36
![Page 70: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/70.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!37
![Page 71: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/71.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!38
![Page 72: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/72.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!38
![Page 73: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/73.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!38
![Page 74: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/74.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!38
![Page 75: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/75.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!39
Nei test runner diventa
![Page 76: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/76.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!40
Join the dots
![Page 77: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/77.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!41
![Page 78: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/78.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!42
Register Resource
Resource Registered
![Page 79: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/79.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!43
![Page 80: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/80.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!44
![Page 81: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/81.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!45
![Page 82: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/82.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!46
stato
Handler eventi
Interrogazioni allo stato in UL
![Page 83: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/83.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!47
![Page 84: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/84.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!48
![Page 85: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/85.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!49
![Page 86: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/86.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!50
![Page 87: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/87.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!51
![Page 88: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/88.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!52
![Page 89: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/89.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!53
Ricapitolando
![Page 90: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/90.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!53
NEventStore Common Domain
Machine Specifications
Event Storming
DDD
![Page 91: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/91.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!54
http://github.com/andreabalducci/cdays14
![Page 92: Event Sourcing con NEventStore](https://reader034.vdocument.in/reader034/viewer/2022051322/54565342b1af9fb66e8b4ed6/html5/thumbnails/92.jpg)
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Elogio alla community“…gli user group sono stati lo strumento che maggiormente mi hanno permesso di imparare sia come scrivere software in modo nettamente migliore, sia come affrontare le altre componenti relative alla gestione di un prodotto o di un progetto. Ciò è stato possibile grazie al dialogo e al confronto con persone intelligenti e disponibili a scambiare gratuitamente le proprie idee, opinioni ed esperienze, col coraggio di riportare anche quelle fallimentari, invece di chiudersi nel proprio orticello cercando di nascondere i propri segreti. Questo è lo scambio culturale, che porta ad un’effettiva crescita, a cui tutti coloro che svolgono la nostra professione farebbero bene a partecipare e contribuire.”
!55Elogio alla community - @ste8