Команда Event Sourcing или событие из внешней системы?

В большинстве случаев я понимаю разницу между командой и событием в системе CQRS+ES. Однако есть одна ситуация, которую я не могу понять.

Предположим, я создаю систему отслеживания личных финансов, в которой пользователь может вводить дебеты/кредиты. Понятно, что это команды, и после их проверки модель предметной области обновляется и событие публикуется. Однако предположим, что информация о кредите/дебете также поступает непосредственно из внешних систем, т.е. флорист пользователя отправляет сообщение о том, что он снял с кредитной карты пользователя деньги за регулярную доставку ко Дню матери. В этом случае сообщение выглядит как событие (, списание средств уже произошло ), но возможно, что сообщение искажено и будет отклонено. Так это действительно команда? Но тогда должен быть способ послать ACK/NACK, а здесь это не так (флорист отправляет сообщение только после того, как узнает, что списание произошло ).

РЕДАКТИРОВАТЬ :Просто чтобы уточнить, я не говорю о том, что внешняя система знает что-либо о моих событиях и/или командах. У меня есть компонент, который получает данные из внешней системы, а затем должен опубликовать событие или отправить команду. Вопрос в том, какое событие или команду должен использовать мой компонент?

10
задан Akash 10 August 2012 в 07:48
поделиться