Saltar a contenido

Context Map

Purpose

The Context Map defines how all Bounded Contexts in the Bluu ecosystem interact — describing dependencies, integration styles, and responsibility boundaries across domains.

It acts as the contract map between domain teams, guiding architecture decisions, service ownership, and event-driven communication.


Overview

Each Bounded Context encapsulates a specific part of the domain with its own models, rules, and persistence.

The Context Map captures:

  • Which domains produce or consume data/events.
  • How commands, events, and queries flow across the ecosystem.
  • Which relationships are upstream (data producers) or downstream (data consumers).
  • What communication style is used (synchronous API or asynchronous events).

Relationship Types

Relationship Description Example
Upstream → Downstream Data or events flow from one domain to another. The downstream adapts to the upstream model. Ledger → Categorization
Customer–Supplier Downstream requests services from upstream, which adapts to downstream needs. Assistant → Forecasting
Conformist Downstream follows upstream model strictly; minimal translation. Budgeting → Ledger
Anticorruption Layer (ACL) Translation layer used to protect downstream from upstream changes. Integration → Ingestion
Shared Kernel Common model fragment shared and versioned together. IAM ↔ Consent
Open Host Service Public API provided by a domain for internal or external consumers. Integration Platform APIs
Published Language Shared event schema enabling communication across domains. TransactionPosted, GoalFunded, AdviceGenerated

Integration Principles

  • Synchronous (API): Used for real-time needs (Assistant → Forecasting → Advice).
  • Asynchronous (Events): Used for domain notifications and eventual consistency (Ledger → Budgeting → Forecasting).
  • Policy Enforcement: IAM and Consent domains validate every cross-domain access.
  • Event-Driven Ownership: Only the domain that owns an aggregate can emit its canonical events.
  • Read Models (Green): Derived data for queries or UI use-cases — never a source of truth.

Context Map Diagram

https://miro.com/app/live-embed/uXjVJ4dRYlA=/?embedMode=view_only_without_ui&moveToViewport=-502%2C-1210%2C1359%2C1153&embedId=76400054414



Integration Principles

  • Synchronous (API): Used for real-time needs (Assistant → Forecasting → Advice).
  • Asynchronous (Events): Used for domain notifications and eventual consistency (Ledger → Budgeting → Forecasting).
  • Policy Enforcement: IAM and Consent domains validate every cross-domain access.
  • Event-Driven Ownership: Only the domain that owns an aggregate can emit its canonical events.
  • Read Models (Green): Derived data for queries or UI use-cases — never a source of truth.