Created: 2012-03-22 13:05
Updated: 2014-03-05 13:36

This is a proof of concept demonstrating a few things:

  • Mass Transit with RabbitMQ
  • Peer to Peer messaging
  • Process facilitated by Sagas (persisted using NHibernate)

An explanation of the projects is probably a little necessary:

  • Server - Facilitates the Saga, and does some logging.
  • Contracts - The message contracts, also the Saga and the Fluent NHibernate map for the saga. This is not the ideal place to put these, but it was practical.
  • Configuration - Shared configuration classes
  • Client1 - Data entry
  • If you want to change a name, enter the old name and the new name. This will update immediately on Client2
  • If you want to change the income, enter the name under "old name" and the income. This will go to Client3 for approval.
  • If you want to create a new person, leave old name blank. The person will show up on Client2 immediately, but the income will not until it is approved on Client3.
  • Client2 - The data. This isn't persisted. If you restart, it will reset.
  • Client3 - The approval application
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more