#27: Add Deployment and dynamic diagram support (8 - Deployment offers only new macro node - Simon Brown doesn't like the idea of Container Instances in the diagrams too)

pull/34/head
KIRCHSTH 7 years ago
parent b1f7f5f632
commit 5679db4de8

@ -8,35 +8,13 @@
' Colors
' ##################################
!define INSTANCE_BG_COLOR #438DD5
!define NODE_FONT_COLOR #444444
!define NODE_BG_COLOR #FFFFFF
' Styling
' ##################################
skinparam rectangle<<instance>> {
roundCorner 8
Shadowing false
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor INSTANCE_BG_COLOR
BorderColor #3C7FC0
}
skinparam database<<instance>> {
roundCorner 8
Shadowing false
StereotypeFontColor ELEMENT_FONT_COLOR
FontColor ELEMENT_FONT_COLOR
BackgroundColor INSTANCE_BG_COLOR
BorderColor #3C7FC0
}
skinparam rectangle<<node>> {
roundCorner 8
Shadowing false
StereotypeFontSize 0
FontColor NODE_FONT_COLOR
@ -50,24 +28,12 @@ skinparam rectangle<<node>> {
!definelong LAYOUT_WITH_LEGEND
hide stereotype
legend right
|= |= Type |
|<NODE_BG_COLOR> | deployment node |
|<INSTANCE_BG_COLOR> | deployment instance |
|= |= Type |
|<NODE_BG_COLOR> | deployment node |
|<CONTAINER_BG_COLOR> | deployment container |
endlegend
!enddefinelong
' Instances
' ##################################
!define ContainerInstance(e_alias, e_label, e_techn) rectangle "==e_label\n<size:TECHN_FONT_SIZE>[e_techn]</size>" <<instance>> as e_alias
!define ContainerInstance(e_alias, e_label, e_techn, e_descr) rectangle "==e_label\n<size:TECHN_FONT_SIZE>[e_techn]</size>\n e_descr" <<instance>> as e_alias
!define ContainerInstanceDb(e_alias, e_label, e_techn) database "==e_label\n<size:TECHN_FONT_SIZE>[e_techn]</size>" <<instance>> as e_alias
!define ContainerInstanceDb(e_alias, e_label, e_techn, e_descr) database "==e_label\n<size:TECHN_FONT_SIZE>[e_techn]</size>\n e_descr" <<instance>> as e_alias
!define ContainerInstance2(e_alias, e_instance, e_label, e_techn) rectangle "==e_label\n<size:TECHN_FONT_SIZE>Instance: e_instance</size>\n<size:TECHN_FONT_SIZE>[e_techn]</size>" <<instance>> as e_alias
!define ContainerInstance2(e_alias, e_instance, e_label, e_techn, e_descr) rectangle "==e_label\n<size:TECHN_FONT_SIZE>Instance: e_instance</size>\n<size:TECHN_FONT_SIZE>[e_techn]</size>\n e_descr" <<instance>> as e_alias
!define ContainerInstanceDb2(e_alias, e_instance, e_label, e_techn) database "==e_label\n<size:TECHN_FONT_SIZE>Instance: e_instance</size>\n<size:TECHN_FONT_SIZE>[e_techn]</size>" <<instance>> as e_alias
!define ContainerInstanceDb2(e_alias, e_instance, e_label, e_techn, e_descr) database "==e_label\n<size:TECHN_FONT_SIZE>Instance: e_instance</size>\n<size:TECHN_FONT_SIZE>[e_techn]</size>\n e_descr" <<instance>> as e_alias
' Nodes
' ##################################
' PlantUML does not support automatic line breaks of container, if e_techn is very long insert line breaks with

@ -89,7 +89,7 @@ Rel(web_app, twitter, "Gets tweets from", "HTTPS")
* Deployment diagram
* Import: `!includeurl https://raw.githubusercontent.com/kirchsth/C4-PlantUML/master/C4_Deployment.puml`
**!!! Update path during pull request !!!**
* Additional Macros: `ContainerInstance`, `ContainerInstance2`, `ContainerInstanceDb`, `ContainerInstanceDb2`, `Node`
* Additional Macros: `Node`
Take a look at each of the [C4 Model Diagram Samples](samples/C4CoreDiagrams.md).
@ -138,9 +138,9 @@ Source: [C4_Dynamic Diagram Sample - message bus.puml](samples/C4_Dynamic%20Diag
### Deployment Diagram
Source: [C4_Deployment Diagram Sample - named instances.puml](samples/C4_Deployment%20Diagram%20Sample%20-%20named%20instances.puml)
Source: [C4_Deployment Diagram Sample - bigbankplc.puml](samples/C4_Deployment%20Diagram%20Sample%20-%20bigbankplc.puml)
![Deployment diagram for Multi Tenant Order System](http://www.plantuml.com/plantuml/png/jLHXR-964FtkNp7bouKeWM180bLL7OLJBwSGq45wxIThl1w7LTQxrkuw5rJrltSMKr8tfKcllG-8rSpulUVtnllMURI-AbJqZTH2LHbLLi7Q-z9zs-rQ_DovatvTfPKZAupsf7r7cA9xBwrOEx_kJWQd2uNQtywkkmKwJvPBoPHAPJP5c2u3-1keD3yM2k3N1BbHodoM-WwKr0IeCsYqfNLyCi2qe8n0fJQCyOT4-6uoQB9y7t5xmlgGuUoLTXwre3W0FozFqnXSLPR6UWVqM2eff0Uvwvw0mw9KvC0HGKgiCugyz8fWLYalOKKQMUToupmLS0fFAgBeUlpB_7QLVBfQlK-kt_tuxcPwr8uYW1kJqT7JO9BCRKOsIGgJIaKPFKX1nyV7IHBtypD2SGBGcbJEcuBi6mVr6DHphHDeZKjM27A-16DXh3DhPDPgmwzC1SzV-6ZBLWjEajaMZ15wJ3SOzRDin8Xr5RWSy7_60gtKuRYmva5cvC044CWvI2-DHYNz9aGaTZ8TF4WCwKdRrDjfjLdMRr5qo8H-FkpbQSnS3OEtNIYLQ1tiW60SihitFuIFfQoz7P0ulpXdD1CQftKTZXw7xK1ncrRQLz2xw9mDu7grtA6-Z3ikKQnfPGg1tEmFHtb_52ojwr0tMdyjmB3pkATuCRJnuYfaBWK6y-CawQMN_ImcHkKM_AaNY3xW0svtVrdQy97DVfeqehmAhcdoaAA-3mFDL4EG21-Myvlk-zLgiGIcg5CCEORVOLEozAp7weGOvUTFLdFrYookqUOMXQA5bGNQ3USup2z7-GNZrOtM_WIzMFoJfzEqwUe4FIfp5mJdSNoP3nXfLuCf_wVejkWVIM5jpxuCIuwomD1TUcF9RIymeq7gtDYYZg9zM4ZSL59lTaF8hjJQ7_-zfDrpDinIzf-anS-bnLzLMhreV6qmt2ikiDT-BJEyPtOU085AEV0cY7hQTMOFXA-4Ut6RFX9cVxSQa5jJR9cdFqo-aFF0tdooqkyDxZL8lVdVAEE3bF5XohUaiwfGlmC0 "Deployment diagram for Multi Tenant Order System")
![Deployment diagram for Internet Banking System - Live](http://www.plantuml.com/plantuml/png/pLTjKniv4lxkNz7nVjYGCY_OZi4vGXqOah05c6ASoxtSrPH6wh5LQ4PJaWR2tkQ_NsiqiyE4f80iLxLJjHkvkzNzT3-jbdWXSwvAWQLHi7Aki6ysDmsxsLXAjogJqgBXEdUOkmskiyrBoPaH-bnYWMfpDbw_K2nt7yzEDpDc7HeInJET5JhtEueoKxsVeSnfQqO2S2k4L2kbRsI-12Lp19OBwAYbiRJIGA51QSwKkYKV3Kou7u2q4TS5le43iEHN8LYTkXjcQ75BgB8DChamCcFc5b2XZsNVm14MIjzMWNCjqDPGSiS8bx5mGnMGEO6wvmz8R7r8x_Z4LqUW05OAYJad70lagrmIT2XG5mh9taeHSjMbgzOwxNeMU8rA5w4EoBA_GCYO4cgDcE4hwP0xEsWse0d0_OevgNExQSkYqCQ1TInDDtnzPbffOsdnquDVxuN0r1DpFZywZj_DpnVnR7uwlmJwVXfNNzVay7rhG2RlggyYnTqgGl-ug3rx9VE26PQ1eVoOft5lp_Eolm__xG54AoP2swHCMVGIXmQrkotm7P4MoLyHjaZiVrJvVfq1wGuPlreQNUQYjQ04Mhqs0atGDSb-yRcSibiYxf6frELHci2U7lnZ_d4HVpfPV8XFZzyVdn_rLfv--pludi8b4e56BbUkzzjR-CP7qWMPtXFtVjlhfB1Voq5qUxirdr4v3axEZo_RFHtpzW2GES4Au7elw7zjLhuYv-JsSHr5HisK0A7H4Y87JO-oqkcCESd3D4WCiYiBEcrn342cWB7pPmgaXMkaK-nH-5E5ndKs-ZCB5B2_jscf8VR_dU_vVzyiZcSVpaClH2V_FDxljprCURp4c2d9x83YA9QW6ZG1rzfkXFxRjxNwUrx_LU_wJnsz3x-tCBDG1-drd7GAgxbXSdJKbFcLx-iep9RrEuEfrxlVFo_NUhqAT6iMnwVo6kFuK2wziqBnE1wbkzjfCXn0dwHL321v_wlV89XZmD5ZwQzL1-qHlXEvJ6XzWychLw_YU3XAjv1nSbqhreC6NduUh_c87vCoToLiJpQsnd2wYEf8FnBhe61yXGkTSKRcR3pU6LE088KWxdyjWDsDpqr8-cPDPxriAAWP20J4yITC3ef2ILxDqo4bE9wEX9YINrB17PqFzGkxPjK4ZWhZQJpxsyoBZr1HBiQ6AU-g5gzlKc_jnMqB9050StqLR8d0sZ0R_RKA-vSU_VSaYbWX0qLZvAydh-zGH9f0qUxpKDJ6wb8qsfsce-dqsKawk3ZfahITx8p44CalgHv9qeNHrrAWlSz4MkRSRsPAkbkubhGRVedcvviV5ekB22Z4ZvCYagrjmilvD7rzbn8lVoOkGeYvOLnX_VAX9jXDTwRfX2841Qn3hUktikqX_nODHydtY3XYZYNCegSW7GvtKdyW6w5tV8cAXL928uQ8YC-OrqPE6xJW7vfWS2cjCvKro3pL9glM0rWnkwgUM6v5YTV40ZSe_4-cx00OvsWjABsa7-Zu7-B77tfa-7eowV8pV3v-XWq_4NATYy3GM6oF1DvbA6YVYQCHdSVXTCBPvC_8qPVltMkpqZgTeVdPSfqL9QL8fUAZIOA2qBLQQDGUz9daHlkNCtoIkT0t5hIfnWB20u-3ZF5vG-eJ4D7TS6WeZbzlxuwsTjAT-iQenHxLUwtzX9-j36qVm9d-LIh57aBqJXfCzUT1ZJzYAJEIydbeNrk3Ox74aD9ZXcj4QneSR8bVNOH3pYV3XF885klUv5kpDk965k6YEyYNfMAcCswPKlKVG0zDNgU1rxMsVWpxFTB03IQGXAfI3pssUpATI8K2hoL7VpEnhPsjfDj1mGI2ZSSSAYxdKTK-kJ1QYb38XyjuLZaZ3txS9ybqUyh9Ov02YRt_lxECkCoxvG4bC-bGW2qJY-uFrQgR4bMBAaN7_UdtwbFc_oKoOI6b9gzwuCPGDfO0LlrnT3WZ5C-FeJlVdexXOUwU_XOvOrSKb0o0CwMQyErB8e3uuNFu_m8KVooU_Zh-iIGwRsLTzJblp-ETWruZEyNKFSSZw7dkwKiCAQ4DVqevJJ3_YhaeC_K_ "Deployment diagram for Internet Banking System - Live")
## Background

@ -41,4 +41,4 @@ Source: [C4_Dynamic Diagram Sample - bigbankplc.puml](C4_Dynamic%20Diagram%20Sam
Source: [C4_Deployment Diagram Sample - bigbankplc.puml](C4_Deployment%20Diagram%20Sample%20-%20bigbankplc.puml)
![Deployment diagram for Internet Banking System - Live](http://www.plantuml.com/plantuml/png/rLXxKniv4l_VdwBN-MD3YWVOvc6EK0ksITZYGM7dSe-zcj98FROApMXAqa2yj_dkrvf7sGERs11STpTLK9hkblhN_MkfDVx5EcPS5gl6JpBXAXEO6GKJvr9xkBLbsCFcMBf95cOM3TU9myHjSXrltKhEZD1N4bDKMxtEnerYYVjqUR4LC-lGa2ZewJZLYP-HUWS_GvRGr9W4u2O8aLPAFyXa34ec22mHK5DBOscaWLo3qfmfDQKrAfZmr05fXrodU0WdO6bTXM1rv1wOeS6KKCMRP79ZPCpC552XzsKFeO-fqjFSSQ85sX9AuXZXCXOUA0CoyQ0UhmSajjwbN_ZSPqUW09O9YGad72FaaqGIT4XHfmh9tafHnAepbuzrL5zPu3qgdHPvG1R_1Og8AQ2P4JDy8XroPzUh2MWAu7x4dDI9tR9PcchZW3YEeasVdvvMsbWQl5duD1e_2OmyC-TNmz79LMyGd7u8UjSNrxS0RphjWtv_TsPpTTqV16VNLwFAmjlaJzrajaHkSfO_ENDkgYZ49Q7PEvcapB0O37B7FDT7HvHS6d8yFeP_Dm2CpXBHquOuX0Dw7qwOAEejOigYbpWqgDqqnJDYEyyD32u6bmCAOnOB6IvGdp9-DoxSUQDwmYeRRGIQGl-ctTi_wsqtliu78fXZ8RF_tt7K2KcqU6aGG_axmdODig-Vx-CbYszYhQhngo-s2pRLcNlUDb2Qm5wS_FtwqoZuV3xw65mCFWok-es9tyIs0eyDXMDC11WvdhZ67-_XJnwIZiZqiRJnnr4jWkDI3g9-G45b_OIVuqVMLIMHDM4ga3L-ed-pa7mwpakp9G-6QaFtgYEoclyM0wOai-k0WM8XAZzm_WnScvK5DD-_BzM_9KUMU3uS3NeVhmfgX-V_61p_ivprhwCjhpzkGcrJC0kbevT0yGE1bfiVm_HRKgtp0dJzy7kfgaw2rMUgmh8uLnMeLQNgs_XQy_2goJzQOTNYXtDhLcXNb-h5eTIpleAOLbhKIyPNBwRLHxNAM1RlaFyYLNISNscnvB5EHjKT7eH62ubsKDqWMUPqp9panLqzDCZkBEXeTarU1nbLIG5fuHxD5FAUITZGkDf4VwC6SjXS47IpOiZ7iTBsacZnE7bEEeNvhTuawE2K9NUImXaMD_-DkS-6HkFflU3jMgEHWvwP1S65lCSWE9LZlrYgU12qeuETA6ojGvEakGyWUVFHUrvRmD5ZQQxb5webrWxbEAJn0uRlthqBWbOxsaR6QUbIiL5euEsNpfht-2dC4fV1pjxcTWSkHiFIqqjydQICJt2aOyx8d7Kw-nroK4YX43SV2-1WyqlbafwdBRsYecIY8288FcDuagPAylohfqM1Thfj8RgqFgbWJkTT_ihkMVwTD4oDf_FohpqlxgEYc8mjliLSNkhbzwwtzk9PAOG5WEeZCsLZ13PpizbSosFusg2_Pr75KbbGrK6-kxSxHrMX8QeENekgobUTglP1DsftkoiZw-Jcl4xMJhZV5YsazKcr95atHjzBWVOf8r6MS3-PAUccS2zfDlmwlBxQ-ZWQtGo1NBoS715kxn1UphlHxZmrNlvAd1GkhWtZ2ilVAQWO3gBzRhH77We5R42fQyvaEot-FJhwuRS8wPTTorCHjLhxaT-ebT0xk4N5YfH29OOXds3Cl7Rej44BcKK31iVIEfDRWqmYRU9yl0uJPYSeV1UPK09AWe4R5FwLARiEZ7Eq5fGUqmiw_aCy-KC06UxkxTLvQhqUJwsAfo5odOY2gOxOQGkSPwhGlZ9NRTgdhUuUPtl_Yrnz_LRVwsNMwHZDpvRhECqeH4ePR--5A0ZTJ0kLseE-bDnegoC7dsKYz8C5RV9Z0c71vI5c_BeYTtb4lfsS6lBZnpi7xUtzQB_i9ANOe_gWjJ_vUnD3qzVXKlykbMAB49r9Wv7-ibxY7xA86GdQB9etoy50ZB48wJc7xZ3lKpTiZ8yQPOlplLP8yHGM6zxapyxW8JSoBHhXIJBE53ErOvWfLVsCkU14TXfucNFhZsS_Hnfum1328hjKIyjMKQn3gL3WlUJeEnVRtjyEwvLKc41Xup4NcPVNmxoC4c6q54L2bq_dfL_KfzAtWp3ixdGvhLn8VVQydx-ncBXDwca29MFfK83DGelknt9M2usoHXcZxV_yllkSld2BJ5Y8Z8xpMdWm58qbW7cTz4zxX68L66RdtGinBE3k-NULItP7Jia0E5EgSZ-xQHGWNhWVLmSe-9G-_nRziY1gTsgTrpcVxSkv3LyYky38lSObwNNwzoqM8Q4jFhsS9fY_O2AoM3N-0m00 "Deployment diagram for Internet Banking System - Live")
![Deployment diagram for Internet Banking System - Live](http://www.plantuml.com/plantuml/png/pLTjKniv4lxkNz7nVjYGCY_OZi4vGXqOah05c6ASoxtSrPH6wh5LQ4PJaWR2tkQ_NsiqiyE4f80iLxLJjHkvkzNzT3-jbdWXSwvAWQLHi7Aki6ysDmsxsLXAjogJqgBXEdUOkmskiyrBoPaH-bnYWMfpDbw_K2nt7yzEDpDc7HeInJET5JhtEueoKxsVeSnfQqO2S2k4L2kbRsI-12Lp19OBwAYbiRJIGA51QSwKkYKV3Kou7u2q4TS5le43iEHN8LYTkXjcQ75BgB8DChamCcFc5b2XZsNVm14MIjzMWNCjqDPGSiS8bx5mGnMGEO6wvmz8R7r8x_Z4LqUW05OAYJad70lagrmIT2XG5mh9taeHSjMbgzOwxNeMU8rA5w4EoBA_GCYO4cgDcE4hwP0xEsWse0d0_OevgNExQSkYqCQ1TInDDtnzPbffOsdnquDVxuN0r1DpFZywZj_DpnVnR7uwlmJwVXfNNzVay7rhG2RlggyYnTqgGl-ug3rx9VE26PQ1eVoOft5lp_Eolm__xG54AoP2swHCMVGIXmQrkotm7P4MoLyHjaZiVrJvVfq1wGuPlreQNUQYjQ04Mhqs0atGDSb-yRcSibiYxf6frELHci2U7lnZ_d4HVpfPV8XFZzyVdn_rLfv--pludi8b4e56BbUkzzjR-CP7qWMPtXFtVjlhfB1Voq5qUxirdr4v3axEZo_RFHtpzW2GES4Au7elw7zjLhuYv-JsSHr5HisK0A7H4Y87JO-oqkcCESd3D4WCiYiBEcrn342cWB7pPmgaXMkaK-nH-5E5ndKs-ZCB5B2_jscf8VR_dU_vVzyiZcSVpaClH2V_FDxljprCURp4c2d9x83YA9QW6ZG1rzfkXFxRjxNwUrx_LU_wJnsz3x-tCBDG1-drd7GAgxbXSdJKbFcLx-iep9RrEuEfrxlVFo_NUhqAT6iMnwVo6kFuK2wziqBnE1wbkzjfCXn0dwHL321v_wlV89XZmD5ZwQzL1-qHlXEvJ6XzWychLw_YU3XAjv1nSbqhreC6NduUh_c87vCoToLiJpQsnd2wYEf8FnBhe61yXGkTSKRcR3pU6LE088KWxdyjWDsDpqr8-cPDPxriAAWP20J4yITC3ef2ILxDqo4bE9wEX9YINrB17PqFzGkxPjK4ZWhZQJpxsyoBZr1HBiQ6AU-g5gzlKc_jnMqB9050StqLR8d0sZ0R_RKA-vSU_VSaYbWX0qLZvAydh-zGH9f0qUxpKDJ6wb8qsfsce-dqsKawk3ZfahITx8p44CalgHv9qeNHrrAWlSz4MkRSRsPAkbkubhGRVedcvviV5ekB22Z4ZvCYagrjmilvD7rzbn8lVoOkGeYvOLnX_VAX9jXDTwRfX2841Qn3hUktikqX_nODHydtY3XYZYNCegSW7GvtKdyW6w5tV8cAXL928uQ8YC-OrqPE6xJW7vfWS2cjCvKro3pL9glM0rWnkwgUM6v5YTV40ZSe_4-cx00OvsWjABsa7-Zu7-B77tfa-7eowV8pV3v-XWq_4NATYy3GM6oF1DvbA6YVYQCHdSVXTCBPvC_8qPVltMkpqZgTeVdPSfqL9QL8fUAZIOA2qBLQQDGUz9daHlkNCtoIkT0t5hIfnWB20u-3ZF5vG-eJ4D7TS6WeZbzlxuwsTjAT-iQenHxLUwtzX9-j36qVm9d-LIh57aBqJXfCzUT1ZJzYAJEIydbeNrk3Ox74aD9ZXcj4QneSR8bVNOH3pYV3XF885klUv5kpDk965k6YEyYNfMAcCswPKlKVG0zDNgU1rxMsVWpxFTB03IQGXAfI3pssUpATI8K2hoL7VpEnhPsjfDj1mGI2ZSSSAYxdKTK-kJ1QYb38XyjuLZaZ3txS9ybqUyh9Ov02YRt_lxECkCoxvG4bC-bGW2qJY-uFrQgR4bMBAaN7_UdtwbFc_oKoOI6b9gzwuCPGDfO0LlrnT3WZ5C-FeJlVdexXOUwU_XOvOrSKb0o0CwMQyErB8e3uuNFu_m8KVooU_Zh-iIGwRsLTzJblp-ETWruZEyNKFSSZw7dkwKiCAQ4DVqevJJ3_YhaeC_K_ "Deployment diagram for Internet Banking System - Live")

@ -1,9 +1,9 @@
@startuml
!includeurl https://raw.githubusercontent.com/kirchsth/C4-PlantUML/master/C4_Deployment.puml
' uncomment the following line and comment the first to use locally
' !include <C4/C4_Deployment>
' !include C4_Deployment
' PlantUML does not support automatic line breaks of container, if e_techn is very long insert line breaks with
' PlantUML does not support automatic line breaks of nodes, if e_techn is very long insert line breaks with
' "</size>\n<size:TECHN_FONT_SIZE>"
' samples see below
@ -14,32 +14,32 @@ LAYOUT_WITH_LEGEND()
Node(Deployment__Live__BigBankplc__3f81fb2, "Big Bank plc", "Big Bank plc data center") {
Node(Deployment__Live__BigBankplc__bigbankweb***__23f0eac, "bigbank-web*** (x4)", "Ubuntu 16.04 LTS") {
Node(Deployment__Live__BigBankplc__bigbankweb***__ApacheTomcat__a4474, "Apache Tomcat", "Apache Tomcat 8.x") {
ContainerInstance(InternetBankingSystem__WebApplication2__2493dd9, "Web Application", "Java and Spring MVC", "Delivers the static content and the Internet banking single page application.")
Container(InternetBankingSystem__WebApplication2__2493dd9, "Web Application", "Java and Spring MVC", "Delivers the static content and the Internet banking single page application.")
}
}
Node(Deployment__Live__BigBankplc__bigbankapi***__24ec565, "bigbank-api*** (x8)", "Ubuntu 16.04 LTS") {
Node(Deployment__Live__BigBankplc__bigbankapi***__ApacheTomcat__389f399, "Apache Tomcat", "Apache Tomcat 8.x") {
ContainerInstance(InternetBankingSystem__APIApplication2__1b73d2e, "API Application", "Java and Spring MVC", "Provides Internet banking functionality via a JSON/HTTPS API.")
Container(InternetBankingSystem__APIApplication2__1b73d2e, "API Application", "Java and Spring MVC", "Provides Internet banking functionality via a JSON/HTTPS API.")
}
}
Node(Deployment__Live__BigBankplc__bigbankdb01__1cc9f55, "bigbank-db01", "Ubuntu 16.04 LTS") {
Node(Deployment__Live__BigBankplc__bigbankdb01__OraclePrimary__28f79f6, "Oracle - Primary", "Oracle 12c") {
ContainerInstanceDb(InternetBankingSystem__Database2__1f227f4, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
ContainerDb(InternetBankingSystem__Database2__1f227f4, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
}
}
Node(Deployment__Live__BigBankplc__bigbankdb02__2eae566, "bigbank-db02", "Ubuntu 16.04 LTS") {
Node(Deployment__Live__BigBankplc__bigbankdb02__OracleSecondary__24d13de, "Oracle - Secondary", "Oracle 12c") {
ContainerInstanceDb(InternetBankingSystem__Database3__3296ca6, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
ContainerDb(InternetBankingSystem__Database3__3296ca6, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.")
}
}
}
Node(Deployment__Live__Customer'scomputer__2c36bed, "Customer's computer", "Microsoft Windows or Apple </size>\n<size:TECHN_FONT_SIZE>macOS") {
Node(Deployment__Live__Customer'scomputer__WebBrowser__18307f7, "Web Browser", "Google Chrome, Mozilla </size>\n<size:TECHN_FONT_SIZE>Firefox, Apple Safari or </size>\n<size:TECHN_FONT_SIZE>Microsoft Edge") {
ContainerInstance(InternetBankingSystem__SinglePageApplication2__22cc62b, "Single-Page Application", "JavaScript and Angular", "Provides all of the Internet banking functionality to customers via their web browser.")
Container(InternetBankingSystem__SinglePageApplication2__22cc62b, "Single-Page Application", "JavaScript and Angular", "Provides all of the Internet banking functionality to customers via their web browser.")
}
}
Node(Deployment__Live__Customer'smobiledevice__38a070b, "Customer's mobile device", "Apple iOS or Android") {
ContainerInstance(InternetBankingSystem__MobileApp1__1bb919c, "Mobile App", "Xamarin", "Provides a limited subset of the Internet banking functionality to customers via their mobile device.")
Container(InternetBankingSystem__MobileApp1__1bb919c, "Mobile App", "Xamarin", "Provides a limited subset of the Internet banking functionality to customers via their mobile device.")
}
Rel(InternetBankingSystem__APIApplication2__1b73d2e, InternetBankingSystem__Database2__1f227f4, "Reads from and writes to", "JDBC")
Rel(InternetBankingSystem__APIApplication2__1b73d2e, InternetBankingSystem__Database3__3296ca6, "Reads from and writes to", "JDBC")

@ -1,35 +0,0 @@
@startuml
!includeurl https://raw.githubusercontent.com/kirchsth/C4-PlantUML/master/C4_Deployment.puml
' uncomment the following line and comment the first to use locally
' !include <C4/C4_Deployment>
' ContainerInstance2 and ContainerInstanceDb2 supports explicit instance, samples see below
title Multi Tenant System - Deployment
LAYOUT_WITH_LEGEND()
Node(Deployment__Order__mobiledevice***__23f0eac, "Customer's mobile device", "Apple iOS or Android") {
ContainerInstance(OrderSystem__MobileApp1__2493dd9, "Mobile App", "Xamarin", "Provides order functionality to customers via their mobile device.")
}
Node(Deployment__Order__3f81fb2, "Multi Tenant Order plc", "Multi Tenant Order plc center") {
Node(Deployment__Order__api***__24ec565, "order-api*** (x8)", "Ubuntu 16.04 LTS") {
Node(Deployment__Order__api***__ApacheTomcat__389f399, "Apache Tomcat", "Apache Tomcat 8.x") {
ContainerInstance(OrderSystem__APIApplication2__1b73d2e, "API Application", "Java and Spring MVC", "Provides Internet banking functionality via a JSON/HTTPS API.")
}
}
Node(Deployment__Order__db01__1cc9f55, "order-db0", "Ubuntu 16.04 LTS") {
Node(Deployment__Order__db01__OraclePrimary__28f79f6, "Oracle", "Oracle 12c") {
ContainerInstanceDb(OrderSystem__Catalog1__1f227f4, "Catalog Database", "Relational Database Schema", "Stores common information")
ContainerInstanceDb2(OrderSystem__Tenant1__1f227f4, "Tenant1", "Tenant Database", "Relational Database Schema", "Stores Tenant related information")
ContainerInstanceDb2(OrderSystem__Tenant2__1f227f4, "Tenant2", "Tenant Database", "Relational Database Schema", "Stores Tenant related information")
}
}
}
Rel(OrderSystem__MobileApp1__2493dd9, OrderSystem__APIApplication2__1b73d2e, "Makes API calls to", "JSON/HTTPS")
Rel(OrderSystem__APIApplication2__1b73d2e, OrderSystem__Catalog1__1f227f4, "Reads common information from", "JDBC")
Rel(OrderSystem__APIApplication2__1b73d2e, OrderSystem__Tenant1__1f227f4, "Writes Tenant1 information to", "JDBC")
Rel(OrderSystem__APIApplication2__1b73d2e, OrderSystem__Tenant2__1f227f4, "Writes Tenant2 information to", "JDBC")
@enduml

@ -1,7 +1,7 @@
@startuml
!includeurl https://raw.githubusercontent.com/kirchsth/C4-PlantUML/master/C4_Dynamic.puml
' uncomment the following line and comment the first to use locally
' !include <C4/C4_Dynamic>
' !include C4_Dynamic
' Structurizr.DynamicView: SignIn
title API Application - Dynamic

@ -1,7 +1,7 @@
@startuml
!includeurl https://raw.githubusercontent.com/kirchsth/C4-PlantUML/master/C4_Dynamic.puml
' uncomment the following line and comment the first to use locally
' !include <C4/C4_Dynamic>
' !include C4_Dynamic
LAYOUT_TOP_DOWN
' LAYOUT_AS_SKETCH()

Loading…
Cancel
Save