You have to have some expectation that certain endpoints are "trusted". In
other words if it's required that clientA application that sends
CustomerMovedMessage needs to be able to be trusted then you need to test
your app to make sure it's trusted (this takes discipline). When sending a
command, you perform input validation and queries if necessary to validate
that a command will succeed in almost all cases, when it doesn't, you do
what Jason describes by Notifying something went wrong. This has design
considerations also. Think of the way Amazon doesn't really confirm your
order is successful until you've received an email. The other level of
validation or business rules that occur when a command is processing. For
this consider using sagas. The real long term value in my opinion after
moving to bus style CQRS approach is that you have a bus where there are
lots of events being published from several applications about meaningful
things going on in the business. Then when you hear questions that say "How
can I do this when this happens?" Or "How can I find out about this when
these things happen?" You already have hooks into all events going on in
your system and can easily add new subscribers as requests come in.

I agree Udi has a lot of great material. He also has a course that covers
all these things in great detail. I highly recommend it.

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to rhino-tools-dev@googlegroups.com.
To unsubscribe from this group, send email to 
rhino-tools-dev+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to