cqrs

What's the best practice to denormalize in CQRS?

I am trying to create a deamon to denormalize my Database. I use ActiveMQ as queue manager I have 2 data bases: Relational one (write + replication), and denormalized one (for reads) My question is what's the best practice to denormalize my real DB I have some ideas: MySQL proxy (with lua) which reads the Queue (is this possible) Tri...

CQRS: Syncrhonizing the Write and Read databases

Hi guys, Can anyone please give me some direction in regards to various ways to synchronize the Write and Read databases? What are different technologies out there, and how do you evaluate each, in terms of realiability, performance, cost to implement, etc. Any advice would be greatly appreciated. Mosh ...

What are the Transactional Boundaries for Command Handlers and Execution?

Let's take an example UI for editing Customer information. The user edits 5 fields and presses "submit". Because we're good abstractionists, we've taken the edits to the 5 fields and make them different commands (describing the edit to a particular field). The command handlers end up setting properties on objects that are persisted with...

CQRS - Should CommandHandlers Invoke other CommandHandlers

Just trying to get some opinions on whether or not CommandHandlers can/should communicate with other CommandHandlers. Here is a simple case I just ran into. I have a ChangePasswordCommandHandler who's command looks like the following: public class ChangePasswordCommand : Command { public string Email { get; } public string OldP...

CQRS, DDD synching reporting database

We are trying CQRS and DDD and event sourcing. Let's say I have a customer update an email address, which fires out CustomerUpdatesEmailAddress Event, this goes through to my operational (write DB) and updates the tables. Our system is designed such there is an ETL process that runs which takes operational data and updates the database (...

CQRS - Consuming event service

Hi, My question is regarding the consuming event services which subscribes to the event published by commands in CQRS. Say I have a document generation service which will generate some documents based on certain events, does the document generation service load the data from the domain via an aggregate root? If so, wouldn't the docume...

CQRS - Eventual Consistency

Hi, I have the following scenario which I need to implement following the CQRS pattern: a user logs in the user enters some insurance details the user ask for a decision to be applied the user views the result of the decision this seems fairly straightforward, however my problem is between step 3 and 4, on step 3 I send a ApplyForDe...

Can CQRS be used for a site like StackOverflow?

Can you use the CQRS (Command-Query Responsibility Segregation) architectural pattern to build a site like StackOverflow? I'm relatively new to CQRS and DDD (Domain Driven Design) and am exploring the pattern and trying to model sites that I'm familiar with to the pattern. While I can see CQRS being useful for many aspects for a site l...

multiple aggregate root creation in one single transcation in CQRS

I would like to know how multiple aggregate root are created in CQRS. Example: I have a handset aggregate root and Simcard aggregate root. The id from these aggregate should be part of subscription aggregate root . i need to create a Subscription aggregate based on SimCard and an Handset.SimCard and Handset aggregate do not exist in...

CQRS - How do I handle a user viewing a page or query

I'm using CQRS for an application that I'm building (an online discussion system with complex business logic) and I've reached a part in the implementation that worries me. How should I handle pageviews? If a user views a thread, I want to track that. Because I want to track that, it follows that I should create a command and an event, ...

Do we need a mix of synchronous and asynchronous command handlers in CQRS?

A user registers on our site and gets logged in. A RegsiterUserCommand is sent to an asynchronous command handler. The user wants to change their address but the RegisterUserCommand has not been processed yet. There is no user record in the system. Is this a case for synchronous command handlers? A user record would be created prior t...

Handling NServiceBus timeouts correctly

NServiceBus provides a timeout mechanism. From nservicebus.com: The RequestTimeout method on the base class tells NServiceBus to send a message to another endpoint which will durably keep time for us ... There's a process that comes with NServiceBus called the Timeout Manager which provides a basic implementation of thi...

End to end example of CQRS implementation on top of AppEngine

All of the infrastructure components required to implement a CQRS based application seem to be out of the box within AppEngine. Unfortunately, I can't find anything related to this subject. Few possible reasons It's a well kept secret beyond "Architecture Astronauts" It's a worthless overkill architecture because AppEngine scales ou...

CQRS Command and domain state

Hello, I am new to CQRS and confused on how command will write a address change to a customer object Lets say I have divided customer information into two tables customer - Domain database Active Preferred Customer_Read database Name, Address, Phone, email User modifies address of the customer. The address fields are all in re...

Questions about CQRS

I get the general concept of CQRS, but I've got a few questions when it comes to moving beyond the example code and slide decks that are out there to dealing with real world problems. Validation When you need to do validation of a command that involves checking values from the database, what do you do? Take registration for a service...

CQRS and Domain Events

Hello, CQRS has got me into thinking mode.. I am tryinng to start a new project with CQRS ideas. The main things that I like is 1) the separation of Query and Command. Our Domain queries have been a problem. 2) Using Event Storage for Audit - I wont be using it for Replay - AT least not now. I am good with the query side and I still ...

Showing changes in View when using CQRS & DDD with Domain Events & ServiceBus

I'm a little confused about the flow in a system using domain events to build the read model. Particularly, how do we deal with the fact that the user expects data (and its view) to change when they complete a command, but due to our system architecture (non-blocking calls to publish events) the actual database might not change before t...

ASP.NET MVC Three Tier - what's everyone else doing?

When I start work on a new web application I tend to reach for the same tried & tested architecture of ASP.NET MVC, BLL (consisting of a set of services that contain all business logic) and a DAL (consisting of a set of repositories that facilitate the unit of work pattern over something like EF/*Linq to SQL*). The controllers talk only...

Alternatives to many-to-many relationships with CQRS

How do we model classic many-to-many relationships with CQRS/DDD? I know that both DDD and CQRS implementations and solutions tend to be domain-specific, so it may be difficult to come up with a general answer to this question. However, let's assume we have the familiar relationship between Book and Author. This is a classic many-to-ma...

Event Sourcing and Read Model generation

Assuming Stack Overflow domain problem and the following definition of events: UserRegistered(UserId, Name, Email) UserNameChanged(UserId, Name) QuestionAsked(UserId, QuestionId, Title, Question) Assuming the following state of event store (in the order of appearance): 1) UserRegistered(1, "John", "[email protected]") 2) UserNameChanged...