@startuml !include title "Osmalert Architectural Overview" skinparam linetype ortho folder "Confluent Cloud Datacenter" { queue "<$kafka>" as kafka } node "HeiGIT Cloud" { queue "<$kafka>" as kafka folder "Flink Cluster" { component "Alert Job 1" as job1 <> component "Alert Job 2" as job2 <> component "Alert Job N" as job3 <> kafka --> job1 : OSM contributions kafka --> job2 kafka --> job3 } } component "Web Browser" <> as browser component "web.de SMTP service" as mail #pink node "Heroku Cloud Datacenter" { component "Job Jar" as jobjar "Osmalert WebService" --> jobjar jobjar ---> "Flink Cluster" folder "Osmalert WebService" <> { database "Jobs Database" as jobsdb component "Webapp" as bootapp <> bootapp <-> browser bootapp -> jobsdb } } job1 --> mail job2 --> mail job3 --> mail @enduml