Server/Architecture
Jump to navigation
Jump to search
Information flow
<graphviz> digraph G { size="14,20"; node [URL="http://meta.cosmopool.net/wiki/\N"]
Client;
subgraph cluster_node1 {
label="Node 1"; subgraph cluster_webserver { label="webserver"; style=filled; fillcolor=olivedrab1; HttpServer [style="rounded", shape=box]; Authentication [shape=box]; Handler [shape=box]; Session [shape=box]; } subgraph cluster_storage { label="storage"; style=filled; fillcolor=paleturquoise1; Request [shape=box, style="rounded"]; Klocation [shape=box]; Cache [shape=box]; KcategoryManagers [shape=box, label="KclassManager\nKattributeManager\nKinstanceManager\nKrelationmanager\nKnotationManager\nKaccessManager"]; Request -> KcategoryManagers [dir="both"]; Cache -> KcategoryManagers [dir="both"]; Klocation -> KcategoryManagers [dir="both"]; {rank=same; Klocation; KcategoryManagers; Cache; } LocalStorage [shape=box, label="KclassLocal\nKinstanceLocal\nKrelationLocal"]; RemoteStorage [shape=box]; HttpClient [shape=box]; { rank=same; RemoteStorage; HttpClient; } } HttpServer -> Handler [dir="both"]; Authentication -> Request [dir="both"]; Handler -> Request [dir="both"]; Handler -> Authentication [dir="both"]; Handler -> Session [dir="both"]; Session -> Request [dir="both"]; KcategoryManagers -> LocalStorage [dir="both"]; KcategoryManagers -> RemoteStorage [dir="both"]; RemoteStorage -> HttpClient [dir="both"];
} Client -> HttpServer [dir="both"];
subgraph cluster_node2 {
label="Node 2"; StorageNode2 [shape=box, style=filled; label="webserver 2", fillcolor="olivedrab1"];
} { rank=same; HttpClient; StorageNode2; } HttpClient -> StorageNode2 [label="https", dir="both"];
subgraph cluster_node3 {
label="Node 3"; StorageNode3 [shape=box, style=filled; label="webserver 3", fillcolor="olivedrab1"];
} { rank=same; HttpClient; StorageNode3; } HttpClient -> StorageNode3 [label="https", dir="both"];
} </graphviz>