Enterprise Metadata Management System  ·  View 03 of 22  ·  Structure

Layered Architecture

The dependency rule: which layer is allowed to call which, and where the cross-cutting concerns sit.

Editable source SVG draw.io All views
Experience
Experience
Catalog & Search UI
Catalog & Search UI
Asset Profile
Asset Profile
Glossary Workbench
Glossary Workbench
Lineage Explorer
Lineage Explorer
Stewardship Inbox
Stewardship Inbox
Governance Console
Governance Console
Access
Access
GraphQL API
GraphQL API
REST API
REST API
Event Egress
Event Egress
Bulk Import / Export
Bulk Import / Export
SDK & CLI
SDK & CLI
Metadata services
Metadata services
Search Service
Search Service
Lineage Service
Lineage Service
Glossary Service
Glossary Service
Classification Service
Classification Service
Quality Metadata
Quality Metadata
Workflow Engine
Workflow Engine
Core platform
Core platform
Model & Schema Registry
Model & Schema Registry
Merge & Precedence
Merge & Precedence
Versioning & History
Versioning & History
Entitlement Filter
Entitlement Filter
Persistence
Persistence
Aspect Store
Aspect Store
Knowledge Graph
Knowledge Graph
Search Index
Search Index
Audit Log
Audit Log
Payload Archive
Payload Archive
Ingestion
Ingestion
Connector Framework
Connector Framework
Harvest Orchestrator
Harvest Orchestrator
Metadata Event Bus
Metadata Event Bus
Enrichment Workers
Enrichment Workers
Drift Detector
Drift Detector
Cross-cutting
Cross-cutting
Identity & Access
Identity & Access
Secrets & Keys
Secrets & Keys
Notification
Notification
Observability
Observability
Backup & DR
Backup & DR
Layered Architecture
Layered Architecture
A layer calls only the layer below it. Ingestion reaches persistence through the core platform, never directly.
A layer calls only the layer below it. Ingestion reaches persistence through the core platform, never directly.
v 1.0 · owner Data & AI Architecture · date 2026-08
v 1.0 · owner Data & AI Architecture · date 2026-08
Text is not SVG - cannot display

The rule

  • A layer calls only the layer directly below it. Ingestion never writes to persistence directly — it goes through merge and precedence, which is the only component permitted to author a version.
  • The entitlement filter sits in the core platform, below every service. Authorisation applied per service is authorisation eventually forgotten in one of them.

Extensibility

  • The model and schema registry is a runtime component, not a build-time artefact: a new aspect type is registered, versioned and validated without a platform release (view 17).
  • The connector framework loads plugins. A new source type is a new package, not a fork.

Risk

  • Seven layers is a lot of indirection for a small team. The mitigation is that the metadata services layer is intentionally thin — most services are a few hundred lines over the core platform.