Clarified CQRS
After listening how the community has interpreted Command-Query Responsibility Segregation I think that the time has come for some clarification. Some have been tying it together to Event Sourcing....
View ArticleCQRS Video Online
A couple of weeks ago I gave a talk on Command/Query Responsibility Segregation in London. The recording of the talk is online here. There is one important thing that I didn’t have enough time to...
View ArticleCQRS isn’t the answer – it’s just one of the questions
With the growing interest in Command/Query Responsibility Segregation (CQRS), more people are starting to ask questions about how to apply it to their applications. CQRS is actually in danger of...
View ArticleCQRS, DDD, and NServiceBus video
Following the theme of my last few blog posts, this post will also be pointing you to videos of me talking. After I had finished speaking at QCon London last March, I sat down for a short interview...
View ArticleRace Conditions Don’t Exist
Not in the business world anyway. The problem is that, as software developers, we’re all too quick to accept them at face value. We don’t question the requirements – in all fairness, it was never our...
View ArticleWhen to avoid CQRS
It looks like that CQRS has finally “made it” as a full blown “best practice”. Please accept my apologies for my part in the overly-complex software being created because of it. I’ve tried to do what I...
View ArticleInconsistent data, poor performance, or SOA – pick one
One of the things that surprises some developers that I talk to is that you don’t always get consistency even with end-to-end synchronous communication and a single database. This goes beyond things...
View ArticleWhy you should be using CQRS almost everywhere…
… but differently than the way most people have been using it. I think I’ve just about drove everybody crazy now with my apparent zigzagging on CQRS. Some people heard about CQRS first from one of my...
View ArticleRecording of joint interview with Eric Evans
Last month both myself and Eric Evans spoke at a conference run by the International Association of Software Architects (IASA) in Madrid. Eric talked about DDD and I talked about CQRS. While the talks...
View ArticleUdi & Greg Reach CQRS Agreement
Hard to believe, isn’t it? Although both myself and Greg have been saying (quite publicly) for a long time now that we’re in agreement in about 99% of the DDD/CQRS content we talk about, it turns out...
View ArticleCommon CQRS Abuses
Abuse #1 “I’m using CQRS because I need to scale.” While CQRS may be more scalable than other more traditional architectures, the use of asynchronous communication often complicates the user...
View ArticleA CQRS Journey – with and without Microsoft
Update – clarification post here. I was on a call recently with the Advisory Board for the Microsoft Patterns & Practices (P&P) CQRS Journey project where they were showing the current state of...
View ArticleUI Composition Techniques for Correct Service Boundires
One of the things which often throws people off when looking to identify their service boundaries is the UI design. Even those who know that the screen a user is looking at is the result of multiple...
View ArticleBandwidth, Priority, and Service Contracts
Here’s a small quick tip that can help you improve the performance of important use cases in your systems. It doesn’t require very many changes to your code and can improve matters when your system is...
View ArticleData Duplication and Replication
Occasionally I’ll get questions from people who have been going down the CQRS path about why I’m so against data duplication. Aren’t the performance benefits of a denormalized view model justified,...
View ArticleQueries, Patterns, and Search – food for thought
With all the talk of CQRS, the area that doesn’t get enough treatment (in my opinion) is that of queries. Many are already beginning to understand the importance of task-based UIs and how that aligns...
View ArticleWatch out for superficial invariants
As I was reading a blog post on CQRS, Aggregate Roots, and Invariants here, I became aware of a mistake I’ve seen many developers make over the years and I thought I’d call it out real quick....
View Article