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