Skip to content

Read Model Architecture

Executive Summary

Read Model Architecture defines query-optimized projections for Algosure. Read models support mobile, web, workflow, reporting, search, and cross-domain views without becoming source-of-truth owners.

Why This Exists

Algosure needs efficient views across Domains, but direct cross-module database reads would violate DDD ownership. Read models allow consumers to read useful views while source Domains keep operational ownership.

Owner

The owner is the Chief Product Officer and Enterprise Architect.

Business Value

Read models improve user experience, API performance, and reporting while keeping source facts protected by their owning Domains.

Read Model Flow

flowchart LR
    Source[Source Domain]
    Event[Domain Event]
    Projection[Projection Builder]
    ReadModel[(Read Model)]
    API[Query API]
    Client[Mobile / Web / Internal Consumer]

    Source --> Event
    Event --> Projection
    Projection --> ReadModel
    ReadModel --> API
    API --> Client

Read Model Types

Read Model Type Purpose
Domain read model Query view owned by a single Domain for its own APIs and workflows.
Cross-domain read model Governed projection combining facts from multiple Domains without owning source facts.
Workflow read model Process-oriented view for tasks, approvals, status, exceptions, and deadlines.
Mobile read model Compact, network-efficient view optimized for mobile experiences.
Executive read model Summary view for CEO, leadership, Board Room, and decision workflows.
Analytics projection Reporting or KPI-oriented projection owned by Analytics.

Read Model Rules

Rule Requirement
Source facts stay with Domains Read models do not become authoritative operational records.
Rebuildable where practical Read models should be rebuildable from source facts, events, or approved extracts.
Tenant context is mandatory Read models must preserve TenantId and OrganizationId where applicable.
Projection ownership is explicit Each read model has an owning Domain, workflow, or Analytics owner.
Staleness is visible Consumers should understand whether read models are current, delayed, or eventually consistent.
Security applies to reads Read models must enforce tenant, organization, role, permission, entitlement, and data classification rules.

Non-Implementation Boundary

This document does not define read model tables, materialized view syntax, caching strategy, projection code, or synchronization schedules.