This project has been discontinued and is superseded by
The Silverlight Cookbook
However, for learning purposes on CQRS and Event Sourcing, this site will be kept intact.
Development on the Windows Azure version of The CQRS Kitchen will continue for a while though.
The CQRS Kitchen is a .NET example application that demonstrates how to implement a CQRS / Event Sourcing application with the .NET Framework. It uses the following technologies:
- Silverlight 4
- Caliburn Micro
- NHibernate & LINQ
- Fluent NHibernate
- Windows Communication Foundation
- WCF Data Services
- Entity Framework 4
- Parts of the NCQRS framework
Check out this slide deck for some background information about this demonstration project.
- It requires Visual Studio 2010, the
Silverlight 4 Tools, and the Silverlight Control Toolkit of April 2010
- It uses NServiceBus to publish events from the event store to the query store, so you need to setup MSMQ properly by
executing RunMeFirst.bat from the Tools\NServiceBus folder.
Remember, you must run this script from a Command Prompt under Administrative privileges.
- Run TheKitchen.Setup.exe from the SetupEnvironment project to create the two databases and the required MSMQ queues automatically.
- To run the solution, you need to configure the following projects as startup projects:
- TheKitchen.Client.Host (hosts the Silverlight 4 application)
- TheKitchen.Commanding.Host (hosts the WCF command service)
- TheKitchen.Querying.Core (hosts the NServiceBus event handler)
- TheKitchen.Querying.Host (hosts the WCF Data Services query service)
- The Querying.Core project runs by launching the NServiceBus self-hosting client, so you'll need to change the project's Debug tab so that it launches
NServiceBus.Host.exe from the output location using startup parameter
- Greg Young has been advocating CQRS and Event Sourcing for a while now and is an authority on CQRS. Find his blog
- Udi Dahan a well known authority on distributed systems has shed his light on CQRS in
- Mark Nijhof has written some excellent posts on CQRS as well. Find them