Avec autant de buzzwords dans le titre, explicitons le menu :
– Nous commencerons avec une étude des principes du CQRS et la notion de projection pour construire les modèles de données dédiées à la lecture, le tout avec un datastore traditionnel (relationnel). – Nous continuerons avec le concept d’état en programmation fonctionnelle, et comment les gérer au sein d’une application tout en respectant le principe d’immutabilité. Et comment ils ont transformé la gestion d’états pour la construction d’interface utilisateur. – Dans un troisième temps, nous nous intéresserons aux évènements du domaine-métier dans le Domain Driven Design et comment ceux-ci s’intègrent dans la mécanique de construction des projections. – Enfin, nous assemblerons toutes ces notions pour faire apparaitre l’« event sourcing » comme modèle de persistance pour nos données. – Pour clôturer, nous verrons les erreurs les plus courantes rencontrées lors de l’implémentation d’un modèle en event sourcing.
Take away: – Utiliser CQRS (sans event-sourcing) pour simplifier la gestion de la persistance dans son application. – Comprendre comment gérer des états dans un contexte fonctionnel – Gérer facilement les évènements-métier au sein d’une architecture DDD. – Savoir comment implémenter correctement un système basé sur l’event sourcing.