Difference between revisions of "Server/Architecture"
m |
m |
||
Line 33: | Line 33: | ||
fillcolor=paleturquoise1; | fillcolor=paleturquoise1; | ||
Request [shape=box, style="rounded"]; | Request [shape=box, style="rounded"]; | ||
+ | Klocation [shape=box]; | ||
+ | Cache [shape=box]; | ||
+ | KcategoryManagers [shape=box, label="KclassManager\nKattributeManager\nKattributeManager\nKinstanceManager\nKnotationManager\nKaccessManager"]; | ||
+ | Request -> KcategoryManagers [dir="both"]; | ||
+ | Cache -> KcategoryManagers [dir="both"]; | ||
+ | Klocation -> KcategoryManagers [dir="both"]; | ||
+ | {rank=same; Klocation; KcategoryManagers; Cache; } | ||
LocalStorage [shape=box]; | LocalStorage [shape=box]; | ||
RemoteStorage [shape=box]; | RemoteStorage [shape=box]; | ||
Line 39: | Line 46: | ||
} | } | ||
− | + | KcategoryManagers -> LocalStorage [dir="both"]; | |
− | + | KcategoryManagers -> RemoteStorage [dir="both"]; | |
+ | |||
RemoteStorage -> HttpClient [dir="both"]; | RemoteStorage -> HttpClient [dir="both"]; | ||
Revision as of 20:17, 1 October 2011
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];
}
HttpServer -> Handler [dir="both"]; Authentication -> Request [dir="both"]; Handler -> Request [dir="both"]; Handler -> Authentication [dir="both"]; Handler -> Session [dir="both"]; Session -> Request [dir="both"];
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\nKattributeManager\nKinstanceManager\nKnotationManager\nKaccessManager"]; Request -> KcategoryManagers [dir="both"]; Cache -> KcategoryManagers [dir="both"]; Klocation -> KcategoryManagers [dir="both"]; {rank=same; Klocation; KcategoryManagers; Cache; } LocalStorage [shape=box]; RemoteStorage [shape=box]; HttpClient [shape=box]; { rank=same; RemoteStorage; HttpClient; }
}
KcategoryManagers -> LocalStorage [dir="both"]; KcategoryManagers -> RemoteStorage [dir="both"];
RemoteStorage -> HttpClient [dir="both"];
}
Client -> HttpServer [dir="both"];
subgraph cluster_node2 { label="Node 2"; StorageNode2; }
{ rank=same; HttpClient; StorageNode2 [shape=box, style=filled; label="webserver", fillcolor="olivedrab1"; ]; }
HttpClient -> StorageNode2 [label="http", dir="both"];
subgraph cluster_node3 { label="Node 3"; StorageNode3; } { rank=same; HttpClient; StorageNode3 [shape=box, style=filled; label="webserver", fillcolor="olivedrab1"; ]; } HttpClient -> StorageNode3 [label="http", dir="both"];
} </graphviz>