flowchart TB
user(user)
user--personal data-->bff
subgraph external [Internet]
direction LR
entraId[Entra ID]
bff((Frontdoor\nBFF))
react((React\nWeb UI))
bff-->react
react-.api calls.->bff
end
subgraph dmz [Internal Network]
direction LR
ldb[|borders:tb|legacy db]
servers((Servers API))
bff--api routes-->api
db<-->api
api-.->legacy-api
api-.->entraId
api-->mediation
subgraph cc-api [CommandCenter API]
direction LR
db[|borders:tb|database]
api((CommandCenter\nAPI))
end
subgraph legacy-api [Legacy CC]
direction LR
legacy((Legacy API))
legacy-service((CC Service))
bff--legacy api routes-->legacy
legacy<-->ldb
legacy-service<-->ldb
end
subgraph mediation [Mediation Layer]
direction LR
servers-.->ldb
end
subgraph benefit [BenefitManager]
direction LR
db-customer[|borders:tb|customer db]
bm-service((BenefitManager\nService))
bm-app((BenefitManager\nWeb))
api -- "`versioned req/res`" --> bm-app
bm-service <--> db-customer
bm-app <--> db-customer
end
end
%% Element type definitions
classDef boundary fill:none
dmz:::boundary
external:::boundary
classDef apis stroke-dasharray: 5 5
legacy-api:::apis
mediation:::apis
cc-api:::apis
benefit:::apis