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.
54 lines
2.6 KiB
Plaintext
54 lines
2.6 KiB
Plaintext
@startuml
|
|
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Deployment.puml
|
|
' uncomment the following line and comment the first to use locally
|
|
' !include C4_Deployment.puml
|
|
|
|
AddTagSupport("fallback", $bgColor="#c0c0c0")
|
|
|
|
' dynamic legend is used (activated in last line)
|
|
' LAYOUT_WITH_LEGEND()
|
|
|
|
title Deployment Diagram for Internet Banking System - Live
|
|
|
|
Deployment_Node(plc, "Big Bank plc", "Big Bank plc data center"){
|
|
Deployment_Node(dn, "bigbank-api***\tx8", "Ubuntu 16.04 LTS"){
|
|
Deployment_Node(apache, "Apache Tomcat", "Apache Tomcat 8.x"){
|
|
Container(api, "API Application", "Java and Spring MVC", "Provides Internet Banking functionality via a JSON/HTTPS API.")
|
|
}
|
|
}
|
|
Deployment_Node(bigbankdb01, "bigbank-db01", "Ubuntu 16.04 LTS"){
|
|
Deployment_Node(oracle, "Oracle - Primary", "Oracle 12c"){
|
|
ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
|
|
}
|
|
}
|
|
Deployment_Node(bigbankdb02, "bigbank-db02", "Ubuntu 16.04 LTS", $tags="fallback") {
|
|
Deployment_Node(oracle2, "Oracle - Secondary", "Oracle 12c", $tags="fallback") {
|
|
ContainerDb(db2, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.", $tags="fallback")
|
|
}
|
|
}
|
|
Deployment_Node(bb2, "bigbank-web***\tx4", "Ubuntu 16.04 LTS"){
|
|
Deployment_Node(apache2, "Apache Tomcat", "Apache Tomcat 8.x"){
|
|
Container(web, "Web Application", "Java and Spring MVC", "Delivers the static content and the Internet Banking single page application.")
|
|
}
|
|
}
|
|
}
|
|
|
|
Deployment_Node(mob, "Customer's mobile device", "Apple IOS or Android"){
|
|
Container(mobile, "Mobile App", "Xamarin", "Provides a limited subset of the Internet Banking functionality to customers via their mobile device.")
|
|
}
|
|
|
|
Deployment_Node(comp, "Customer's computer", "Mircosoft Windows of Apple macOS"){
|
|
Deployment_Node(browser, "Web Browser", "Google Chrome, Mozilla Firefox, Apple Safari or Microsoft Edge"){
|
|
Container(spa, "Single Page Application", "JavaScript and Angular", "Provides all of the Internet Banking functionality to customers via their web browser.")
|
|
}
|
|
}
|
|
|
|
Rel(mobile, api, "Makes API calls to", "json/HTTPS")
|
|
Rel(spa, api, "Makes API calls to", "json/HTTPS")
|
|
Rel_U(web, spa, "Delivers to the customer's web browser")
|
|
Rel(api, db, "Reads from and writes to", "JDBC")
|
|
Rel(api, db2, "Reads from and writes to", "JDBC")
|
|
Rel_R(db, db2, "Replicates data to")
|
|
|
|
SHOW_DYNAMIC_LEGEND()
|
|
@enduml |