Client-side encrypted workspace
The workspace "" has been client-side encrypted, please enter the passphrase to decrypt it.
DSL editor
This browser-based DSL editor provides some rudimentary syntax highlighting and the ability to use the DSL without installing any tooling, but it does not provide access to the full feature set of the DSL. We recommend using the DSL in conjunction with Structurizr Lite or the Structurizr CLI instead. See Help - DSL for more details.
Structurizr Lite
Recommended
Structurizr Lite provides a way to quickly work with a single workspace. It's free to use, and allows you to view/edit diagrams, view documentation, and view architecture decision records defined in a DSL workspace.
The auto-sync feature provides the ability to sync your local changes with a workspace stored on the Structurizr cloud service or an on-premises installation.
Structurizr CLI
Recommended
The Structurizr CLI is a command line utility, designed to be used in conjunction with the Structurizr DSL. It provides the ability to push/pull workspaces to/from the Structurizr cloud service or an on-premises installation, in additional to exporting the views defined in a DSL file to other formats (PlantUML, Mermaid, WebSequenceDiagrams, and Ilograph).
See Getting started with the Structurizr CLI and DSL for more information.
DSL editor
Not recommended
If you'd rather not use Structurizr Lite or the Structurizr CLI, the Structurizr cloud service/on-premises installation provides a basic online DSL editor. The editor provides some rudimentary syntax highlighting and the ability to use the DSL without installing any tooling, but it does not provide access to the full feature set of the DSL.
PlantUML definitions are available via the Structurizr CLI export command,
using the -format plantuml
parameter.
See StructurizrPlantUMLExporter for customisation options.
@startuml set separator none title Software System - Containers top to bottom direction skinparam { arrowFontSize 10 defaultTextAlignment center wrapWidth 200 maxMessageSize 100 } hide stereotype skinparam hexagon<<SoftwareSystem.Service1API>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 shadowing false } skinparam database<<SoftwareSystem.Service1Database>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 shadowing false } skinparam hexagon<<SoftwareSystem.Service2API>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 shadowing false } skinparam database<<SoftwareSystem.Service2Database>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 shadowing false } skinparam hexagon<<SoftwareSystem.Service3API>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 shadowing false } skinparam database<<SoftwareSystem.Service3Database>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 shadowing false } skinparam hexagon<<SoftwareSystem.Service4API>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 shadowing false } skinparam database<<SoftwareSystem.Service4Database>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 shadowing false } skinparam hexagon<<SoftwareSystem.Service5API>> { BackgroundColor #ffac33 FontColor #000000 BorderColor #b27823 shadowing false } skinparam database<<SoftwareSystem.Service5Database>> { BackgroundColor #ffac33 FontColor #000000 BorderColor #b27823 shadowing false } skinparam hexagon<<SoftwareSystem.Service6API>> { BackgroundColor #dd8bfe FontColor #000000 BorderColor #9a61b1 shadowing false } skinparam database<<SoftwareSystem.Service6Database>> { BackgroundColor #dd8bfe FontColor #000000 BorderColor #9a61b1 shadowing false } skinparam hexagon<<SoftwareSystem.Service7API>> { BackgroundColor #89acff FontColor #000000 BorderColor #5f78b2 shadowing false } skinparam database<<SoftwareSystem.Service7Database>> { BackgroundColor #89acff FontColor #000000 BorderColor #5f78b2 shadowing false } skinparam hexagon<<SoftwareSystem.Service8API>> { BackgroundColor #fda9f4 FontColor #000000 BorderColor #b176aa shadowing false } skinparam database<<SoftwareSystem.Service8Database>> { BackgroundColor #fda9f4 FontColor #000000 BorderColor #b176aa shadowing false } skinparam person<<User>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a shadowing false } skinparam rectangle<<SoftwareSystem.WebApplication>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a shadowing false } skinparam rectangle<<SoftwareSystem>> { BorderColor #9a9a9a FontColor #9a9a9a shadowing false } person "==User\n<size:10>[Person]</size>" <<User>> as User rectangle "Software System\n<size:10>[Software System]</size>" <<SoftwareSystem>> { rectangle "Service 1" <<group1>> as group1 { skinparam RectangleBorderColor<<group1>> #cccccc skinparam RectangleFontColor<<group1>> #cccccc skinparam RectangleBorderStyle<<group1>> dashed hexagon "==Service 1 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service1API>> as SoftwareSystem.Service1API database "==Service 1 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service1Database>> as SoftwareSystem.Service1Database } rectangle "Service 2" <<group2>> as group2 { skinparam RectangleBorderColor<<group2>> #cccccc skinparam RectangleFontColor<<group2>> #cccccc skinparam RectangleBorderStyle<<group2>> dashed hexagon "==Service 2 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service2API>> as SoftwareSystem.Service2API database "==Service 2 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service2Database>> as SoftwareSystem.Service2Database } rectangle "Service 3" <<group3>> as group3 { skinparam RectangleBorderColor<<group3>> #cccccc skinparam RectangleFontColor<<group3>> #cccccc skinparam RectangleBorderStyle<<group3>> dashed hexagon "==Service 3 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service3API>> as SoftwareSystem.Service3API database "==Service 3 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service3Database>> as SoftwareSystem.Service3Database } rectangle "Service 4" <<group4>> as group4 { skinparam RectangleBorderColor<<group4>> #cccccc skinparam RectangleFontColor<<group4>> #cccccc skinparam RectangleBorderStyle<<group4>> dashed hexagon "==Service 4 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service4API>> as SoftwareSystem.Service4API database "==Service 4 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service4Database>> as SoftwareSystem.Service4Database } rectangle "Service 5" <<group5>> as group5 { skinparam RectangleBorderColor<<group5>> #cccccc skinparam RectangleFontColor<<group5>> #cccccc skinparam RectangleBorderStyle<<group5>> dashed hexagon "==Service 5 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service5API>> as SoftwareSystem.Service5API database "==Service 5 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service5Database>> as SoftwareSystem.Service5Database } rectangle "Service 6" <<group6>> as group6 { skinparam RectangleBorderColor<<group6>> #cccccc skinparam RectangleFontColor<<group6>> #cccccc skinparam RectangleBorderStyle<<group6>> dashed hexagon "==Service 6 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service6API>> as SoftwareSystem.Service6API database "==Service 6 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service6Database>> as SoftwareSystem.Service6Database } rectangle "Service 7" <<group7>> as group7 { skinparam RectangleBorderColor<<group7>> #cccccc skinparam RectangleFontColor<<group7>> #cccccc skinparam RectangleBorderStyle<<group7>> dashed hexagon "==Service 7 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service7API>> as SoftwareSystem.Service7API database "==Service 7 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service7Database>> as SoftwareSystem.Service7Database } rectangle "Service 8" <<group8>> as group8 { skinparam RectangleBorderColor<<group8>> #cccccc skinparam RectangleFontColor<<group8>> #cccccc skinparam RectangleBorderStyle<<group8>> dashed hexagon "==Service 8 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service8API>> as SoftwareSystem.Service8API database "==Service 8 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service8Database>> as SoftwareSystem.Service8Database } rectangle "==Web Application\n<size:10>[Container]</size>" <<SoftwareSystem.WebApplication>> as SoftwareSystem.WebApplication } SoftwareSystem.Service3API .[#707070,thickness=2].> SoftwareSystem.Service3Database : "<color:#707070>Reads from and writes to" SoftwareSystem.Service4API .[#707070,thickness=2].> SoftwareSystem.Service4Database : "<color:#707070>Reads from and writes to" SoftwareSystem.Service5API .[#707070,thickness=2].> SoftwareSystem.Service5Database : "<color:#707070>Reads from and writes to" SoftwareSystem.Service6API .[#707070,thickness=2].> SoftwareSystem.Service6Database : "<color:#707070>Reads from and writes to" SoftwareSystem.Service7API .[#707070,thickness=2].> SoftwareSystem.Service7Database : "<color:#707070>Reads from and writes to" SoftwareSystem.Service8API .[#707070,thickness=2].> SoftwareSystem.Service8Database : "<color:#707070>Reads from and writes to" User .[#707070,thickness=2].> SoftwareSystem.WebApplication : "<color:#707070>" SoftwareSystem.WebApplication .[#707070,thickness=2].> SoftwareSystem.Service1API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service2API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service3API : "<color:#707070>" SoftwareSystem.Service2API .[#707070,thickness=2].> SoftwareSystem.Service4API : "<color:#707070>" SoftwareSystem.Service2API .[#707070,thickness=2].> SoftwareSystem.Service5API : "<color:#707070>" SoftwareSystem.WebApplication .[#707070,thickness=2].> SoftwareSystem.Service3API : "<color:#707070>" SoftwareSystem.Service3API .[#707070,thickness=2].> SoftwareSystem.Service4API : "<color:#707070>" SoftwareSystem.Service3API .[#707070,thickness=2].> SoftwareSystem.Service7API : "<color:#707070>" SoftwareSystem.Service4API .[#707070,thickness=2].> SoftwareSystem.Service6API : "<color:#707070>" SoftwareSystem.Service7API .[#707070,thickness=2].> SoftwareSystem.Service8API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service1Database : "<color:#707070>Reads from and writes to" SoftwareSystem.Service2API .[#707070,thickness=2].> SoftwareSystem.Service2Database : "<color:#707070>Reads from and writes to" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none skinparam { shadowing false arrowFontSize 15 defaultTextAlignment center wrapWidth 100 maxMessageSize 100 } hide stereotype skinparam rectangle<<_transparent>> { BorderColor transparent BackgroundColor transparent FontColor transparent } skinparam rectangle<<1>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a } rectangle "==Element" <<1>> skinparam person<<2>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a } person "==Person" <<2>> skinparam database<<3>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 } database "==Service 1, Database" <<3>> skinparam hexagon<<4>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 } hexagon "==Service 1, Service API" <<4>> skinparam database<<5>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 } database "==Service 2, Database" <<5>> skinparam hexagon<<6>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 } hexagon "==Service 2, Service API" <<6>> skinparam database<<7>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 } database "==Service 3, Database" <<7>> skinparam hexagon<<8>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 } hexagon "==Service 3, Service API" <<8>> skinparam database<<9>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 } database "==Service 4, Database" <<9>> skinparam hexagon<<10>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 } hexagon "==Service 4, Service API" <<10>> skinparam database<<11>> { BackgroundColor #ffac33 FontColor #000000 BorderColor #b27823 } database "==Service 5, Database" <<11>> skinparam hexagon<<12>> { BackgroundColor #ffac33 FontColor #000000 BorderColor #b27823 } hexagon "==Service 5, Service API" <<12>> skinparam database<<13>> { BackgroundColor #dd8bfe FontColor #000000 BorderColor #9a61b1 } database "==Service 6, Database" <<13>> skinparam hexagon<<14>> { BackgroundColor #dd8bfe FontColor #000000 BorderColor #9a61b1 } hexagon "==Service 6, Service API" <<14>> skinparam database<<15>> { BackgroundColor #89acff FontColor #000000 BorderColor #5f78b2 } database "==Service 7, Database" <<15>> skinparam hexagon<<16>> { BackgroundColor #89acff FontColor #000000 BorderColor #5f78b2 } hexagon "==Service 7, Service API" <<16>> skinparam database<<17>> { BackgroundColor #fda9f4 FontColor #000000 BorderColor #b176aa } database "==Service 8, Database" <<17>> skinparam hexagon<<18>> { BackgroundColor #fda9f4 FontColor #000000 BorderColor #b176aa } hexagon "==Service 8, Service API" <<18>> rectangle "." <<_transparent>> as 19 19 .[#707070,thickness=2].> 19 : "<color:#707070>Relationship" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none title Software System - Containers top to bottom direction skinparam { arrowFontSize 10 defaultTextAlignment center wrapWidth 200 maxMessageSize 100 } hide stereotype skinparam hexagon<<SoftwareSystem.Service1API>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 shadowing false } skinparam database<<SoftwareSystem.Service1Database>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 shadowing false } skinparam hexagon<<SoftwareSystem.Service2API>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 shadowing false } skinparam hexagon<<SoftwareSystem.Service3API>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 shadowing false } skinparam rectangle<<SoftwareSystem.WebApplication>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a shadowing false } skinparam rectangle<<SoftwareSystem>> { BorderColor #9a9a9a FontColor #9a9a9a shadowing false } rectangle "Software System\n<size:10>[Software System]</size>" <<SoftwareSystem>> { rectangle "Service 1" <<group1>> as group1 { skinparam RectangleBorderColor<<group1>> #cccccc skinparam RectangleFontColor<<group1>> #cccccc skinparam RectangleBorderStyle<<group1>> dashed hexagon "==Service 1 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service1API>> as SoftwareSystem.Service1API database "==Service 1 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service1Database>> as SoftwareSystem.Service1Database } rectangle "Service 2" <<group2>> as group2 { skinparam RectangleBorderColor<<group2>> #cccccc skinparam RectangleFontColor<<group2>> #cccccc skinparam RectangleBorderStyle<<group2>> dashed hexagon "==Service 2 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service2API>> as SoftwareSystem.Service2API } rectangle "Service 3" <<group3>> as group3 { skinparam RectangleBorderColor<<group3>> #cccccc skinparam RectangleFontColor<<group3>> #cccccc skinparam RectangleBorderStyle<<group3>> dashed hexagon "==Service 3 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service3API>> as SoftwareSystem.Service3API } rectangle "==Web Application\n<size:10>[Container]</size>" <<SoftwareSystem.WebApplication>> as SoftwareSystem.WebApplication } SoftwareSystem.WebApplication .[#707070,thickness=2].> SoftwareSystem.Service1API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service2API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service3API : "<color:#707070>" SoftwareSystem.WebApplication .[#707070,thickness=2].> SoftwareSystem.Service3API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service1Database : "<color:#707070>Reads from and writes to" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none skinparam { shadowing false arrowFontSize 15 defaultTextAlignment center wrapWidth 100 maxMessageSize 100 } hide stereotype skinparam rectangle<<_transparent>> { BorderColor transparent BackgroundColor transparent FontColor transparent } skinparam rectangle<<1>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a } rectangle "==Element" <<1>> skinparam database<<2>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 } database "==Service 1, Database" <<2>> skinparam hexagon<<3>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 } hexagon "==Service 1, Service API" <<3>> skinparam hexagon<<4>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 } hexagon "==Service 2, Service API" <<4>> skinparam hexagon<<5>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 } hexagon "==Service 3, Service API" <<5>> rectangle "." <<_transparent>> as 6 6 .[#707070,thickness=2].> 6 : "<color:#707070>Relationship" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none title Software System - Containers top to bottom direction skinparam { arrowFontSize 10 defaultTextAlignment center wrapWidth 200 maxMessageSize 100 } hide stereotype skinparam hexagon<<SoftwareSystem.Service1API>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 shadowing false } skinparam hexagon<<SoftwareSystem.Service2API>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 shadowing false } skinparam database<<SoftwareSystem.Service2Database>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 shadowing false } skinparam hexagon<<SoftwareSystem.Service4API>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 shadowing false } skinparam hexagon<<SoftwareSystem.Service5API>> { BackgroundColor #ffac33 FontColor #000000 BorderColor #b27823 shadowing false } skinparam rectangle<<SoftwareSystem>> { BorderColor #9a9a9a FontColor #9a9a9a shadowing false } rectangle "Software System\n<size:10>[Software System]</size>" <<SoftwareSystem>> { rectangle "Service 1" <<group1>> as group1 { skinparam RectangleBorderColor<<group1>> #cccccc skinparam RectangleFontColor<<group1>> #cccccc skinparam RectangleBorderStyle<<group1>> dashed hexagon "==Service 1 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service1API>> as SoftwareSystem.Service1API } rectangle "Service 2" <<group2>> as group2 { skinparam RectangleBorderColor<<group2>> #cccccc skinparam RectangleFontColor<<group2>> #cccccc skinparam RectangleBorderStyle<<group2>> dashed hexagon "==Service 2 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service2API>> as SoftwareSystem.Service2API database "==Service 2 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service2Database>> as SoftwareSystem.Service2Database } rectangle "Service 4" <<group3>> as group3 { skinparam RectangleBorderColor<<group3>> #cccccc skinparam RectangleFontColor<<group3>> #cccccc skinparam RectangleBorderStyle<<group3>> dashed hexagon "==Service 4 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service4API>> as SoftwareSystem.Service4API } rectangle "Service 5" <<group4>> as group4 { skinparam RectangleBorderColor<<group4>> #cccccc skinparam RectangleFontColor<<group4>> #cccccc skinparam RectangleBorderStyle<<group4>> dashed hexagon "==Service 5 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service5API>> as SoftwareSystem.Service5API } } SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service2API : "<color:#707070>" SoftwareSystem.Service2API .[#707070,thickness=2].> SoftwareSystem.Service4API : "<color:#707070>" SoftwareSystem.Service2API .[#707070,thickness=2].> SoftwareSystem.Service5API : "<color:#707070>" SoftwareSystem.Service2API .[#707070,thickness=2].> SoftwareSystem.Service2Database : "<color:#707070>Reads from and writes to" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none skinparam { shadowing false arrowFontSize 15 defaultTextAlignment center wrapWidth 100 maxMessageSize 100 } hide stereotype skinparam rectangle<<_transparent>> { BorderColor transparent BackgroundColor transparent FontColor transparent } skinparam hexagon<<1>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 } hexagon "==Service 1, Service API" <<1>> skinparam database<<2>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 } database "==Service 2, Database" <<2>> skinparam hexagon<<3>> { BackgroundColor #edf08c FontColor #000000 BorderColor #a5a862 } hexagon "==Service 2, Service API" <<3>> skinparam hexagon<<4>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 } hexagon "==Service 4, Service API" <<4>> skinparam hexagon<<5>> { BackgroundColor #ffac33 FontColor #000000 BorderColor #b27823 } hexagon "==Service 5, Service API" <<5>> rectangle "." <<_transparent>> as 6 6 .[#707070,thickness=2].> 6 : "<color:#707070>Relationship" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none title Software System - Containers top to bottom direction skinparam { arrowFontSize 10 defaultTextAlignment center wrapWidth 200 maxMessageSize 100 } hide stereotype skinparam hexagon<<SoftwareSystem.Service1API>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 shadowing false } skinparam hexagon<<SoftwareSystem.Service3API>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 shadowing false } skinparam database<<SoftwareSystem.Service3Database>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 shadowing false } skinparam hexagon<<SoftwareSystem.Service4API>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 shadowing false } skinparam hexagon<<SoftwareSystem.Service7API>> { BackgroundColor #89acff FontColor #000000 BorderColor #5f78b2 shadowing false } skinparam rectangle<<SoftwareSystem.WebApplication>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a shadowing false } skinparam rectangle<<SoftwareSystem>> { BorderColor #9a9a9a FontColor #9a9a9a shadowing false } rectangle "Software System\n<size:10>[Software System]</size>" <<SoftwareSystem>> { rectangle "Service 1" <<group1>> as group1 { skinparam RectangleBorderColor<<group1>> #cccccc skinparam RectangleFontColor<<group1>> #cccccc skinparam RectangleBorderStyle<<group1>> dashed hexagon "==Service 1 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service1API>> as SoftwareSystem.Service1API } rectangle "Service 3" <<group2>> as group2 { skinparam RectangleBorderColor<<group2>> #cccccc skinparam RectangleFontColor<<group2>> #cccccc skinparam RectangleBorderStyle<<group2>> dashed hexagon "==Service 3 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service3API>> as SoftwareSystem.Service3API database "==Service 3 Database\n<size:10>[Container]</size>" <<SoftwareSystem.Service3Database>> as SoftwareSystem.Service3Database } rectangle "Service 4" <<group3>> as group3 { skinparam RectangleBorderColor<<group3>> #cccccc skinparam RectangleFontColor<<group3>> #cccccc skinparam RectangleBorderStyle<<group3>> dashed hexagon "==Service 4 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service4API>> as SoftwareSystem.Service4API } rectangle "Service 7" <<group4>> as group4 { skinparam RectangleBorderColor<<group4>> #cccccc skinparam RectangleFontColor<<group4>> #cccccc skinparam RectangleBorderStyle<<group4>> dashed hexagon "==Service 7 API\n<size:10>[Container]</size>" <<SoftwareSystem.Service7API>> as SoftwareSystem.Service7API } rectangle "==Web Application\n<size:10>[Container]</size>" <<SoftwareSystem.WebApplication>> as SoftwareSystem.WebApplication } SoftwareSystem.Service3API .[#707070,thickness=2].> SoftwareSystem.Service3Database : "<color:#707070>Reads from and writes to" SoftwareSystem.WebApplication .[#707070,thickness=2].> SoftwareSystem.Service1API : "<color:#707070>" SoftwareSystem.Service1API .[#707070,thickness=2].> SoftwareSystem.Service3API : "<color:#707070>" SoftwareSystem.WebApplication .[#707070,thickness=2].> SoftwareSystem.Service3API : "<color:#707070>" SoftwareSystem.Service3API .[#707070,thickness=2].> SoftwareSystem.Service4API : "<color:#707070>" SoftwareSystem.Service3API .[#707070,thickness=2].> SoftwareSystem.Service7API : "<color:#707070>" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none skinparam { shadowing false arrowFontSize 15 defaultTextAlignment center wrapWidth 100 maxMessageSize 100 } hide stereotype skinparam rectangle<<_transparent>> { BorderColor transparent BackgroundColor transparent FontColor transparent } skinparam rectangle<<1>> { BackgroundColor #dddddd FontColor #000000 BorderColor #9a9a9a } rectangle "==Element" <<1>> skinparam hexagon<<2>> { BackgroundColor #91f0ae FontColor #000000 BorderColor #65a879 } hexagon "==Service 1, Service API" <<2>> skinparam database<<3>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 } database "==Service 3, Database" <<3>> skinparam hexagon<<4>> { BackgroundColor #8cd0f0 FontColor #000000 BorderColor #6291a8 } hexagon "==Service 3, Service API" <<4>> skinparam hexagon<<5>> { BackgroundColor #f08ca4 FontColor #000000 BorderColor #a86272 } hexagon "==Service 4, Service API" <<5>> skinparam hexagon<<6>> { BackgroundColor #89acff FontColor #000000 BorderColor #5f78b2 } hexagon "==Service 7, Service API" <<6>> rectangle "." <<_transparent>> as 7 7 .[#707070,thickness=2].> 7 : "<color:#707070>Relationship" @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
C4-PlantUML definitions are available via the Structurizr CLI export command,
using the -format plantuml/c4plantuml
parameter.
See C4PlantUMLExporter for customisation options.
@startuml set separator none title Software System - Containers top to bottom direction !include <C4/C4> !include <C4/C4_Context> !include <C4/C4_Container> Person(User, "User", $descr="", $tags="", $link="") System_Boundary("SoftwareSystem_boundary", "Software System", $tags="") { AddBoundaryTag("Service 1", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_1, "Service 1", $tags="Service 1") { Container(SoftwareSystem.Service1API, "Service 1 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service1Database, "Service 1 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 2", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_2, "Service 2", $tags="Service 2") { Container(SoftwareSystem.Service2API, "Service 2 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service2Database, "Service 2 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 3", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_3, "Service 3", $tags="Service 3") { Container(SoftwareSystem.Service3API, "Service 3 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service3Database, "Service 3 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 4", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_4, "Service 4", $tags="Service 4") { Container(SoftwareSystem.Service4API, "Service 4 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service4Database, "Service 4 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 5", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_5, "Service 5", $tags="Service 5") { Container(SoftwareSystem.Service5API, "Service 5 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service5Database, "Service 5 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 6", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_6, "Service 6", $tags="Service 6") { Container(SoftwareSystem.Service6API, "Service 6 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service6Database, "Service 6 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 7", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_7, "Service 7", $tags="Service 7") { Container(SoftwareSystem.Service7API, "Service 7 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service7Database, "Service 7 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 8", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_8, "Service 8", $tags="Service 8") { Container(SoftwareSystem.Service8API, "Service 8 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service8Database, "Service 8 Database", $techn="", $descr="", $tags="", $link="") } Container(SoftwareSystem.WebApplication, "Web Application", $techn="", $descr="", $tags="", $link="") } Rel(SoftwareSystem.Service3API, SoftwareSystem.Service3Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service4API, SoftwareSystem.Service4Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service5API, SoftwareSystem.Service5Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service6API, SoftwareSystem.Service6Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service7API, SoftwareSystem.Service7Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service8API, SoftwareSystem.Service8Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(User, SoftwareSystem.WebApplication, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.WebApplication, SoftwareSystem.Service1API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service2API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service3API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service2API, SoftwareSystem.Service4API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service2API, SoftwareSystem.Service5API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.WebApplication, SoftwareSystem.Service3API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service3API, SoftwareSystem.Service4API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service3API, SoftwareSystem.Service7API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service4API, SoftwareSystem.Service6API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service7API, SoftwareSystem.Service8API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service1Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service2API, SoftwareSystem.Service2Database, "Reads from and writes to", $techn="", $tags="", $link="") SHOW_LEGEND(true) @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none title Software System - Containers top to bottom direction !include <C4/C4> !include <C4/C4_Context> !include <C4/C4_Container> System_Boundary("SoftwareSystem_boundary", "Software System", $tags="") { AddBoundaryTag("Service 1", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_1, "Service 1", $tags="Service 1") { Container(SoftwareSystem.Service1API, "Service 1 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service1Database, "Service 1 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 2", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_2, "Service 2", $tags="Service 2") { Container(SoftwareSystem.Service2API, "Service 2 API", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 3", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_3, "Service 3", $tags="Service 3") { Container(SoftwareSystem.Service3API, "Service 3 API", $techn="", $descr="", $tags="", $link="") } Container(SoftwareSystem.WebApplication, "Web Application", $techn="", $descr="", $tags="", $link="") } Rel(SoftwareSystem.WebApplication, SoftwareSystem.Service1API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service2API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service3API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.WebApplication, SoftwareSystem.Service3API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service1Database, "Reads from and writes to", $techn="", $tags="", $link="") SHOW_LEGEND(true) @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none title Software System - Containers top to bottom direction !include <C4/C4> !include <C4/C4_Context> !include <C4/C4_Container> System_Boundary("SoftwareSystem_boundary", "Software System", $tags="") { AddBoundaryTag("Service 1", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_1, "Service 1", $tags="Service 1") { Container(SoftwareSystem.Service1API, "Service 1 API", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 2", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_2, "Service 2", $tags="Service 2") { Container(SoftwareSystem.Service2API, "Service 2 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service2Database, "Service 2 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 4", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_3, "Service 4", $tags="Service 4") { Container(SoftwareSystem.Service4API, "Service 4 API", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 5", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_4, "Service 5", $tags="Service 5") { Container(SoftwareSystem.Service5API, "Service 5 API", $techn="", $descr="", $tags="", $link="") } } Rel(SoftwareSystem.Service1API, SoftwareSystem.Service2API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service2API, SoftwareSystem.Service4API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service2API, SoftwareSystem.Service5API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service2API, SoftwareSystem.Service2Database, "Reads from and writes to", $techn="", $tags="", $link="") SHOW_LEGEND(true) @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
@startuml set separator none title Software System - Containers top to bottom direction !include <C4/C4> !include <C4/C4_Context> !include <C4/C4_Container> System_Boundary("SoftwareSystem_boundary", "Software System", $tags="") { AddBoundaryTag("Service 1", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_1, "Service 1", $tags="Service 1") { Container(SoftwareSystem.Service1API, "Service 1 API", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 3", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_2, "Service 3", $tags="Service 3") { Container(SoftwareSystem.Service3API, "Service 3 API", $techn="", $descr="", $tags="", $link="") ContainerDb(SoftwareSystem.Service3Database, "Service 3 Database", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 4", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_3, "Service 4", $tags="Service 4") { Container(SoftwareSystem.Service4API, "Service 4 API", $techn="", $descr="", $tags="", $link="") } AddBoundaryTag("Service 7", $borderColor="#cccccc", $fontColor="#cccccc", $borderStyle="dashed") Boundary(group_4, "Service 7", $tags="Service 7") { Container(SoftwareSystem.Service7API, "Service 7 API", $techn="", $descr="", $tags="", $link="") } Container(SoftwareSystem.WebApplication, "Web Application", $techn="", $descr="", $tags="", $link="") } Rel(SoftwareSystem.Service3API, SoftwareSystem.Service3Database, "Reads from and writes to", $techn="", $tags="", $link="") Rel(SoftwareSystem.WebApplication, SoftwareSystem.Service1API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service1API, SoftwareSystem.Service3API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.WebApplication, SoftwareSystem.Service3API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service3API, SoftwareSystem.Service4API, "", $techn="", $tags="", $link="") Rel(SoftwareSystem.Service3API, SoftwareSystem.Service7API, "", $techn="", $tags="", $link="") SHOW_LEGEND(true) @enduml
(this will send your diagram content to https://plantuml.com/plantuml)
Mermaid definitions are available via the Structurizr CLI export command,
using the -format mermaid
parameter. Your Mermaid configuration will need to include "securityLevel": "loose"
to render this definition correctly.
graph TB linkStyle default fill:#ffffff subgraph diagram ["Software System - Containers"] style diagram fill:#ffffff,stroke:#ffffff 1["<div style='font-weight: bold'>User</div><div style='font-size: 70%; margin-top: 0px'>[Person]</div>"] style 1 fill:#dddddd,stroke:#9a9a9a,color:#000000 subgraph 2 ["Software System"] style 2 fill:#ffffff,stroke:#9a9a9a,color:#9a9a9a subgraph group1 ["Service 1"] style group1 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 4["<div style='font-weight: bold'>Service 1 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 4 fill:#91f0ae,stroke:#65a879,color:#000000 5[("<div style='font-weight: bold'>Service 1 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 5 fill:#91f0ae,stroke:#65a879,color:#000000 end subgraph group2 ["Service 2"] style group2 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 7["<div style='font-weight: bold'>Service 2 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 7 fill:#edf08c,stroke:#a5a862,color:#000000 8[("<div style='font-weight: bold'>Service 2 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 8 fill:#edf08c,stroke:#a5a862,color:#000000 end subgraph group3 ["Service 3"] style group3 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 10["<div style='font-weight: bold'>Service 3 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 10 fill:#8cd0f0,stroke:#6291a8,color:#000000 11[("<div style='font-weight: bold'>Service 3 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 11 fill:#8cd0f0,stroke:#6291a8,color:#000000 end subgraph group4 ["Service 4"] style group4 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 13["<div style='font-weight: bold'>Service 4 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 13 fill:#f08ca4,stroke:#a86272,color:#000000 14[("<div style='font-weight: bold'>Service 4 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 14 fill:#f08ca4,stroke:#a86272,color:#000000 end subgraph group5 ["Service 5"] style group5 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 16["<div style='font-weight: bold'>Service 5 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 16 fill:#ffac33,stroke:#b27823,color:#000000 17[("<div style='font-weight: bold'>Service 5 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 17 fill:#ffac33,stroke:#b27823,color:#000000 end subgraph group6 ["Service 6"] style group6 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 19["<div style='font-weight: bold'>Service 6 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 19 fill:#dd8bfe,stroke:#9a61b1,color:#000000 20[("<div style='font-weight: bold'>Service 6 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 20 fill:#dd8bfe,stroke:#9a61b1,color:#000000 end subgraph group7 ["Service 7"] style group7 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 22["<div style='font-weight: bold'>Service 7 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 22 fill:#89acff,stroke:#5f78b2,color:#000000 23[("<div style='font-weight: bold'>Service 7 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 23 fill:#89acff,stroke:#5f78b2,color:#000000 end subgraph group8 ["Service 8"] style group8 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 25["<div style='font-weight: bold'>Service 8 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 25 fill:#fda9f4,stroke:#b176aa,color:#000000 26[("<div style='font-weight: bold'>Service 8 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 26 fill:#fda9f4,stroke:#b176aa,color:#000000 end 3["<div style='font-weight: bold'>Web Application</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 3 fill:#dddddd,stroke:#9a9a9a,color:#000000 end 10-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->11 13-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->14 16-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->17 19-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->20 22-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->23 25-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->26 1-. "<div></div><div style='font-size: 70%'></div>" .->3 3-. "<div></div><div style='font-size: 70%'></div>" .->4 4-. "<div></div><div style='font-size: 70%'></div>" .->7 4-. "<div></div><div style='font-size: 70%'></div>" .->10 7-. "<div></div><div style='font-size: 70%'></div>" .->13 7-. "<div></div><div style='font-size: 70%'></div>" .->16 3-. "<div></div><div style='font-size: 70%'></div>" .->10 10-. "<div></div><div style='font-size: 70%'></div>" .->13 10-. "<div></div><div style='font-size: 70%'></div>" .->22 13-. "<div></div><div style='font-size: 70%'></div>" .->19 22-. "<div></div><div style='font-size: 70%'></div>" .->25 4-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->5 7-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->8 end
(this will send your diagram content to https://mermaid.ink)
graph TB linkStyle default fill:#ffffff subgraph diagram ["Software System - Containers"] style diagram fill:#ffffff,stroke:#ffffff subgraph 2 ["Software System"] style 2 fill:#ffffff,stroke:#9a9a9a,color:#9a9a9a subgraph group1 ["Service 1"] style group1 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 4["<div style='font-weight: bold'>Service 1 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 4 fill:#91f0ae,stroke:#65a879,color:#000000 5[("<div style='font-weight: bold'>Service 1 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 5 fill:#91f0ae,stroke:#65a879,color:#000000 end subgraph group2 ["Service 2"] style group2 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 7["<div style='font-weight: bold'>Service 2 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 7 fill:#edf08c,stroke:#a5a862,color:#000000 end subgraph group3 ["Service 3"] style group3 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 10["<div style='font-weight: bold'>Service 3 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 10 fill:#8cd0f0,stroke:#6291a8,color:#000000 end 3["<div style='font-weight: bold'>Web Application</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 3 fill:#dddddd,stroke:#9a9a9a,color:#000000 end 3-. "<div></div><div style='font-size: 70%'></div>" .->4 4-. "<div></div><div style='font-size: 70%'></div>" .->7 4-. "<div></div><div style='font-size: 70%'></div>" .->10 3-. "<div></div><div style='font-size: 70%'></div>" .->10 4-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->5 end
(this will send your diagram content to https://mermaid.ink)
graph TB linkStyle default fill:#ffffff subgraph diagram ["Software System - Containers"] style diagram fill:#ffffff,stroke:#ffffff subgraph 2 ["Software System"] style 2 fill:#ffffff,stroke:#9a9a9a,color:#9a9a9a subgraph group1 ["Service 1"] style group1 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 4["<div style='font-weight: bold'>Service 1 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 4 fill:#91f0ae,stroke:#65a879,color:#000000 end subgraph group2 ["Service 2"] style group2 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 7["<div style='font-weight: bold'>Service 2 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 7 fill:#edf08c,stroke:#a5a862,color:#000000 8[("<div style='font-weight: bold'>Service 2 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 8 fill:#edf08c,stroke:#a5a862,color:#000000 end subgraph group3 ["Service 4"] style group3 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 13["<div style='font-weight: bold'>Service 4 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 13 fill:#f08ca4,stroke:#a86272,color:#000000 end subgraph group4 ["Service 5"] style group4 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 16["<div style='font-weight: bold'>Service 5 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 16 fill:#ffac33,stroke:#b27823,color:#000000 end end 4-. "<div></div><div style='font-size: 70%'></div>" .->7 7-. "<div></div><div style='font-size: 70%'></div>" .->13 7-. "<div></div><div style='font-size: 70%'></div>" .->16 7-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->8 end
(this will send your diagram content to https://mermaid.ink)
graph TB linkStyle default fill:#ffffff subgraph diagram ["Software System - Containers"] style diagram fill:#ffffff,stroke:#ffffff subgraph 2 ["Software System"] style 2 fill:#ffffff,stroke:#9a9a9a,color:#9a9a9a subgraph group1 ["Service 1"] style group1 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 4["<div style='font-weight: bold'>Service 1 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 4 fill:#91f0ae,stroke:#65a879,color:#000000 end subgraph group2 ["Service 3"] style group2 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 10["<div style='font-weight: bold'>Service 3 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 10 fill:#8cd0f0,stroke:#6291a8,color:#000000 11[("<div style='font-weight: bold'>Service 3 Database</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>")] style 11 fill:#8cd0f0,stroke:#6291a8,color:#000000 end subgraph group3 ["Service 4"] style group3 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 13["<div style='font-weight: bold'>Service 4 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 13 fill:#f08ca4,stroke:#a86272,color:#000000 end subgraph group4 ["Service 7"] style group4 fill:#ffffff,stroke:#cccccc,color:#cccccc,stroke-dasharray:5 22["<div style='font-weight: bold'>Service 7 API</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 22 fill:#89acff,stroke:#5f78b2,color:#000000 end 3["<div style='font-weight: bold'>Web Application</div><div style='font-size: 70%; margin-top: 0px'>[Container]</div>"] style 3 fill:#dddddd,stroke:#9a9a9a,color:#000000 end 10-. "<div>Reads from and writes to</div><div style='font-size: 70%'></div>" .->11 3-. "<div></div><div style='font-size: 70%'></div>" .->4 4-. "<div></div><div style='font-size: 70%'></div>" .->10 3-. "<div></div><div style='font-size: 70%'></div>" .->10 10-. "<div></div><div style='font-size: 70%'></div>" .->13 10-. "<div></div><div style='font-size: 70%'></div>" .->22 end
(this will send your diagram content to https://mermaid.ink)
WebSequenceDiagram definitions are available via the Structurizr CLI export command,
using the -format websequencediagrams
parameter. Only dynamic views are supported.
DOT definitions are available via the Structurizr CLI export command,
using the -format dot
parameter.
digraph { compound=true graph [fontname="Arial", rankdir=TB, ranksep=1.0, nodesep=1.0] node [fontname="Arial", shape=box, margin="0.4,0.3"] edge [fontname="Arial"] label=<<br /><font point-size="34">Software System - Containers</font>> 1 [id=1,shape=rect, label=<<font point-size="34">User</font><br /><font point-size="19">[Person]</font>>, style=filled, color="#9a9a9a", fillcolor="#dddddd", fontcolor="#000000"] subgraph cluster_2 { margin=25 label=<<font point-size="24"><br />Software System</font><br /><font point-size="19">[Software System]</font>> labelloc=b color="#444444" fontcolor="#444444" fillcolor="#444444" subgraph "cluster_group_Service 1" { margin=25 label=<<font point-size="24"><br />Service 1</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 4 [id=4,shape=hexagon, label=<<font point-size="34">Service 1 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#65a879", fillcolor="#91f0ae", fontcolor="#000000"] 5 [id=5,shape=cylinder, label=<<font point-size="34">Service 1 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#65a879", fillcolor="#91f0ae", fontcolor="#000000"] } subgraph "cluster_group_Service 2" { margin=25 label=<<font point-size="24"><br />Service 2</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 7 [id=7,shape=hexagon, label=<<font point-size="34">Service 2 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a5a862", fillcolor="#edf08c", fontcolor="#000000"] 8 [id=8,shape=cylinder, label=<<font point-size="34">Service 2 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a5a862", fillcolor="#edf08c", fontcolor="#000000"] } subgraph "cluster_group_Service 3" { margin=25 label=<<font point-size="24"><br />Service 3</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 10 [id=10,shape=hexagon, label=<<font point-size="34">Service 3 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#6291a8", fillcolor="#8cd0f0", fontcolor="#000000"] 11 [id=11,shape=cylinder, label=<<font point-size="34">Service 3 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#6291a8", fillcolor="#8cd0f0", fontcolor="#000000"] } subgraph "cluster_group_Service 4" { margin=25 label=<<font point-size="24"><br />Service 4</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 13 [id=13,shape=hexagon, label=<<font point-size="34">Service 4 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a86272", fillcolor="#f08ca4", fontcolor="#000000"] 14 [id=14,shape=cylinder, label=<<font point-size="34">Service 4 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a86272", fillcolor="#f08ca4", fontcolor="#000000"] } subgraph "cluster_group_Service 5" { margin=25 label=<<font point-size="24"><br />Service 5</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 16 [id=16,shape=hexagon, label=<<font point-size="34">Service 5 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#b27823", fillcolor="#ffac33", fontcolor="#000000"] 17 [id=17,shape=cylinder, label=<<font point-size="34">Service 5 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#b27823", fillcolor="#ffac33", fontcolor="#000000"] } subgraph "cluster_group_Service 6" { margin=25 label=<<font point-size="24"><br />Service 6</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 19 [id=19,shape=hexagon, label=<<font point-size="34">Service 6 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#9a61b1", fillcolor="#dd8bfe", fontcolor="#000000"] 20 [id=20,shape=cylinder, label=<<font point-size="34">Service 6 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#9a61b1", fillcolor="#dd8bfe", fontcolor="#000000"] } subgraph "cluster_group_Service 7" { margin=25 label=<<font point-size="24"><br />Service 7</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 22 [id=22,shape=hexagon, label=<<font point-size="34">Service 7 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#5f78b2", fillcolor="#89acff", fontcolor="#000000"] 23 [id=23,shape=cylinder, label=<<font point-size="34">Service 7 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#5f78b2", fillcolor="#89acff", fontcolor="#000000"] } subgraph "cluster_group_Service 8" { margin=25 label=<<font point-size="24"><br />Service 8</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 25 [id=25,shape=hexagon, label=<<font point-size="34">Service 8 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#b176aa", fillcolor="#fda9f4", fontcolor="#000000"] 26 [id=26,shape=cylinder, label=<<font point-size="34">Service 8 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#b176aa", fillcolor="#fda9f4", fontcolor="#000000"] } 3 [id=3,shape=rect, label=<<font point-size="34">Web Application</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#9a9a9a", fillcolor="#dddddd", fontcolor="#000000"] } 10 -> 11 [id=12, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 13 -> 14 [id=15, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 16 -> 17 [id=18, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 19 -> 20 [id=21, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 22 -> 23 [id=24, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 25 -> 26 [id=27, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 1 -> 3 [id=28, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 3 -> 4 [id=30, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 7 [id=31, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 10 [id=32, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 7 -> 13 [id=33, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 7 -> 16 [id=34, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 3 -> 10 [id=35, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 10 -> 13 [id=36, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 10 -> 22 [id=37, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 13 -> 19 [id=38, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 22 -> 25 [id=39, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 5 [id=6, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 7 -> 8 [id=9, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] }
digraph { compound=true graph [fontname="Arial", rankdir=TB, ranksep=1.0, nodesep=1.0] node [fontname="Arial", shape=box, margin="0.4,0.3"] edge [fontname="Arial"] label=<<br /><font point-size="34">Software System - Containers</font>> subgraph cluster_2 { margin=25 label=<<font point-size="24"><br />Software System</font><br /><font point-size="19">[Software System]</font>> labelloc=b color="#444444" fontcolor="#444444" fillcolor="#444444" subgraph "cluster_group_Service 1" { margin=25 label=<<font point-size="24"><br />Service 1</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 4 [id=4,shape=hexagon, label=<<font point-size="34">Service 1 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#65a879", fillcolor="#91f0ae", fontcolor="#000000"] 5 [id=5,shape=cylinder, label=<<font point-size="34">Service 1 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#65a879", fillcolor="#91f0ae", fontcolor="#000000"] } subgraph "cluster_group_Service 2" { margin=25 label=<<font point-size="24"><br />Service 2</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 7 [id=7,shape=hexagon, label=<<font point-size="34">Service 2 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a5a862", fillcolor="#edf08c", fontcolor="#000000"] } subgraph "cluster_group_Service 3" { margin=25 label=<<font point-size="24"><br />Service 3</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 10 [id=10,shape=hexagon, label=<<font point-size="34">Service 3 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#6291a8", fillcolor="#8cd0f0", fontcolor="#000000"] } 3 [id=3,shape=rect, label=<<font point-size="34">Web Application</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#9a9a9a", fillcolor="#dddddd", fontcolor="#000000"] } 3 -> 4 [id=30, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 7 [id=31, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 10 [id=32, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 3 -> 10 [id=35, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 5 [id=6, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] }
digraph { compound=true graph [fontname="Arial", rankdir=TB, ranksep=1.0, nodesep=1.0] node [fontname="Arial", shape=box, margin="0.4,0.3"] edge [fontname="Arial"] label=<<br /><font point-size="34">Software System - Containers</font>> subgraph cluster_2 { margin=25 label=<<font point-size="24"><br />Software System</font><br /><font point-size="19">[Software System]</font>> labelloc=b color="#444444" fontcolor="#444444" fillcolor="#444444" subgraph "cluster_group_Service 1" { margin=25 label=<<font point-size="24"><br />Service 1</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 4 [id=4,shape=hexagon, label=<<font point-size="34">Service 1 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#65a879", fillcolor="#91f0ae", fontcolor="#000000"] } subgraph "cluster_group_Service 2" { margin=25 label=<<font point-size="24"><br />Service 2</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 7 [id=7,shape=hexagon, label=<<font point-size="34">Service 2 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a5a862", fillcolor="#edf08c", fontcolor="#000000"] 8 [id=8,shape=cylinder, label=<<font point-size="34">Service 2 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a5a862", fillcolor="#edf08c", fontcolor="#000000"] } subgraph "cluster_group_Service 4" { margin=25 label=<<font point-size="24"><br />Service 4</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 13 [id=13,shape=hexagon, label=<<font point-size="34">Service 4 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a86272", fillcolor="#f08ca4", fontcolor="#000000"] } subgraph "cluster_group_Service 5" { margin=25 label=<<font point-size="24"><br />Service 5</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 16 [id=16,shape=hexagon, label=<<font point-size="34">Service 5 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#b27823", fillcolor="#ffac33", fontcolor="#000000"] } } 4 -> 7 [id=31, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 7 -> 13 [id=33, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 7 -> 16 [id=34, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 7 -> 8 [id=9, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] }
digraph { compound=true graph [fontname="Arial", rankdir=TB, ranksep=1.0, nodesep=1.0] node [fontname="Arial", shape=box, margin="0.4,0.3"] edge [fontname="Arial"] label=<<br /><font point-size="34">Software System - Containers</font>> subgraph cluster_2 { margin=25 label=<<font point-size="24"><br />Software System</font><br /><font point-size="19">[Software System]</font>> labelloc=b color="#444444" fontcolor="#444444" fillcolor="#444444" subgraph "cluster_group_Service 1" { margin=25 label=<<font point-size="24"><br />Service 1</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 4 [id=4,shape=hexagon, label=<<font point-size="34">Service 1 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#65a879", fillcolor="#91f0ae", fontcolor="#000000"] } subgraph "cluster_group_Service 3" { margin=25 label=<<font point-size="24"><br />Service 3</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 10 [id=10,shape=hexagon, label=<<font point-size="34">Service 3 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#6291a8", fillcolor="#8cd0f0", fontcolor="#000000"] 11 [id=11,shape=cylinder, label=<<font point-size="34">Service 3 Database</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#6291a8", fillcolor="#8cd0f0", fontcolor="#000000"] } subgraph "cluster_group_Service 4" { margin=25 label=<<font point-size="24"><br />Service 4</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 13 [id=13,shape=hexagon, label=<<font point-size="34">Service 4 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#a86272", fillcolor="#f08ca4", fontcolor="#000000"] } subgraph "cluster_group_Service 7" { margin=25 label=<<font point-size="24"><br />Service 7</font>> labelloc=b color="#cccccc" fontcolor="#cccccc" fillcolor="#ffffff" style="dashed" 22 [id=22,shape=hexagon, label=<<font point-size="34">Service 7 API</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#5f78b2", fillcolor="#89acff", fontcolor="#000000"] } 3 [id=3,shape=rect, label=<<font point-size="34">Web Application</font><br /><font point-size="19">[Container]</font>>, style=filled, color="#9a9a9a", fillcolor="#dddddd", fontcolor="#000000"] } 10 -> 11 [id=12, label=<<font point-size="24">Reads from and writes to</font>>, style="dashed", color="#707070", fontcolor="#707070"] 3 -> 4 [id=30, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 4 -> 10 [id=32, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 3 -> 10 [id=35, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 10 -> 13 [id=36, label=<>, style="dashed", color="#707070", fontcolor="#707070"] 10 -> 22 [id=37, label=<>, style="dashed", color="#707070", fontcolor="#707070"] }
Ilograph definitions are available via the Structurizr CLI export command,
using the -format ilograph
parameter. A single Ilograph export contains the model and all views.
resources: - id: "1" name: "User" subtitle: "[Person]" backgroundColor: "#dddddd" color: "#000000" - id: "2" name: "Software System" subtitle: "[Software System]" backgroundColor: "#dddddd" color: "#000000" children: - id: "10" name: "Service 3 API" subtitle: "[Container]" backgroundColor: "#8cd0f0" color: "#000000" - id: "11" name: "Service 3 Database" subtitle: "[Container]" backgroundColor: "#8cd0f0" color: "#000000" - id: "13" name: "Service 4 API" subtitle: "[Container]" backgroundColor: "#f08ca4" color: "#000000" - id: "14" name: "Service 4 Database" subtitle: "[Container]" backgroundColor: "#f08ca4" color: "#000000" - id: "16" name: "Service 5 API" subtitle: "[Container]" backgroundColor: "#ffac33" color: "#000000" - id: "17" name: "Service 5 Database" subtitle: "[Container]" backgroundColor: "#ffac33" color: "#000000" - id: "19" name: "Service 6 API" subtitle: "[Container]" backgroundColor: "#dd8bfe" color: "#000000" - id: "20" name: "Service 6 Database" subtitle: "[Container]" backgroundColor: "#dd8bfe" color: "#000000" - id: "22" name: "Service 7 API" subtitle: "[Container]" backgroundColor: "#89acff" color: "#000000" - id: "23" name: "Service 7 Database" subtitle: "[Container]" backgroundColor: "#89acff" color: "#000000" - id: "25" name: "Service 8 API" subtitle: "[Container]" backgroundColor: "#fda9f4" color: "#000000" - id: "26" name: "Service 8 Database" subtitle: "[Container]" backgroundColor: "#fda9f4" color: "#000000" - id: "3" name: "Web Application" subtitle: "[Container]" backgroundColor: "#dddddd" color: "#000000" - id: "4" name: "Service 1 API" subtitle: "[Container]" backgroundColor: "#91f0ae" color: "#000000" - id: "5" name: "Service 1 Database" subtitle: "[Container]" backgroundColor: "#91f0ae" color: "#000000" - id: "7" name: "Service 2 API" subtitle: "[Container]" backgroundColor: "#edf08c" color: "#000000" - id: "8" name: "Service 2 Database" subtitle: "[Container]" backgroundColor: "#edf08c" color: "#000000" perspectives: - name: Static Structure relations: - from: "1" to: "2" color: "#707070" - from: "1" to: "3" color: "#707070" - from: "10" to: "11" label: "Reads from and writes to" color: "#707070" - from: "10" to: "13" color: "#707070" - from: "10" to: "22" color: "#707070" - from: "13" to: "14" label: "Reads from and writes to" color: "#707070" - from: "13" to: "19" color: "#707070" - from: "16" to: "17" label: "Reads from and writes to" color: "#707070" - from: "19" to: "20" label: "Reads from and writes to" color: "#707070" - from: "22" to: "23" label: "Reads from and writes to" color: "#707070" - from: "22" to: "25" color: "#707070" - from: "25" to: "26" label: "Reads from and writes to" color: "#707070" - from: "3" to: "4" color: "#707070" - from: "3" to: "10" color: "#707070" - from: "4" to: "7" color: "#707070" - from: "4" to: "10" color: "#707070" - from: "4" to: "5" label: "Reads from and writes to" color: "#707070" - from: "7" to: "13" color: "#707070" - from: "7" to: "16" color: "#707070" - from: "7" to: "8" label: "Reads from and writes to" color: "#707070"