Tutorial 6: Data Architecture & Data Flow Lifecycles
In Tutorial 5, you established NeoBank's customer value streams and business capability realization pipelines.
As customers progress through onboarding and submit payments, data moves continuously across microservices, streaming pipelines, and persistence tiers. Enterprise architecture models must explicitly capture data lineage, information sensitivity, Personally Identifiable Information (PII), and the security controls safeguarding these assets.
In this tutorial, you will learn how to:
- Define information schemas using Data Objects (
data_object). - Classify sensitivity with
classificationtiers (Restricted,Confidential) and privacy flags (pii true). - Model application data lifecycles using
readsandwritesrelationships. - Bind cryptographic safeguards using
protectsverbs. - Project a dedicated Data Flow View (
data_flow) tracking data movement across applications and stage boundaries.
1. Expanding the NeoBank Workspace Layout
We will enrich the application domain fragment (application/customer_onboarding.ea) with data objects, ledger services, and streaming event listeners:
neobank/
├── main.ea
├── strategy/
│ └── goals_kpis.ea
├── business/
│ ├── actors.ea
│ ├── capabilities.ea
│ └── value_streams.ea
├── application/
│ └── customer_onboarding.ea # [UPDATED] Data objects, CRUD verbs & payment services
├── technology/
│ └── environments.ea
├── security/
│ └── security_architecture.ea
└── governance/
└── policies.ea
2. Model Data Objects & Information Lifecycles
Update application/customer_onboarding.ea to declare the customer profile and core ledger transaction records, along with their data interactions:
layer "Application Architecture" {
data_object data_customer_record "Customer Profile & KYC Dossier" {
description "Applicant identity verification payload including name, national ID, and biometric hash"
classification "Restricted"
pii true
}
data_object data_ledger_tx "Core Ledger Transaction Record" {
description "Double-entry accounting transaction record persisting debits, credits, and timestamps"
classification "Confidential"
}
system system_payments "Payment Hub Platform" {
description "Instant payment gateway and transaction router"
criticality "Mission-Critical"
status "Active"
app app_instant_pay "Instant Payments API" {
tier "Tier-1"
internet_facing true
relationships {
this flows_to system_core_banking "Posts cleared payments"
this writes data_ledger_tx "Persists debit/credit ledger transactions"
}
}
app app_aml_monitor "Streaming AML Fraud Monitor" {
description "Kafka streaming analytics engine evaluating real-time transaction anomalies"
tier "Tier-1"
relationships {
this reads data_ledger_tx "Inspects live payment stream"
}
}
}
}
In application/customer_onboarding.ea, also wire the customer mobile banking client and cryptographic security controls:
app app_mobile_banking "NeoBank Mobile App" {
relationships {
this writes data_customer_record "Submits encrypted KYC applicant payload"
}
}
And in security/security_architecture.ea, protect the restricted customer dossier with tokenization:
control control_card_tokenization {
relationships {
this protects data_customer_record "Enforces field-level AES-256 vault tokenization"
}
}
3. Project the Data Flow View (main.ea)
In main.ea, declare the data_flow view to visualize the end-to-end data lifecycle from user entry down to persistence and fraud monitoring:
views {
// ... previous views ...
data_flow data_flow_view "Customer & Ledger Data Flow" {
description "Data lifecycle showing customer KYC profiles, payment transactions, and protective encryption controls across stages."
tags ["Data Architecture", "PII", "Data Flow", "Governance"]
include customer
include app_mobile_banking
include app_instant_pay
include system_core_banking
include app_aml_monitor
include data_customer_record
include data_ledger_tx
include control_card_tokenization
auto_layout LeftToRight
}
}
4. Visual Projection: data_flow_view
Data Flow View illustrating data object transformations, PII classifications, and protective security controls
Key Features Promoted in this View:
- Information Architecture (
data_object): Highlights schemas, payloads, and entities as first-class architectural elements. - Privacy & Sensitivity Badges: Visually distinguishes
pii trueandclassification "Restricted"assets so security stewards can audit exposure. - Read & Write Lineage: Traces which applications create records (
writes) and which downstream services evaluate them (reads). - Control Association: Confirms that high-risk assets are explicitly shielded by governing security controls (
protects).
5. Validate the Workspace
Run the CLI validator to verify that all data objects and relationship verbs resolve cleanly:
scapius validate ./neobank
Validation Successful! Workspace 'Neo Bank Enterprise Architecture' is valid.
Next Steps
With value streams and data architecture established, proceed to Tutorial 7: AI Agents in EA to model autonomous AI agents, copilots, autonomy levels, and streaming integration topologies.