Formation "Implémenter DDD avec CQRS / Event Sourcing"

En ligne - Sur demande 2 jours S'inscrire

Objectifs

Cette formation permet aux participants d’acquérir des bases pratiques pour implémenter un système avec CQRS (Command And Query Responsibility Segregation) et ES (Event Sourcing), en s’appuyant sur le DDD (Domain Driven Design) pour donner du sens à cette implémentation.
Depuis la conception en Event Storming jusqu’à l’implémentation, nous créerons ensemble un système évènementiel, dans votre langage de prédilection.

  • comprendre et implémenter CQRS
  • comprendre et implémenter ES
  • mise en place d'une architecture DDD like
  • comprendre quand mettre en place ce type d'architecture

Acquis à l'issue de la formation

Le participant à cette formation aura acquis des bases solides pour l’implémentation d’un système évènementiel et réactif et en particulier:

  • Conception
    • Comprendre et effectuer un Event Storming
    • Analyser le métier avec une approche évènementielle
    • Organiser le code avec une architecture hexagonale
  • Notions de Domain Driven Design
    • Découvrir et appliquer Ubiquitous Language dans le code
    • Identifier et définir les Bounded Context
    • Désigner et implémenter les Agregates, Entities et Value Object
    • Comprendre les autres patterns stratégiques et tactiques
  • Implémentation
    • Créer et maintenir une classe Event Sourcing
    • Créer et maintenir un système CQRS
    • Mise en place d'une base de données évènementielle NoSQL
    • Transmettre les évènements via un système Publisher/Subscriber basique
    • Comprendre les modes de communication intra et inter contextes

Prix

Le tarif est 1000€ HT / personne (1200€ TTC) pour 2 jours de formation (Offre spéciale HYT Christmas : 780€ HT / personne).

Public concerné et pré-requis

Cette formation vise les développeurs d’applications complexes ayant une bonne maîtrise d’au moins un langage de programmation (orienté objet ou fonctionnel), en terme de syntaxe, environnement de travail et accès aux bases de données (nous pouvons vous aider sur C#, Java, Scala, F#, JS/TS et PHP).

Il est également attendu une bonne maîtrise des tests unitaires dans ce langage.
Les participants devront être équipés d’un PC (non fourni) et avoir installé Git dans sa dernière version.
La formation contient une part importante de pratique. Les sessions sont réalisées avec un maximum de 12 personnes, pour nous permettre d’adapter le déroulement de la formation et de contextualiser les exercices, en fonction des participants et de leurs spécificités, tout en garantissant l'acquisition des compétences visées par la formation.

Vérifier mes pré-requis

Evaluation

En début de formation, une autoévaluation est effectuée pour évaluer le niveau, ainsi que les attentes de chaque participant. Ainsi nous pouvons organiser au mieux les différents groupes de travail.
Par la suite, le formateur effectue une évaluation continue à l'aide des nombreux exercices pratiques.
En fin de formation, la progression et les acquis sont autoévalués par chacun des participants. Le formateur fournit à chacun des participants une évaluation, ainsi que les axes d'amélioration.
En option, un accompagnement postformation peut être effectué. Cela fera l'objet d'un devis complémentaire.

Programme

En partant de rien et sur un sujet commun, nous construisons petit à petit les bases d’un système CQRS/ES en utilisant des pratiques issues du DDD.

  • 1ère demi-journée
    • Event Storming, sujet site e-Commerce
    • Notion d’Aggregate/Command/Events et Bounded Contexts
  • 2ème demi-journée
    • Implémenter un Aggregate avec des Commands/Events avec l’état dans le constructeur
    • 3 possibilités d’implémentation des Events dans un Aggregate
    • EventBus
    • Persistence via les événements dans SQLite
  • 3ème demi-journée
    • Reprendre le concept d’EventBus
    • Query et Projection
  • 4ème demi-journée
    • Event Sourcing : stockage des événements avec implémentation d’un Store
    • Etat via les événements

Formateurs

Suivant le nombre de participants, cette formation sera réalisée par un ou plusieurs formateurs.
En savoir plus sur nos formateurs

En ligne - Sur demande 2 jours S'inscrire