235 lines
4.7 KiB
JSON
235 lines
4.7 KiB
JSON
{
|
|
"version": "1.1",
|
|
"id": "ports-adapters",
|
|
"title": "ports-adapters runtime fixture",
|
|
"question": "Does the ports-adapters logical composition render correctly?",
|
|
"type": "architecture",
|
|
"direction": "LR",
|
|
"audience": [
|
|
"renderer maintainer"
|
|
],
|
|
"summary": "Executable ports-adapters fixture.",
|
|
"alt": "Executable technical diagram fixture for the ports-adapters composition profile.",
|
|
"long_description": "This fixture validates the node roles, edges, and layout rules of the ports-adapters profile.",
|
|
"source_context": {
|
|
"document": "examples/runtime-profiles/fixture.md",
|
|
"document_sha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
|
"anchor": {
|
|
"kind": "line",
|
|
"value": 1,
|
|
"line": 1
|
|
}
|
|
},
|
|
"composition": {
|
|
"profile": "ports-adapters",
|
|
"diagram_only": true,
|
|
"reference_ids": [
|
|
"order-ports-adapters"
|
|
],
|
|
"rationale": "Runtime regression fixture for ports-adapters.",
|
|
"focus_node": "core"
|
|
},
|
|
"groups": [],
|
|
"nodes": [
|
|
{
|
|
"id": "web",
|
|
"label": "Web Adapter",
|
|
"kind": "adapter",
|
|
"role": "inbound-adapter",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"details": [
|
|
"REST · inbound"
|
|
]
|
|
},
|
|
{
|
|
"id": "batch",
|
|
"label": "Test / Batch",
|
|
"kind": "adapter",
|
|
"role": "inbound-adapter",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"details": [
|
|
"inbound"
|
|
]
|
|
},
|
|
{
|
|
"id": "in-port",
|
|
"label": "Input Port",
|
|
"kind": "interface",
|
|
"role": "port",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"shape": "port"
|
|
},
|
|
{
|
|
"id": "core",
|
|
"label": "Application Core",
|
|
"kind": "domain",
|
|
"role": "core",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"shape": "hexagon",
|
|
"emphasis": "primary",
|
|
"details": [
|
|
"domain + use cases"
|
|
]
|
|
},
|
|
{
|
|
"id": "out-port",
|
|
"label": "Output Port",
|
|
"kind": "interface",
|
|
"role": "port",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"shape": "port"
|
|
},
|
|
{
|
|
"id": "persistence",
|
|
"label": "Persistence Adapter",
|
|
"kind": "adapter",
|
|
"role": "outbound-adapter",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"details": [
|
|
"JPA · outbound"
|
|
]
|
|
},
|
|
{
|
|
"id": "db",
|
|
"label": "DB",
|
|
"kind": "database",
|
|
"role": "external-system",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"shape": "database"
|
|
}
|
|
],
|
|
"edges": [
|
|
{
|
|
"id": "web-port",
|
|
"from": "web",
|
|
"to": "in-port",
|
|
"label": "call",
|
|
"kind": "request",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false
|
|
},
|
|
{
|
|
"id": "batch-port",
|
|
"from": "batch",
|
|
"to": "in-port",
|
|
"label": "call",
|
|
"kind": "request",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false
|
|
},
|
|
{
|
|
"id": "port-core",
|
|
"from": "in-port",
|
|
"to": "core",
|
|
"label": "invoke use case",
|
|
"kind": "request",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false,
|
|
"emphasis": "primary"
|
|
},
|
|
{
|
|
"id": "core-out",
|
|
"from": "core",
|
|
"to": "out-port",
|
|
"label": "requires",
|
|
"kind": "request",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false
|
|
},
|
|
{
|
|
"id": "adapter-out",
|
|
"from": "persistence",
|
|
"to": "out-port",
|
|
"label": "implements",
|
|
"kind": "dependency",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false
|
|
},
|
|
{
|
|
"id": "adapter-db",
|
|
"from": "persistence",
|
|
"to": "db",
|
|
"label": "JDBC",
|
|
"kind": "request",
|
|
"evidence": [
|
|
{
|
|
"start_line": 1,
|
|
"end_line": 1
|
|
}
|
|
],
|
|
"assumption": false
|
|
}
|
|
],
|
|
"legend": [],
|
|
"metadata": {
|
|
"fixture": true
|
|
}
|
|
}
|