2

J'ai une saga contenant un délai qui déclenchera un processus métier à l'avenir. Cette saga peut être terminée tôt soit sur la base d'un événement "annulé" à partir d'un système principal, soit manuellement par un gestionnaire client. Le gestionnaire de client doit pouvoir interroger les processus planifiés sur certaines valeurs de clé et annuler manuellement le délai d'attente (par exemple mettre fin à la saga).Existe-t-il un moyen privilégié pour lister sagadata dans une application Web?

Le système se composera de la saga décrite et d'une application Web avec une fonctionnalité de recherche qui énumérera les processus planifiés et la possibilité d'émettre des commandes «cancel» aux sagas.

La question est alors de savoir comment lister les transactions commerciales planifiées (cette information est stockée sous forme de données saga)? La solution la plus naïve serait d'accéder directement aux données de la saga, ce qui n'est probablement pas une bonne idée car ce sont des données internes à la saga et le stockage peut être changé, etc.

Répondre

2

Une solution consiste à faire publier la saga en interne événements sur chaque action affectant l'état de la saga. Ces événements peuvent ensuite être utilisés pour mettre à jour un modèle de vue que l'application Web peut lire. Cela permettra de séparer les données nécessaires dans la saga des données nécessaires dans l'application Web. Le modèle de vue n'aura besoin de partager qu'une sorte d'identifiant de corrélation avec la saga.