You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.7 KiB
Plaintext
33 lines
1.7 KiB
Plaintext
@startuml
|
|
!includeurl https://raw.githubusercontent.com/RicardoNiepel/C4-PlantUML/master/C4_Container.puml
|
|
' uncomment the following line and comment the first to use locally
|
|
' !include C4_Container.puml
|
|
|
|
LAYOUT_WITH_LEGEND
|
|
|
|
title Container diagram for Internet Banking System
|
|
|
|
Person(pbc, "Personal Banking Customer", "A customer of the bank, with personal bank accounts.")
|
|
System_Ext(es, "E-mail system", "The internal Microsoft Exchange e-mail system.")
|
|
System_Ext(mbs, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
|
|
System_Boundary(ibs, "Internet Banking") {
|
|
Container(wa, "Web Application", "java and Spring MVC", "Delivers the static content and the internet banking single page application.")
|
|
Container(spa, "Single Page Application", "javascript and angular", "Provides all the internet banking functionality to customers via their web browser.")
|
|
Container(ma, "Mobile App", "Xamarin", "Provides a limited subset ot the internet banking functionality to customers via their mobile mobile device.")
|
|
Container(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
|
|
Container(api, "API Application", "java and String MVC", "Provides internet banking functionality via a JSON/HTTP API.")
|
|
|
|
Rel(api, es, "Sends e-mails", "SMTP")
|
|
Rel(api, mbs, "Uses", "XML/HTTPS")
|
|
Rel(api, db, "Reads & writes to", "JDBC")
|
|
Rel(wa, spa, "Delivers")
|
|
Rel(spa, api, "Uses", "JSON/HTTPS")
|
|
Rel(ma, api, "Uses", "JSON/HTTPS")
|
|
}
|
|
|
|
Rel(pbc, wa, "Uses", "HTTPS")
|
|
Rel(pbc, spa, "Uses")
|
|
Rel(pbc, ma, "Uses")
|
|
Rel(es, pbc, "Sends e-mails to")
|
|
@enduml
|