Modellare un dominio applicativo può essere decisamente complesso; in questa sessione vedremo come Event Storming ed Event Sourcing permettono di prendere una idea, darle forma usando un rotolo di carta e dei post-it e tradurla in codice C# sfruttando BDD e Machine Specifications... alla velocità della luce.
Presentazione a 4 mani di Alberto Brandolini e Andrea Balducci.
TBDI 2014: LE REGIONI ITALIANE
SUI SOCIAL NETWORK moderatore: Lidia Marongiu @lidiamarongiu Socia Studio Giaccardi & Associati -Founder G&M Network Srl
Ringraziamo per la collaborazione:
Regione Basilicata @Basilicata_Tur Gianni Lacorazza Resp. Comunicazione e Web Apt Basilicata
Regione Marche @MarcheTourism Sandro Giorgietti Resp. Social Media Team Regione Marche
Regione Puglia @viaggiarepuglia @pugliaevents @WeAreinPuglia Carlo Caroppo Resp. Social Media Team Regione Puglia
Regione Toscana @visittuscany Kinzica Sorrenti Social Media Editor e Community Manager Fondazione Sistema Toscana
Regione Sicilia @visitsicilyop Roberta Iannì Funzionario direttivo Assessorato Turismo regione Sicilia - Servizio Comunicazione, marketing ed accoglienza
Regione Autonoma Valle d'Aosta www.vdamonamour.it Gabriella Morelli Programmazione strategica, sviluppo dell'offerta e promozione turistica Assessorato turismo VdA
Modellare un dominio applicativo può essere decisamente complesso; in questa sessione vedremo come Event Storming ed Event Sourcing permettono di prendere una idea, darle forma usando un rotolo di carta e dei post-it e tradurla in codice C# sfruttando BDD e Machine Specifications... alla velocità della luce.
Presentazione a 4 mani di Alberto Brandolini e Andrea Balducci.
TBDI 2014: LE REGIONI ITALIANE
SUI SOCIAL NETWORK moderatore: Lidia Marongiu @lidiamarongiu Socia Studio Giaccardi & Associati -Founder G&M Network Srl
Ringraziamo per la collaborazione:
Regione Basilicata @Basilicata_Tur Gianni Lacorazza Resp. Comunicazione e Web Apt Basilicata
Regione Marche @MarcheTourism Sandro Giorgietti Resp. Social Media Team Regione Marche
Regione Puglia @viaggiarepuglia @pugliaevents @WeAreinPuglia Carlo Caroppo Resp. Social Media Team Regione Puglia
Regione Toscana @visittuscany Kinzica Sorrenti Social Media Editor e Community Manager Fondazione Sistema Toscana
Regione Sicilia @visitsicilyop Roberta Iannì Funzionario direttivo Assessorato Turismo regione Sicilia - Servizio Comunicazione, marketing ed accoglienza
Regione Autonoma Valle d'Aosta www.vdamonamour.it Gabriella Morelli Programmazione strategica, sviluppo dell'offerta e promozione turistica Assessorato turismo VdA
This talk is about a real project for an Industry 4.0 assembly line for Electric Vehicles part manufacturing and what we learned in the making. We started with no prior knowledge of machine communication protocols and M2M integration patterns and ended with a fully clustered Supervision and Control information system. We had to fight with Purchase Managers buying the wrong stuff, incorrect documentation, last minute changes on the manufacturing stations, last second software specifications changes, IT Managers, manufacturing and logistics operators screaming "don't touch that switch", etc.. We're not survivors, all went as we planned in "the agile way": project delivered on time and operational from day 1.
Evento DevMarche su Eventsourcing (DDD + Stream Processing).
Presentazione del nuovo engine NStore per l'implementazione di un sistema in Eventsourcing multipiattaforma e multidatabase.
Evento DevMarche in Microsoft House del 7 Aprile 2017.
Dal discovery all'implementazione di un dominio applicativo utilizzando EventStorming, Modellathon e EventSourcing
Tecniche e tools per velocizzare il ciclo di sviluppo del software in ambito enterprise. Riassunto di quello che abbiamo imparato fino ad oggi nel realizzare Jarvis.
This talk is about a real project for an Industry 4.0 assembly line for Electric Vehicles part manufacturing and what we learned in the making. We started with no prior knowledge of machine communication protocols and M2M integration patterns and ended with a fully clustered Supervision and Control information system. We had to fight with Purchase Managers buying the wrong stuff, incorrect documentation, last minute changes on the manufacturing stations, last second software specifications changes, IT Managers, manufacturing and logistics operators screaming "don't touch that switch", etc.. We're not survivors, all went as we planned in "the agile way": project delivered on time and operational from day 1.
Evento DevMarche su Eventsourcing (DDD + Stream Processing).
Presentazione del nuovo engine NStore per l'implementazione di un sistema in Eventsourcing multipiattaforma e multidatabase.
Evento DevMarche in Microsoft House del 7 Aprile 2017.
Dal discovery all'implementazione di un dominio applicativo utilizzando EventStorming, Modellathon e EventSourcing
Tecniche e tools per velocizzare il ciclo di sviluppo del software in ambito enterprise. Riassunto di quello che abbiamo imparato fino ad oggi nel realizzare Jarvis.
1. 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-postittest-verdi
!1
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
25. basta
duplicare tutte le strutture dati
tenere tutto sincronizzato
!16
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
26. basta
duplicare tutte le strutture dati
tenere tutto sincronizzato
versionare tutto
!16
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
27. basta
duplicare tutte le strutture dati
tenere tutto sincronizzato
versionare tutto
un bel flag “comando io”
!16
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
28. basta
duplicare tutte le strutture dati
tenere tutto sincronizzato
versionare tutto
un bel flag “comando io”
mapping! mapping! mapping! (cit)
!16
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
37. A. var aggregate = repository.GetById<TAggregate>(id);
B. aggregate.Command(a,b,c);
C. repository.Save(aggregate, commitId, h => h.Add(k,v));
!25
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
38. A. var aggregate = repository.GetById<TAggregate>(id);
B. aggregate.Command(a,b,c);
C. repository.Save(aggregate, commitId, h => h.Add(k,v));
Store Commit
Commit
Headers
Event1
Event2
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!25
39. A. var aggregate = repository.GetById<TAggregate>(id);
B. aggregate.Command(a,b,c);
C. repository.Save(aggregate, commitId, h => h.Add(k,v));
Store Commit
Observers
Commit
Headers
Event1
Event2
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
Dispatch
Commit
Projections
Process Managers
Clients
!25
92. 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.”
Elogio alla community - @ste8
#CDays14 – Milano 25, 26 e 27 Febbraio 2014
!55