next up previous contents
Next: Clientspezifische Management-Objektklassen Up: Bottom-Up-Modellierung Previous: Schnittstellen zum Server

Proxyspezifische Management-Objektklassen

 Proxies sind Vermittler von Dokumenten zwischen einem Client und anderen Servern oder Proxies. Proxies sind entweder allgemein Server mit spezifischen Funktionalitäten oder speziell Web-Server, die durch erweiterte Funktionalitäten zusätzlich als Proxy konfiguriert werden können. Da im Rahmen dieser Diplomarbeit die Proxies betrachtet wurden, die als Web-Server mit erweiterten Funktionalitäten ausgestattet sind, wird die Modellierung der Klassen darauf ausgerichtet.

Für Proxy-Server wird eine neue Klasse Proxy-Server eingeführt, die von der Klasse WWW-Server vererbt wird. Für die andere Art von Proxy-Server würde die Klasse Proxy-Server von der allgemeinen Klasse Server abgeleitet werden. In diesem Fall würden auch noch weitere Attribute und Funktionen in der Klasse enthalten sein, die hier aber nicht weiter untersucht werden sollen. Im Folgenden werden also die Eigenschaften von Web-Servern untersucht, die zusätzlich als Proxy-Server konfiguriert werden.

Wird ein Web-Server als Proxy konfiguriert, so muß ihm mittels einer Pass-Anweisung mitgeteilt werden, welche Protokollangaben er in den Anfragen verstehen und bearbeiten soll. Anfragen, die mit einem dem Proxy bekannten Protokoll anfangen, werden von ihm als gültige Anfragen erkannt und an die entsprechenden Server weitergereicht. Deswegen sind in dem Attribut PassProtocol der Klasse Proxy-Server die gültigen Protokollnamen als Liste gespeichert.


  
Abbildung: Objektklasse Proxy-Server

Proxies können auch in Reihe hintereinander geschaltet werden, so daß abhängig vom Protokoll der Anfrage oder vom Host, an den die Anfrage gerichtet ist, bestimmte Anfragen an bestimmte Proxies weitergereicht werden, statt sie direkt an die entsprechenden Server weiterzuleiten. In dem Attribut ProxyRemoteHost sind ``Host - Proxy''-Paare in Form einer Liste gespeichert, die einem bestimmten Host einen Proxy zuordnen. Alle Anfragen, die an einen Host aus der Liste gerichtet sind, werden an den dazugehörigen Proxy weitergeleitet. Das gleiche gilt für das Attribut ProxyRemoteProtocol, nur daß hier Paare der Form ``Protocol - Proxy'' gespeichert sind, so daß die Anfragen abhängig vom angewendeten Protokoll weitergeleitet werden. Einzelne Einträge in die Liste können mit Hilfe der Funktion setProxyRemote(Host,Proxy) beziehungsweise setProxyRemote(Protocol,Proxy) eingefügt werden. Die Funktion removeProxyRemote(Proxy) erlaubt das Entfernen eines Paares aus beiden Listen, falls der Wert für den Proxy dem Proxy-Eingabeparameter der Funktion entspricht.

Proxies können auch als Caching-Proxies eingerichtet werden, so daß sie schon einmal bearbeitete Dateien in einem Cache zwischenspeichern und diese bei erneuten Anfragen nach der gleichen Datei aus dem Cache auslesen. So können Anfragen an Server gespart werden. Da ein Proxy nicht unbedingt gleich ein Caching-Proxy ist, sondern erst dazu konfiguriert werden muß, wird im Objektmodell die Klasse Caching-Proxy-Server eingeführt, die von der Klasse Proxy-Server vererbt wird. In dem Attribut CacheRoot wird der Verzeichnisname gespeichert, unter dem die Dateien abgespeichert werden. Die Größe der Datenmenge, die in diesem Verzeichnis höchstens abgelegt werden soll, ist in dem Attribut CacheSize zu finden. Wird diese Menge überschritten, werden Daten aus dem Speicher gelöscht. Das Zeitintervall, in dem die Überprüfung der Datenmenge erfolgen soll, ist in dem Attribut CacheInterval gespeichert.

Das Aktualitätsproblem, das sich beim Speichern von Dateien stellt und das schon in Kapitel [*] erläutert wurde, soll mit Hilfe der beiden Attribute CacheDefaultExpire und CacheMaxExpire gelöst werden. Das Attribut CacheDefaultExpire gibt die Gültigkeitsdauer einer Datei an, für die keine eigene, normalerweise vom Server mitgeschickte Gültigkeitsdauer ermittelt werden konnte. Das Attribut CacheMaxExpire legt eine maximale Zeitangabe fest, in der eine im Cache gespeicherte Datei als aktuell betrachtet werden soll. Zusätzlich kann für die Mehrzahl von Proxies festgelegt werden, ob nur Dateien aus bestimmten Domänen gespeichert oder ausdrücklich nicht gespeichert werden sollen. In dem Attribut CacheDomain ist die Liste der Domänen gespeichert, deren Dateien als einzige in dem Cache gespeichert werden. Andere Dateien aus weiteren Domänen werden vom Proxy zwischen Client und Server nur vermittelt. Sind in dem Attribut NotCacheDomain Domänen als Werte eingetragen, so werden Dateien, die durch Anfragen nach Dateien aus diesen Bereichen vom Caching-Proxy übertragen werden, auf keinen Fall im Cache gespeichert.


next up previous contents
Next: Clientspezifische Management-Objektklassen Up: Bottom-Up-Modellierung Previous: Schnittstellen zum Server
Copyright Munich Network Management Team