HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  
Progressive .NET Tutorials: Ian Cooper & Neil Robbins on CQRS: Why, What and How
CQRS: Why, What and How
Why: CQRS is the new 'hotness' but beyond a desire to use the latest 'fad' what might actually lead you to adopt this approach over a conventional layered architecture. Looking back we will explore how some of the debates in the DDD community about how to implement Eric Evans highlighting ideas led people to the CQRS solution. We will look at some of the problems with aggregates and repositories that CQRS helps with and how the vision of seperating core from other domains is simplified. We will also look at simple steps to begin moving your layered application in the CQRS direction and give you a taste of what is to come. By the end of this session you should understand the problems that transitioning to CQRS will help you to resolve.

Querying. The easiest part of CQRS to start with is probably querying. From building your view model directly instead of via your domain, through views or viewmodel stores up to dealing with eventual consistency we look at what it takes to put the Q into CQRS. We will talk about the difference between grid and task based approaches to the UI and how working on interaction style eases the burden to seperated queries. We will also look at composite UIs and how they become important when you begin working with scalable architectures. By the end of the session you should have an understanding of different approaches to seperating your queries from your commands and when to use them.

Commands: With queries under our belt it's time to look at commands. We'll look at how to work with a command bus to decouple your service layer. We will look at using domain events and why they are the missing concept in DDD. We will then talk about event sourcing capture events to allow you to rebuild the state of the system. We will show you how CQRS helps you to scale to meet increasing demand. By the end of this session you should know how to use commands to build a system instead of a more traditional layered architecture.

WANT TO LEARN MORE? THEN CHECK OUT OUR EXPERT WORKSHOPS!

Progressive .NET Tutorials 2011 (Sept 5-7)

After 3 successful years, the Progressive .NET Tutorials return for another year of learning, innovation and sharing skills. Running over three days, with two tutorials per track per day, these 12 magnificent tutorials will feature experts including Jon Skeet, Ian Robinson -- and many others! Get more info here


ABOUT IAN COOPER
Ian is a passionate exponent of the benefits of OO and Agile. He is test-infected and contagious. When he is not writing C# code he is also the founder of the London .NET User Group .
More about Ian Cooper

ABOUT NEIL ROBBINS
Neil is currently working as an applications architect at a multinational insurance company based in the City. He has previously worked variously as a developer, architect, and consultant.
More about Neil Robbins
PODCAST CQRS: WHY, WHAT AND HOW

This session took part at the Progressive .NET Tutorials. You can view the other 13 podcasts here.
PROGRESSIVE .NET PODCASTS
Russel Winder:Python is a High Performance Programming Language, High Performance Python
Russel Winder : 31st Jan 2012
View Podcast: Python is a High Performance Programming Language,
Garry Shutler:Gain Trust and Create Change, Trust & Change
Garry Shutler : 30th Jan 2012
View Podcast: Gain Trust and Create Change,
Phil Trelford:Pacman Kata, f# kata
Phil Trelford : 26th Jan 2012
View Podcast: Pacman Kata,
 :Usable APIs, Usable APIs
: 12th Dec 2011
View Podcast: Usable APIs,
Andreas Ohlund:New and shiny things in NServiceBus 3.0, NServiceBus 3.0
Andreas Ohlund : 7th Dec 2011
View Podcast: New and shiny things in NServiceBus 3.0,
Uncle Bob (Robert C. Martin):Why can't anyone get Web architecture right?, Web architecture
Uncle Bob (Robert C. Martin) : 28th Nov 2011
View Podcast: Why can't anyone get Web architecture right?,
Gojko Adzic:Visualising quality, Visualising quality
Gojko Adzic : 18th Nov 2011
View Podcast: Visualising quality,
Byron Cook:Proving program termination with F#, F# program termination
Byron Cook : 16th Nov 2011
View Podcast: Proving program termination with F#,
Don Syme:KEYNOTE - F# Information Rich Programming, KEYNOTE - F# Information Rich Programmin
Don Syme : 3rd Nov 2011
View Podcast: KEYNOTE - F# Information Rich Programming,
Mark Needham:Programming with the Stars featuring surprise celebrities from C# and F# communities, Programming with the Stars
Mark Needham : 3rd Nov 2011
View Podcast: Programming with the Stars featuring surprise celebrities from C# and F# communities,
Chris Marinos:The F# Koans: An Interactive Way to Learn F# Through Testing, F# Koans with F# Testing
Chris Marinos : 3rd Nov 2011
View Podcast: The F# Koans: An Interactive Way to Learn F# Through Testing,
Tomas Petricek:Asynchronous Programming, Asynchronous Programming
Tomas Petricek : 3rd Nov 2011
View Podcast: Asynchronous Programming,
George Stavroulakis:F# in the cloud: The present and the future, F# in the cloud
George Stavroulakis : 3rd Nov 2011
View Podcast: F# in the cloud: The present and the future,
Robert Pickering:Building Applications with F#, Building Applications with F#
Robert Pickering : 3rd Nov 2011
View Podcast: Building Applications with F#,
Tomas Petricek:Data access in F#, Today and Tomorrow, Data access in F#, Today and Tomorrow
Tomas Petricek : 3rd Nov 2011
View Podcast: Data access in F#, Today and Tomorrow,
OTHER PROGRESSIVE .NET EVENTS
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
Manchester, Monday, February 13th
ThoughtWorks Quarterly Briefings:Is programming language choice a good thing?, ThoughtWorks Quarterly Briefings
FREE EVENT: Is programming language choice
London, Thursday, February 16th
Andreas Ohlund:Udi Dahan's Enterprise Development with NServiceBus,  Udi Dahan's NServiceBus Workshop
4 DAY COURSE. Featuring Andreas Ohlund
London, Monday, February 20th
Andreas Ohlund Putting your events on a diet,  Putting your events on a diet
FREE EVENT: In The Brain of Andreas Ohlund
London, Monday, February 20th
Neo4J User Group:Neo4j in a .NET world, Neo4J User Group
FREE EVENT: Neo4j in .NET
London, Wednesday, February 22nd
Itamar  Syn-Hershko:Ayende Rahien's RavenDB Workshop,  Ayende Rahien's RavenDB Workshop
2 DAY COURSE. Featuring Itamar Syn-Hershko
London, Tuesday, February 28th
Itamar  Syn-Hershko RavenDB indexes explained,  RavenDB indexes explained
FREE EVENT: In The Brain of Itamar Syn-Hershko
London, Tuesday, February 28th
Jon Jagger:Jon Jagger & Kevlin Henney's Agile Development for Developers,  Jon & Kevlin's Agile Development Course
3 DAY COURSE. Featuring Jon Jagger
London, Monday, March 5th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship