Pattern — Event Sourcing / Ledger
Repère de lecture
Public cible
Architecte, Développeur, Delivery
Temps de lecture
1 min
Usage
Relier les concepts FLOW aux produits, patterns et responsabilités cible
Intention
Event Sourcing / Ledger consiste à conserver l'historique des événements ou mouvements qui expliquent un état.
Au lieu de ne stocker que la situation courante, le système conserve la trace de ce qui a conduit à cette situation.
Un état courant dit où l'on est.
Un ledger explique comment on y est arrivé.
Problème adressé
FLOW doit expliquer des décisions, des promesses, des réservations, des allocations ou des changements de statut.
Sans historique fiable, il devient difficile de :
- reconstruire un état ;
- diagnostiquer un écart ;
- auditer une décision ;
- réconcilier plusieurs systèmes ;
- comprendre pourquoi une promesse a été faite.
Principe
Le système enregistre des événements immuables et horodatés.
Des projections de lecture sont ensuite construites à partir de ce journal.
Exemple stock :
+10 réception
-1 vente
-1 réservation
+1 retour
-2 casse
Usage dans FLOW
Ce pattern est particulièrement adapté :
- au Stock Unifié ;
- à l'Event log d'un Case ;
- aux réservations et allocations ;
- aux faits nécessaires à la finance, au contrôle et à l'audit.
Risques
- Confondre ledger et modèle de lecture.
- Ne pas prévoir les corrections et compensations.
- Sous-estimer le volume d'événements.
- Ne pas gouverner les règles de reconstruction.