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.
36 lines
1.9 KiB
Plaintext
36 lines
1.9 KiB
Plaintext
@startuml
|
|
' convert it with additional command line argument -DRELATIVE_INCLUDE="./.." to use locally
|
|
!if %variable_exists("RELATIVE_INCLUDE")
|
|
!include %get_variable_value("RELATIVE_INCLUDE")/C4_Component.puml
|
|
!else
|
|
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml
|
|
!endif
|
|
|
|
LAYOUT_WITH_LEGEND()
|
|
|
|
title Component diagram for Internet Banking System - API 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.")
|
|
ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
|
|
System_Ext(mbs, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.")
|
|
|
|
Container_Boundary(api, "API Application") {
|
|
Component(sign, "Sign In Controller", "MVC Rest Controlle", "Allows users to sign in to the internet banking system")
|
|
Component(accounts, "Accounts Summary Controller", "MVC Rest Controller", "Provides customers with a summary of their bank accounts")
|
|
Component(security, "Security Component", "Spring Bean", "Provides functionality related to singing in, changing passwords, etc.")
|
|
Component(mbsfacade, "Mainframe Banking System Facade", "Spring Bean", "A facade onto the mainframe banking system.")
|
|
|
|
Rel(sign, security, "Uses")
|
|
Rel(accounts, mbsfacade, "Uses")
|
|
Rel(security, db, "Read & write to", "JDBC")
|
|
Rel(mbsfacade, mbs, "Uses", "XML/HTTPS")
|
|
}
|
|
|
|
Rel(spa, sign, "Uses", "JSON/HTTPS")
|
|
Rel(spa, accounts, "Uses", "JSON/HTTPS")
|
|
|
|
Rel(ma, sign, "Uses", "JSON/HTTPS")
|
|
Rel(ma, accounts, "Uses", "JSON/HTTPS")
|
|
@enduml
|