SlideShare une entreprise Scribd logo
1  sur  19
CQRS + EVENT
SOURCING

Des concepts
de design
pour une
architecture à
toute épreuve
SÉPARATION DES COMMANDES ET REQUÊTES

© Pyxis Technologies inc.

2
SYSTÈME TRADITIONNEL
Données
relationnelles
Mise à jour BD

Logique
d’affaire

CRUD

Interface
usager
© Pyxis Technologies inc.

3
PROBLÈMES

© Pyxis Technologies inc.

4
POURQUOI CONTINUE-T-ON?

© Pyxis Technologies inc.

6
POURQUOI CONTINUE-T-ON?

© Pyxis Technologies inc.

7
CONFIANCE…

© Pyxis Technologies inc.

8
SYSTÈME TRADITIONNEL
Données
relationnelles
Mise à jour BD

Logique
d’affaire

CRUD

Interface
usager
© Pyxis Technologies inc.

9
SÉPAR AT IO N D ES C OMMAN D ES ET D ES R EQU ÊTES
Données
relationnelles
Mise à jour BD
Logique
d’affaire

Requêtes

Commandes
Interface
usager
© Pyxis Technologies inc.

10
CQRS -

C O M M A N D A N D Q U E R Y R E S P O N S A B I L I T Y S E G R E G AT I O N

Données
relationnelles
Mise à jour BD

Modèle de
lecture

Domaine

Gestion des
commandes

Requêtes

Commandes
Interface
usager
© Pyxis Technologies inc.

11
PASSONS À L’ACTION
 Utiliser des verbes pas des noms
 Il faut analyser comment l’usager utilisera le système

 Pas d’édition de données mais plutôt des actions sur le
domaine
 Passer des commandes
 Message sérialisable
 Mode impératif
 Langage clairement défini

 Est-ce qu’une commande peut être refusée?

© Pyxis Technologies inc.

12
CQRS
 Commandes
 Change l’état du système
 Asynchrone (pour le meilleur et pour le pire)

 Requêtes







Ne change pas le système
Modèle dénormalisé
Distribuable (Charding)
Scalable
Représente au moins 90% des accès au système
Performance

© Pyxis Technologies inc.

13
EST-CE QU’ON A TERMINÉ?

© Pyxis Technologies inc.

14
CQRS -

C O M M A N D A N D Q U E R Y R E S P O N S A B I L I T Y S E G R E G AT I O N

Données
relationnelles
Mise à jour BD

Modèle de
lecture

Domaine

Gestion des
commandes

Requêtes

Commandes
Interface
usager
© Pyxis Technologies inc.

15
CQRS + EVENT SOURCING

Événements

Dénormaliseur

Event Store

Gestion
d’événements

Service BUS

XML

SQL
HTML

Modèle de
lecture

Domaine

Gestion des
commandes

Requêtes

Commandes
Interface
usager
© Pyxis Technologies inc.
EVENT SOURCING







Modélise le comportement non pas la structure
Séquentiel et cumulatif
Peut rejouer les événements
Ajout seulement
Possible de construire n’importe quel modèle structuré
Audit

© Pyxis Technologies inc.

17
LES ÉVÉNEMENTS
 Rolling Snapshot
 Optimisation

 Aggregate root
 Transaction garantie uniquement dans ce cadre
 Construit à partir des événement
 Commandes
 ApplyEvent

 Events
 Ne peux pas échouer
 Aucune logique à appliquer

© Pyxis Technologies inc.

18
CQRS PIPELINE

Event store

User interface

Commands

© Pyxis Technologies inc.

Domain changes

Events

Denormalizer

Read models
LA FIN
 Questions?
 Rappelez-vous
 Les événements sont la seule vérité
 Le cœur du système est le domaine
 Le modèle de lecture est flexible et volatile

 Eric De Carufel
 eric@decarufel.net
 http://blog.decarufel.net
 http://pyxis-tech.com

© Pyxis Technologies inc.

20

Contenu connexe

Tendances

Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
boulonvert
 

Tendances (20)

Apache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performantApache Kafka, Un système distribué de messagerie hautement performant
Apache Kafka, Un système distribué de messagerie hautement performant
 
Introduction aux architectures des SI
Introduction aux architectures des SI Introduction aux architectures des SI
Introduction aux architectures des SI
 
Chp3 - ESB
Chp3 - ESBChp3 - ESB
Chp3 - ESB
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Modélisation de données pour MongoDB
Modélisation de données pour MongoDBModélisation de données pour MongoDB
Modélisation de données pour MongoDB
 
Architecture réparties et les services web
Architecture réparties et les services webArchitecture réparties et les services web
Architecture réparties et les services web
 
Presentation SOAP
 Presentation SOAP Presentation SOAP
Presentation SOAP
 
HTML
HTMLHTML
HTML
 
Retour d’expérience - Architecture MicroService chez BotsUnit
Retour d’expérience - Architecture MicroService chez BotsUnitRetour d’expérience - Architecture MicroService chez BotsUnit
Retour d’expérience - Architecture MicroService chez BotsUnit
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Support distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcastSupport distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcast
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
Pilotage par la valeur, comment remettre au même diapason le métier et son in...
Pilotage par la valeur, comment remettre au même diapason le métier et son in...Pilotage par la valeur, comment remettre au même diapason le métier et son in...
Pilotage par la valeur, comment remettre au même diapason le métier et son in...
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
Migration d'une Architecture Microservice vers une Architecture Event-Driven ...
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Matinée3 Gestion Electronique des Documents (GED)
Matinée3   Gestion Electronique des Documents (GED)Matinée3   Gestion Electronique des Documents (GED)
Matinée3 Gestion Electronique des Documents (GED)
 
Quand utiliser MongoDB … Et quand vous en passer…
Quand utiliser MongoDB	… Et quand vous en passer…Quand utiliser MongoDB	… Et quand vous en passer…
Quand utiliser MongoDB … Et quand vous en passer…
 

En vedette

A year with event sourcing and CQRS
A year with event sourcing and CQRSA year with event sourcing and CQRS
A year with event sourcing and CQRS
Steve Pember
 

En vedette (20)

CQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDDCQRS and Event Sourcing, An Alternative Architecture for DDD
CQRS and Event Sourcing, An Alternative Architecture for DDD
 
A year with event sourcing and CQRS
A year with event sourcing and CQRSA year with event sourcing and CQRS
A year with event sourcing and CQRS
 
CQRS & event sourcing in the wild
CQRS & event sourcing in the wildCQRS & event sourcing in the wild
CQRS & event sourcing in the wild
 
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...Developing event-driven microservices with event sourcing and CQRS  (svcc, sv...
Developing event-driven microservices with event sourcing and CQRS (svcc, sv...
 
Microservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingMicroservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event Sourcing
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratique
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
 
Solution de transfert mobile - Formats d'échange
Solution de transfert mobile - Formats d'échangeSolution de transfert mobile - Formats d'échange
Solution de transfert mobile - Formats d'échange
 
Workshop event storming
Workshop event stormingWorkshop event storming
Workshop event storming
 
Cassandra as an event sourced journal for big data analytics Cassandra Summit...
Cassandra as an event sourced journal for big data analytics Cassandra Summit...Cassandra as an event sourced journal for big data analytics Cassandra Summit...
Cassandra as an event sourced journal for big data analytics Cassandra Summit...
 
Real World Event Sourcing and CQRS
Real World Event Sourcing and CQRSReal World Event Sourcing and CQRS
Real World Event Sourcing and CQRS
 
Developing functional domain models with event sourcing (sbtb, sbtb2015)
Developing functional domain models with event sourcing (sbtb, sbtb2015)Developing functional domain models with event sourcing (sbtb, sbtb2015)
Developing functional domain models with event sourcing (sbtb, sbtb2015)
 
Atelier Event Storming - Piece of Make - Nantes
Atelier Event Storming - Piece of Make - NantesAtelier Event Storming - Piece of Make - Nantes
Atelier Event Storming - Piece of Make - Nantes
 
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandracodecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
 
CQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java DevelopersCQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java Developers
 
CQRS recipes or how to cook your architecture
CQRS recipes or how to cook your architectureCQRS recipes or how to cook your architecture
CQRS recipes or how to cook your architecture
 
Model storming
Model stormingModel storming
Model storming
 
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
Building and deploying microservices with event sourcing, CQRS and Docker (Ha...
 
Akka persistence == event sourcing in 30 minutes
Akka persistence == event sourcing in 30 minutesAkka persistence == event sourcing in 30 minutes
Akka persistence == event sourcing in 30 minutes
 

Similaire à CQRS + Event Sourcing

Présentation automatisation & conformité et de Rudder
Présentation automatisation & conformité et de RudderPrésentation automatisation & conformité et de Rudder
Présentation automatisation & conformité et de Rudder
RUDDER
 
24 didier-demodelisation-cms-orientee-services
24 didier-demodelisation-cms-orientee-services24 didier-demodelisation-cms-orientee-services
24 didier-demodelisation-cms-orientee-services
itSMF France
 
Progicielde gestationintégré SAP
Progicielde gestationintégré SAPProgicielde gestationintégré SAP
Progicielde gestationintégré SAP
kk kk
 

Similaire à CQRS + Event Sourcing (20)

Présentation de SQL Azure
Présentation de SQL AzurePrésentation de SQL Azure
Présentation de SQL Azure
 
Introduction aux ERP
Introduction aux ERPIntroduction aux ERP
Introduction aux ERP
 
SQL Server 2008 R2 V1.0
SQL Server 2008 R2 V1.0SQL Server 2008 R2 V1.0
SQL Server 2008 R2 V1.0
 
Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performante
 
Architecture azure performante
Architecture azure performanteArchitecture azure performante
Architecture azure performante
 
Présentation linkbynet 2015-02-16
Présentation linkbynet 2015-02-16Présentation linkbynet 2015-02-16
Présentation linkbynet 2015-02-16
 
Présentation automatisation & conformité et de Rudder
Présentation automatisation & conformité et de RudderPrésentation automatisation & conformité et de Rudder
Présentation automatisation & conformité et de Rudder
 
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
 
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
 
24 didier-demodelisation-cms-orientee-services
24 didier-demodelisation-cms-orientee-services24 didier-demodelisation-cms-orientee-services
24 didier-demodelisation-cms-orientee-services
 
Élaboration d'une stratégie de modernisation par Chris Koppe
Élaboration d'une stratégie de modernisation par Chris KoppeÉlaboration d'une stratégie de modernisation par Chris Koppe
Élaboration d'une stratégie de modernisation par Chris Koppe
 
Denodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie APIDenodo, pilier central de votre stratégie API
Denodo, pilier central de votre stratégie API
 
Progicielde gestationintégré SAP
Progicielde gestationintégré SAPProgicielde gestationintégré SAP
Progicielde gestationintégré SAP
 
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
2010.11.26 - DSI - Comment maîtriser l'intégration du Cloud et du SaaS dans l...
 
La voie du succès avec les bases de données de graphes, la Graph Data Scie...
 La voie du succès avec les bases de données de graphes, la Graph Data Scie... La voie du succès avec les bases de données de graphes, la Graph Data Scie...
La voie du succès avec les bases de données de graphes, la Graph Data Scie...
 
Réinventez votre stratégie de données en 2021 avec la Data Virtualization
Réinventez votre stratégie de données en 2021 avec la Data VirtualizationRéinventez votre stratégie de données en 2021 avec la Data Virtualization
Réinventez votre stratégie de données en 2021 avec la Data Virtualization
 
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
La Duck Conf 2018 : "Au secours : le Marketing a choisi Salesforce - SaaS ou ...
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 
Les solutions as a service au service des métiers - Loic Simon - Club Allianc...
Les solutions as a service au service des métiers - Loic Simon - Club Allianc...Les solutions as a service au service des métiers - Loic Simon - Club Allianc...
Les solutions as a service au service des métiers - Loic Simon - Club Allianc...
 
Serverless for OPS - Global Azure Bootcamp 2018
Serverless for OPS - Global Azure Bootcamp 2018Serverless for OPS - Global Azure Bootcamp 2018
Serverless for OPS - Global Azure Bootcamp 2018
 

Plus de Eric De Carufel (8)

Bracket Show Episode 35 - histoire de c# de 2002 à 2019
Bracket Show Episode 35 - histoire de c# de 2002 à 2019Bracket Show Episode 35 - histoire de c# de 2002 à 2019
Bracket Show Episode 35 - histoire de c# de 2002 à 2019
 
Gadgteteer clean code
Gadgteteer   clean codeGadgteteer   clean code
Gadgteteer clean code
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2
 
Refactoring to Design Patterns
Refactoring to Design PatternsRefactoring to Design Patterns
Refactoring to Design Patterns
 
Cqrs + event sourcing pyxis v2 - en
Cqrs + event sourcing   pyxis v2 - enCqrs + event sourcing   pyxis v2 - en
Cqrs + event sourcing pyxis v2 - en
 
Top 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre codeTop 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre code
 
Dvcs mercurial - pyxis - eric de carufel
Dvcs   mercurial - pyxis - eric de carufelDvcs   mercurial - pyxis - eric de carufel
Dvcs mercurial - pyxis - eric de carufel
 
Top 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton codeTop 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton code
 

CQRS + Event Sourcing

  • 1. CQRS + EVENT SOURCING Des concepts de design pour une architecture à toute épreuve
  • 2. SÉPARATION DES COMMANDES ET REQUÊTES © Pyxis Technologies inc. 2
  • 3. SYSTÈME TRADITIONNEL Données relationnelles Mise à jour BD Logique d’affaire CRUD Interface usager © Pyxis Technologies inc. 3
  • 5. POURQUOI CONTINUE-T-ON? © Pyxis Technologies inc. 6
  • 6. POURQUOI CONTINUE-T-ON? © Pyxis Technologies inc. 7
  • 8. SYSTÈME TRADITIONNEL Données relationnelles Mise à jour BD Logique d’affaire CRUD Interface usager © Pyxis Technologies inc. 9
  • 9. SÉPAR AT IO N D ES C OMMAN D ES ET D ES R EQU ÊTES Données relationnelles Mise à jour BD Logique d’affaire Requêtes Commandes Interface usager © Pyxis Technologies inc. 10
  • 10. CQRS - C O M M A N D A N D Q U E R Y R E S P O N S A B I L I T Y S E G R E G AT I O N Données relationnelles Mise à jour BD Modèle de lecture Domaine Gestion des commandes Requêtes Commandes Interface usager © Pyxis Technologies inc. 11
  • 11. PASSONS À L’ACTION  Utiliser des verbes pas des noms  Il faut analyser comment l’usager utilisera le système  Pas d’édition de données mais plutôt des actions sur le domaine  Passer des commandes  Message sérialisable  Mode impératif  Langage clairement défini  Est-ce qu’une commande peut être refusée? © Pyxis Technologies inc. 12
  • 12. CQRS  Commandes  Change l’état du système  Asynchrone (pour le meilleur et pour le pire)  Requêtes       Ne change pas le système Modèle dénormalisé Distribuable (Charding) Scalable Représente au moins 90% des accès au système Performance © Pyxis Technologies inc. 13
  • 13. EST-CE QU’ON A TERMINÉ? © Pyxis Technologies inc. 14
  • 14. CQRS - C O M M A N D A N D Q U E R Y R E S P O N S A B I L I T Y S E G R E G AT I O N Données relationnelles Mise à jour BD Modèle de lecture Domaine Gestion des commandes Requêtes Commandes Interface usager © Pyxis Technologies inc. 15
  • 15. CQRS + EVENT SOURCING Événements Dénormaliseur Event Store Gestion d’événements Service BUS XML SQL HTML Modèle de lecture Domaine Gestion des commandes Requêtes Commandes Interface usager © Pyxis Technologies inc.
  • 16. EVENT SOURCING       Modélise le comportement non pas la structure Séquentiel et cumulatif Peut rejouer les événements Ajout seulement Possible de construire n’importe quel modèle structuré Audit © Pyxis Technologies inc. 17
  • 17. LES ÉVÉNEMENTS  Rolling Snapshot  Optimisation  Aggregate root  Transaction garantie uniquement dans ce cadre  Construit à partir des événement  Commandes  ApplyEvent  Events  Ne peux pas échouer  Aucune logique à appliquer © Pyxis Technologies inc. 18
  • 18. CQRS PIPELINE Event store User interface Commands © Pyxis Technologies inc. Domain changes Events Denormalizer Read models
  • 19. LA FIN  Questions?  Rappelez-vous  Les événements sont la seule vérité  Le cœur du système est le domaine  Le modèle de lecture est flexible et volatile  Eric De Carufel  eric@decarufel.net  http://blog.decarufel.net  http://pyxis-tech.com © Pyxis Technologies inc. 20

Notes de l'éditeur

  1. ** Les application traditionnelle sont découpées en couches.** Tout passe par la logique d’affaire, les commandes et les requêtes.** Il est facile de faire les deux en même temps** Problèmes de performance (optimisé read ou write)** Ajout de cache pour performance** Concurence en écriture, lock de table** La séparation évite qu’une commande retourne de l’information et qu’une requête modifie le modèle
  2. Modèle descriptifCRUD (Create, Read, Update, Delete)Domaine d’affaire définit par des nomsModèle rigide - Base de donnée difficile à modifier sans affecter les systèmesDifficile d’utiliser la modélisation DDDModèle anémiqueLogique d’affaire du côté client ou pire dans la tête des utilisateursScalabilityLa seule option est un BD plus grosse (ou LoadBalancing)Complexité accidentelleModèle de requête de plus en plus complexe et lent
  3. Est-ce qu’on ne fait que suivre les autres?
  4. - Les outils sont présents et faciles- Supporté par toutes les plateformes- Modèle bien connu- Les concepteur de base de données (SQL, Oracle, …) font la promotion ($) de ce modèle.- Confort / résistance au changement
  5. Faite-moi confiance mais la marche est haute!
  6. ** Les application traditionnelle sont découpées en couches.** Tout passe par la logique d’affaire, les commandes et les requêtes.** Il est facile de faire les deux en même temps** Problèmes de performance (optimisé read ou write)** Ajout de cache pour performance** Concurence en écriture, lock de table** La séparation évite qu’une commande retourne de l’information et qu’une requête modifie le modèle
  7. ** La séparation évite qu’une commande retourne de l’information et qu’une requête modifie le modèle** Mauvaise chose de faire des requête directement à la base de données
  8. ** L’ajout de la gestion des commande et du modèle de lecture renforce le principe de séparation** Comment synchroniser 2 BD?** On a besoind’avoirl’information live en tout temps.** Coming out – On n’estjamais live** Capitalisersurce fait plutôtque de s’enplaindre.** Dans ce contexte la base de donnée est complètement cachée elle est même inutile
  9. ** Une base de données une représentation passive d’un système** Il faut parler d’action et pas de données** Le concept de command fonctionne partout : Commander une pizza par exemple.** Se poser la question si une commande peut être refusé est sais et démontre qu’on porte attention aux règles d’affaires plutôt qu’aux données.
  10. ** L’asynchronicité fait partie du système au lieu d’être gérée comme une exception
  11. **On a les command et les requêtes** Il nous manque les événements
  12. ** L’ajout de la gestion des commande et du modèle de lecture renforce le principe de séparation** Comment synchroniser 2 BD?** On a besoind’avoirl’information live en tout temps.** Coming out – On n’estjamais live** Capitalisersurce fait plutôtque de s’enplaindre.** Dans ce contexte la base de donnée est complètement cachée elle est même inutile
  13. ** Plusieurs façon de voir la vérité dépendamment du point de vue. Ex: Changement d’adresse, Paye (dépense vs gain)** La seule vérité du système réside en ce qui c’est réellement passé, donc dans les événements.** Le modèle de lecture peux être persisté dans la forme la plus proche de sa consultation.** Le processus de mise à jour du modèle passe par la réception et le gestion des événement et par la transformation (dénormalisation) de l’événement en données utiles** Le Service BUS assure le transport des événement entre les différents systèmes.