Я хочу реализовать в своем приложении архитектуру управляемых событиями микросервисов, но я борюсь с концепцией хореографии событий и взаимодействия с пользовательским интерфейсом.
Моя проблема в том, что у меня есть процесс регистрации в членстве, когда пользователь вводит множество деталей в мой пользовательский интерфейс. Это будет передано в службу членства, которая обработает это и затем опубликует событие. Вполне естественно, что это событие будет использовано платежной службой, поскольку следующим шагом в бизнес-процессе является получение платежа. Платежная служба не может полностью обработать это событие, пока не получит информацию о платеже от пользователя, которую необходимо ввести в пользовательском интерфейсе.
В пользовательском интерфейсе было бы естественно, что, как только пользователь введет свои регистрационные данные, логика пользовательского интерфейса будет знать, чтобы отобразить платежную форму, и, как только она будет завершена, представить данные платежной службе. Сейчас я дублирую бизнес-процесс как на передней, так и на задней панели, который кажется неправильным, и теперь платежная служба была дважды уведомлена об этом платеже.
Есть ли у кого-нибудь какие-либо советы относительно лучшего потока для этого сценария. Мне кажется, что в моем понимании чего-то не хватает, но я изо всех сил пытался найти какие-либо статьи / обсуждения, которые касаются этого.