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.
C4-PlantUML/samples/C4model.com/C4_Container Diagram Sample...

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