CQRS - конечная согласованность

У меня есть следующий сценарий, который мне нужно реализовать в соответствии с шаблоном CQRS:

  1. пользователь входит в систему
  2. пользователь вводит некоторые сведения о страховании
  3. пользователь просит применить решение
  4. пользователь просматривает результат решения

Это кажется довольно простым, однако моя проблема находится между этапами 3 и 4, на этапе 3 я отправляю Команда ApplyForDecision , которая получит решение от службы андеррайтинга, событие с результатом этого решения затем отправляется в ШИНУ для хранилища чтения, чтобы позже использовать его и обновить таблицы просмотра с результатом решения.

Проблема заключается в пользовательском интерфейсе. Как мне сообщить пользователю, что решение применяется, поскольку в CQRS модель чтения не обновляется «сразу». Как сделать так, чтобы пользовательский интерфейс показывал, что решение находится в процессе и "скоро" приедет?

Мне также нужно дать пользователю возможность выйти и снова войти в систему, поскольку решение, возможно, еще не было принято, как мне сделать так, чтобы пользовательский интерфейс отображал «экран ожидающего решения»?

6
задан shA.t 12 July 2015 в 06:36
поделиться