Si tel est le cas, votre application vient sans doute d’éprouver les limites de sa conception CRUD (Create/Read/Update/Delete) et de ses implications en termes de gestion de la modélisation du métier complexe et en termes de scalabilité. Cette modélisation, pourtant simple à mettre en place et à transmettre, peut devenir un réel frein à l’agilité globale de l’application, tant bien du point de vue technique que métier.
Parmi les axes de travail qui vont permettre de rétablir une délivrabilité optimale et d’améliorer les performances et l’évolutivité des applications, nous traitons dans ce livre blanc de deux motifs architecturaux.
Le premier de ces motifs d’architecture logicielle a été formalisé en 2010 par Greg Young. Il s’agit de CQRS (Command and Query Responsibility Segregation), un motif architectural visant à séparer au sein d’une application, les composants de traitement métier de l’information (‘command’ / écriture) et de restitution de l’information (‘query’ / lecture).
Le second est l’Event Sourcing. Formalisé dans les années 2000, notamment par Martin Fowler et Greg Young à nouveau, mais latent depuis les années 60, il s’agit d’un pattern de persistance de la donnée, basé non pas sur les états successifs des concepts métiers dans un système, mais sur les faits qui se sont déroulés dans le système lui-même.