summaryrefslogtreecommitdiffstats
path: root/Konzept/Design.txt
blob: c9baacaea2de64c5f9665bcfa4dfcf14b8360123 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Kern-Design:

Netzwerk-Stack
* Von allen Teilen genutze Klassen
* Server-Connection und Client-Connection-Klassen
* Server-Connections werden von einer Listener-Klasse erzeugt
* Nicht-blockierende Sockets (Implementierung ohne Multithreading möglich)
+ größtenteils implementiert

Config-Manager
* Liest Konfiguration aus Dateien und Datenbanken
* Von allen Teilen genutzte Klasse
* Backends:
 - Kern: Dateien, MySQL
 - Dämonen, Clients: Dateien, Kern
* siehe Config.txt

Connection-Manager
* Wartet auf Verbindungen von Dämonen und Clients (implementiert)
* Verwaltet Liste mit Dämonen

Request-Manager
* Von allen Teilen genutze Klasse
* Verwaltet die Request-Liste mit Quelle und Ziel jedes Requests
* Sendet und beantwortet Requests
+ größtenteils implementiert

User-Manager
* Stellt ein Backend-unabhängiges Interface zur Benutzer-Verwaltung zur Verfügung

Logging-Manager
* Loggt alle Aktivitäten
+ Jakob

Backends
- MySQL
- Dateisystem
- Kerberos-Verwaltung


Dämon-Design:

System-Backend
* Führt alle Befehle aus, die der Server schickt
* Schickt Logs an den Server


Client-Design:

* Shell-artige Eingabe von Befehlen