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¶
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.