Warning This documentation is a work in progress.
Did you ever had following issues?
If the answer is yes, then you may find it useful to apply CQRS implementation pattern. NuClear River is the platform that makes your life with "Q" letter in CQRS abbreviation (Commands and Query Responsibility Segregation) much easer.
Here is the big picture how NuClear River can be used in your environment:
Basically, to build Read Model you do not need anything other than events that generated as the result of commands execution in the the source system. Structure of these events may be different, but they must contain identities of entities that has been changed. In some cases they can contain detailed changes descriptions, but it is not necessary.
It is also important that you can build Read Model just for a specific bounded context of your domain. Structure of the data of resulting Read Model can be defined based on querying needs (e.g. denormalized) and can be totally different from the data structure in the source system where it was definded based on create/update/delete needs. Moreover, resulting Read Model can contain data comes from many source systems.
The result that you achieve when using NuClear River - read and write stacks are separated and can be developed independenly, so it is a fast way to move to CQRS-way of application design in specific part of business logic (business processes) of your application(s).
There are some keywords here:
See Terms chapter for detailed definitions.
High-level design of NuClear River described in the next chapter.