Here are definitions for terms that actively used in docs
The system where commands are executing. That leads to changes in a specific source bounded context and the data in it's storage
High-level NuClear River platform component responsible for serving client's queries to Read Model
High-level NuClear River platform component responsible for external events processing to sync the data in Read Model's storage with the data of the source system
Descriptions on DSL based on C# for configuration. This is the way to customize NuClear River behaviour for a specific bounded context. Here is the sample:
HierarchyMetadata aggregateConstructionMetadataRoot =
HierarchyMetadata
.Config
.Id.Is(Metamodeling.Elements.Identities.Builder.Metadata.Id.For<ReplicationMetadataIdentity>(ReplicationMetadataName.Aggregates))
.Childs(AggregateMetadata<Firm>
.Config
.HasSource(Specs.Map.Facts.ToCI.Firms)
.HasValueObject(Specs.Map.Facts.ToCI.FirmActivities, Specs.Find.CI.FirmActivities)
.HasValueObject(Specs.Map.Facts.ToCI.FirmBalances, Specs.Find.CI.FirmBalances)
.HasValueObject(Specs.Map.Facts.ToCI.FirmCategories, Specs.Find.CI.FirmCategories)
.HasValueObject(Specs.Map.Facts.ToCI.FirmTerritories, Specs.Find.CI.FirmTerritories),
AggregateMetadata<Client>
.Config
.HasSource(Specs.Map.Facts.ToCI.Clients)
.HasValueObject(Specs.Map.Facts.ToCI.ClientContacts, Specs.Find.CI.ClientContacts),
AggregateMetadata<Project>
.Config
.HasSource(Specs.Map.Facts.ToCI.Projects)
.HasValueObject(Specs.Map.Facts.ToCI.ProjectCategories, Specs.Find.CI.ProjectCategories),
AggregateMetadata<Territory>
.Config
.HasSource(Specs.Map.Facts.ToCI.Territories),
AggregateMetadata<CategoryGroup>
.Config
.HasSource(Specs.Map.Facts.ToCI.CategoryGroups));
UseCases is an another name for Domain Events. These events originated in a source system as a result of commands execution. NuClear River processes these events throught ETL-pipeline to build data in Read Model's storage. Events processing is a part of a Replication
Specifications makes it possible to use expressions as objects. It gives high level code reuse possibility and makes NuClear River customizable. See NuClear Aggregates Layer project docs for details
Storage used in Replication component that store data from source system. Usually, it use the same storage type and similar data schema as source system. The data stored here is used to track changes in the source system for further aggregates costruction. It's a subset of the data of the source system that needed for specific bounded context only
Term used for objects from bounded context's description in sense of Domain-Driven Design, DDD. Aggregates is a cluster of domain objects that can be treated as a single unit. Aggregates storage is the storage within Replication component to store aggregates
An Assertion about some design element that must be true at all times, except during specifically transient situations such as the middle of the execution of a method, or the middle of an uncommitted database transaction