Next Post
CQRS (Command Query Responsibility Separation) is a big topic. CQRS is not accepted by everyone: maybe complete implementations have added implementation complexity, and you have to know when to use it or not. You have CQRS with and without DDD (Domain-Driven Design) and with and without Event Sourcing.
In this post I included links with videos, podcasts, Infoq presentations about CQRS. More links are coming!
From: http://en.wikipedia.org/wiki/Domain-driven_design
Command-query separation (CQRS)
CQRS an architectural pattern for separation of reads from writes where the former is a Query and the latter is a Command. Commands mutate state and are hence approximately equivalent to method invocation on your aggregate roots/entities and Queries query state, but do not mutate it. CQRS is a derivative architectural pattern from the design pattern called Command and Query Separation (CQS) which was coined by Meyer. While CQRS does not require DDD, domain driven design makes the distinction between commands and queries, explicit, around the concept of an aggregate root. The idea is that a given aggregate root has a method that corresponds to a command and a command handler invokes the method on the aggregate root. The aggregate root is responsible for performing the logic of the operation and yielding either a number of events or a failure (exception or execution result enumeration/number) response OR (if ES is not used) just mutating its state for a persister implementation such as an ORM to write to a data store, while the command handler is responsible for pulling in infrastructure concerns related to the saving of the aggregate root’s state or events and creating the needed contexts (e.g. transactions).
Jonathan Oliver on Event Sourcing and EventStore @ E-VAN 25 October 2011
http://vimeo.com/31153808
CQRS and Event Sourcing with NCQRS
http://www.nicholascloud.com/2011/09/cqrs-and-event-sourcing-with-ncqrs/
CQRS, race conditions, and sagas – oh my!
http://skillsmatter.com/podcast/open-source-dot-net/udi-dahan-cqrs-race-conditions-and-sagas
CQRS, not just for server systems
http://skillsmatter.com/podcast/design-architecture/cqrs-not-just-for-server-systems
CQRS is of great use for building things other than server side systems as most people tend to use it for. In this talk, Greg Young will look at the use of CQRS in other kinds of systems and how it can greatly decrease complexity while providing value to users of the system.
Simple is better
http://skillsmatter.com/podcast/design-architecture/simple-is-better/
Very often we take on huge couplings in order to get value. This coupling forces us to build software in certain ways that may or may not be good for us at the time. In this talk, Greg Young looks at some common real world examples of these problems — and, more importantly, how to avoid them
CQRS, CQS y Event Messaging
http://www.altnethispano.org/wiki/van-2010-10-02-cqrs-cqs-event-messaging.ashx
by @cprieto
Abstraction Demo Videos http://abstractiondev.wordpress.com
http://www.youtube.com/playlist?p=PLB3366B17004D5DB9
Unleash your Domain
http://vimeo.com/13852695
Command Query Responsibility Segregation
http://skillsmatter.com/podcast/open-source-dot-net/udi-dahan-command-query-responsibility-segregation/rl-311
London .NET User Group:Command Query Responsibility Segregation
NServiceBus Architectural Principles
http://www.nservicebus.com/ArchitecturalPrinciples.aspx
Erik Rozendaal of Holland talking about CQRS and Event Sourcing
http://cqrs.wordpress.com/2010/09/13/video-presentation/
Distributed Podcast
http://distributedpodcast.com/
CQRS, DDD, Cloud computing and much more!
Command-Query Responsibility Segregation
http://www.infoq.com/presentations/Command-Query-Responsibility-Segregation
Recording of Mark Nijhof on CQRS @ E-VAN 18 November 2009
http://europevan.blogspot.com/2009/11/recording-of-mark-nijhof-on-cqrs-e-van.html
Mark Nijhof on CQRS Sample @ E-VAN 18 November 2009
http://vimeo.com/7838858
A Discussion with Allard Buijze on CQRS with the Axon framework
http://www.infoq.com/articles/cqrs_with_axon_framework
CQRS and Friends: possibly distributed systems, intentionally.
http://www.altnethispano.org/wiki/van-2011-02-19-cqrs.ashx
by @silverspoon
My Links
http://delicious.com/ajlopez/cqrs+video
http://delicious.com/ajlopez/cqrs+podcast
Keep tuned!
Angel “Java” Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez