Created
July 4, 2017 20:06
-
-
Save simonbrowndotje/9212bf0824a7373b53ec9717a8433b30 to your computer and use it in GitHub Desktop.
Spring PetClinic - PlantUML
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml | |
title Spring PetClinic - System Context | |
caption The System Context diagram for the Spring PetClinic system. | |
actor "Clinic Employee" <<Person>> as 2 | |
component "Spring PetClinic" <<Software System>> as 1 | |
2 ..> 1 : Uses | |
@enduml | |
@startuml | |
title Spring PetClinic - Containers | |
caption The Container diagram for the Spring PetClinic system. | |
actor "Clinic Employee" <<Person>> as 2 | |
package SpringPetClinic { | |
component "Database" <<Container>> as 5 | |
component "Web Application" <<Container>> as 4 | |
} | |
2 ..> 4 : Uses <<HTTPS>> | |
4 ..> 5 : Reads from and writes to <<JDBC>> | |
@enduml | |
@startuml | |
title Spring PetClinic - Web Application - Components | |
caption The Component diagram for the Spring PetClinic web application. | |
actor "Clinic Employee" <<Person>> as 2 | |
component "Database" <<Container>> as 5 | |
package WebApplication { | |
component "ClinicService" <<Spring Service>> as 13 | |
component "CrashController" <<Spring MVC Controller>> as 9 | |
component "OwnerController" <<Spring MVC Controller>> as 10 | |
component "OwnerRepository" <<Spring Repository>> as 16 | |
component "PetController" <<Spring MVC Controller>> as 12 | |
component "PetRepository" <<Spring Repository>> as 15 | |
component "VetController" <<Spring MVC Controller>> as 11 | |
component "VetRepository" <<Spring Repository>> as 17 | |
component "VisitController" <<Spring MVC Controller>> as 8 | |
component "VisitRepository" <<Spring Repository>> as 14 | |
} | |
2 ..> 9 : Uses <<HTTP>> | |
2 ..> 10 : Uses <<HTTP>> | |
2 ..> 12 : Uses <<HTTP>> | |
2 ..> 11 : Uses <<HTTP>> | |
2 ..> 8 : Uses <<HTTP>> | |
13 ..> 16 | |
13 ..> 15 | |
13 ..> 17 | |
13 ..> 14 | |
10 ..> 13 | |
16 ..> 5 : Reads from and writes to <<JDBC>> | |
12 ..> 13 | |
15 ..> 5 : Reads from and writes to <<JDBC>> | |
15 ..> 16 | |
15 ..> 14 | |
11 ..> 13 | |
17 ..> 5 : Reads from and writes to <<JDBC>> | |
8 ..> 13 | |
14 ..> 5 : Reads from and writes to <<JDBC>> | |
@enduml | |
@startuml | |
title Web Application - Dynamic | |
caption Shows how the "view list of vets" feature works. | |
actor "Clinic Employee" <<Person>> as 2 | |
component "ClinicService" <<Spring Service>> as 13 | |
component "Database" <<Container>> as 5 | |
component "VetController" <<Spring MVC Controller>> as 11 | |
component "VetRepository" <<Spring Repository>> as 17 | |
2 -> 11 : Requests list of vets from /vets | |
11 -> 13 : Calls findVets | |
13 -> 17 : Calls findAll | |
17 -> 5 : select * from vets | |
@enduml | |
@startuml | |
title Spring PetClinic - Deployment | |
caption An example development deployment scenario for the Spring PetClinic software system. | |
node "Developer Laptop" <<Windows 7+ or macOS>> as 37 { | |
node "Docker Container - Database Server" <<Docker>> as 41 { | |
node "Database Server" <<HSQLDB>> as 42 { | |
artifact "Database" <<Container>> as 43 | |
} | |
} | |
node "Docker Container - Web Server" <<Docker>> as 38 { | |
node "Apache Tomcat" <<Apache Tomcat 7.x>> as 39 { | |
artifact "Web Application" <<Container>> as 40 | |
} | |
} | |
} | |
40 ..> 43 : Reads from and writes to <<JDBC>> | |
@enduml | |
@startuml | |
title Spring PetClinic - Deployment | |
caption An example staging deployment scenario for the Spring PetClinic software system. | |
node "Staging Server" <<Ubuntu 12.04 LTS>> as 45 { | |
node "MySQL" <<MySQL 5.5.x>> as 49 { | |
artifact "Database" <<Container>> as 50 | |
} | |
node "Apache Tomcat" <<Apache Tomcat 7.x>> as 46 { | |
artifact "Web Application" <<Container>> as 47 | |
} | |
} | |
47 ..> 50 : Reads from and writes to <<JDBC>> | |
@enduml | |
@startuml | |
title Spring PetClinic - Deployment | |
caption An example live deployment scenario for the Spring PetClinic software system. | |
node "Database Server - Primary" <<Ubuntu 12.04 LTS>> as 58 { | |
node "MySQL - Primary" <<MySQL 5.5.x>> as 59 { | |
artifact "Database" <<Container>> as 60 | |
} | |
} | |
node "Database Server - Secondary" <<Ubuntu 12.04 LTS>> as 64 { | |
node "MySQL - Secondary" <<MySQL 5.5.x>> as 65 { | |
artifact "Database" <<Container>> as 66 | |
} | |
} | |
node "Web Server (x2)" <<Ubuntu 12.04 LTS>> as 53 { | |
node "Apache Tomcat" <<Apache Tomcat 7.x>> as 54 { | |
artifact "Web Application" <<Container>> as 55 | |
} | |
} | |
59 ..> 65 : Replicates data to | |
55 ..> 60 : Reads from and writes to <<JDBC>> | |
55 ..> 66 : Reads from and writes to <<JDBC>> | |
@enduml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment