Event Mesh¶
Executive Summary¶
Event Mesh defines the logical routing fabric for Algosure events. It connects Spring Modulith internal events, outbox-backed delivery, AIOS orchestration, notification triggers, analytics projections, integration events, and future external event channels.
Why This Exists¶
Algosure should not couple modules through hidden direct calls or shared database access. The Event Mesh gives source Domains a governed way to publish facts and lets consumers react without taking ownership of those facts.
Owner¶
The owner is the Chief Product Officer and Enterprise Architect.
Business Value¶
The Event Mesh supports cross-domain processes, AIOS coordination, analytics, notifications, integrations, auditability, and future replay without forcing premature infrastructure choices.
Mesh View¶
flowchart LR
subgraph Publishers["Event Publishers"]
Identity[Identity]
Organization[Organization]
Compliance[Compliance]
Opportunity[Opportunity]
Bid[Bid]
Contract[Contract]
Supplier[Supplier]
Marketplace[Marketplace]
Funding[Funding]
Learning[Learning]
Billing[Billing]
Administration[Administration]
end
Mesh[Logical Event Mesh]
subgraph Consumers["Event Consumers"]
Process[Cross-Domain Process Coordination]
AIOS[AIOS Event Orchestration]
Notification[Notification Triggers]
Analytics[Analytics Projections]
Integration[Integration Event Boundary]
Audit[Event Audit Trail]
end
Publishers --> Mesh
Mesh --> Consumers
Mesh Responsibilities¶
| Responsibility | Meaning |
|---|---|
| Route events | Deliver published facts to subscribed consumers. |
| Preserve metadata | Carry tenant ID, organization ID, correlation ID, causation ID, event ID, event version, and source information. |
| Decouple modules | Prevent consumers from depending on publisher repositories, database tables, or internal models. |
| Support reliability | Align with outbox, retry, idempotency, dead-letter handling, and future replay needs. |
| Support observability | Make event flow traceable for audit, debugging, and operational review. |
Mesh Boundaries¶
| Boundary | Architecture Rule |
|---|---|
| Spring Modulith internal events | Primary mechanism for internal module coordination in the Modulith. |
| Outbox boundary | Future-safe delivery mechanism for reliable asynchronous publication. |
| Integration boundary | External events are translated into or from domain-owned facts. |
| AIOS boundary | AIOS consumes events to orchestrate work but does not own source facts. |
| Notification boundary | Notification triggers are derived from events but do not determine source business state. |
| Analytics boundary | Analytics projections consume events and remain downstream from operational ownership. |
Non-Implementation Boundary¶
This document does not choose a broker, stream platform, queue topology, routing key format, transport protocol, or managed cloud service.