dataspace-mgm-services

9. Architecture decisions

Date Decision Reason
6 Nov 2026 Events as CloudEvents 1.0 and the event inbox POST /api/v1/events/inbox for split-out modules (ADR-0001, proposal OP-54). A standard format for transport and tooling; envelope and content separated; a module only publishes its own events.
28 Oct 2026 OSP 2.0: every OSP runs its own portal installation, the CSP provides trust. PSP admission, delegation and sign-in services per PSP are dropped; CSP Connection (C3-M2) is new. No single party should run the portal for all participants of a dataspace.
26 Oct 2026 Callbacks from external systems use one service account per system with private_key_jwt, a client secret only as a transition (OP-22). Strong authentication of external systems.
– Modular monolith in Python with FastAPI; modules call each other through their public interface in the same process. Simple operation now, modules can be split out later without changing callers.
– Flows as data in Process Orchestration; modules call each other directly only for queries. Flows can change without changing the modules.
– One database per module, events through an outbox. Loose coupling, no shared data model.
– Sign-in without passwords through the EBW-Connector as the only identity provider. The Company IAM with one realm per company is removed.

Decisions with a full record (context, alternatives, consequences) are in decisions/.

The open questions that concern several modules are tracked as OP-xx in open-points.md of the specification; the provisional decisions of each module are listed in its own open-points.md.

NOTICE

This work is licensed under the CC-BY-4.0.