Tous les systèmes ne sont pas basés sur des événement et des faits. Dans certains types de problèmes les événements sont parfaitement pertinents ; ils correspondent à des faits qui surviennent au cours du temps. Mais de nombreux systèmes s'intéressent plutôt aux flux d'informations qui traversent un processus. C'est ce que Greg Young a expliqué lors d'une présentation sur Analyse et Échange de Messages basés sur des Documents au DDD Exchange de Londres la semaine dernière.
Un exemple pourrait être une hypothèque au sein d'une banque. Quelqu'un arrive avec une demande de prêt hypothécaire et celle-ci traverse l'organisation ; différentes personnes la manipulent et elle finit par être titrisée.
Le flux de documents qui traversent un processus constituent un autre type d'envois de messages, à comparer aux événements : c'est le sujet de la présentation de Greg.
D'après son expérience, Greg pense qu'il est assez facile de construire la partie "structure" d'un modèle de domaine ; ajouter des comportements au modèle, c'est ça qui est difficile.
Faire parler les gens du métier de comportements est souvent le plus difficile.
Les Évènements contribuent beaucoup à aider les gens du métier à penser aux comportements, aux faits qui se produisent dans un système. Les Documents offrent une nouvelle perspective, ils concentrent l'attention sur le déroulement du processus, quelque chose que la plupart des organisations ont déjà mis en place ; un processus papier, par exemple pour une reprise en cas de sinistre. Si vous vous penchez sur ces processus papier, il est souvent plus facile d'impliquer les gens du métier.
Les gens du métier comprennent facilement le fait que des feuilles de papier suivent un processus.
Une méthode que Greg trouve souvent très efficace est de mettre des gens du métier dans une pièce, de leur demander d'oublier l'informatique, de leur demander de créer un formulaire ou tout autre type de document et de décrire sa manipulation au cours du déroulement du processus. Décrire un processus de cette façon va aider à comprendre comment les choses doivent se passer une fois informatisées. Au passage, la création d'un plan de reprise sur sinistre est un effet de bord de cet exercice de modélisation.
Une des raisons pour laquelle cette approche fonctionne si bien, c'est que les gens ont travaillé avec du papier bien avant qu'il y ait des ordinateurs.
On dispose maintenant de deux modèles conceptuels avec lesquels travailler, l'un basé sur des événements, l'autre basé sur des documents. Greg insiste sur le fait qu'ils ne sont pas mutuellement exclusifs. Les événements peuvent contenir des documents et les documents peuvent contenir des événements. Dans un processus basé sur des flux documentaires, un événement peut survenir, cet événement embarquant le document courant.
Greg Young est un consultant indépendant connu pour avoir inventé le terme CQRS et il est, entre autres, architecte principal de l'Event Store.