next up previous contents
Next: Proxyspezifische Management-Objektklassen Up: Szenarienbasierte Definition der Managementinformation Previous: API-Schnittstelle

Schnittstellen zum Server

Um die Schnittstelle und die darüber stattfindenden Interaktionen zwischen einem Server und einem CGI-Programm oder einem Client zu beobachten, müssen die Instanzen der Schnittstelle beobachtet werden. Zum besseren Verständnis ist die Abbildung [*] der generischen Schnittstellen-Klassen des Computational Viewpoints (Seite 87) in Erinnerung zu rufen.

Wird eine Anfrage von einem Client an den Web-Server gerichtet, so instantiiert dieser die Klasse operationInterface und kann mit Hilfe von Operationen, den sogenannten HTTP-Methoden, Interaktionen mit dem Client austauschen bzw. Aufträge entgegennehmen. Zu jedem Anfragetyp wird eine Instanz der Klasse interrogationInfo erzeugt. Findet z.B. eine GET-Anfrage statt, so wird der Zähler Count der Klasse interrogationInfo um 1 erhöht und das Attribut Name erhält den Wert GET. Das Attribut Last zeigt den Zeitpunkt an, an dem die letzte GET-Anfrage stattgefunden hat, und das Attribut Bytes gibt die Anzahl der Bytes an, die bei GET-Anfragen übertragen wurden. Die Bearbeitungszeit des letzten Auftrags steht in dem Attribut LastDelay und der Anfragezeitpunkt in dem Attribut StartTime. So kann festgestellt werden, wie viele GET-Anfragen über einen bestimmten Zeitraum stattgefunden haben, wie viele Daten über die Schnittstelle übertragen wurden oder wann die letzte GET-Anfrage beim Server angekommen ist und wie lange ihre Bearbeitung gedauert hat. Diese Daten können im Rahmen des Leistungsmanagements genutzt werden.

Werden bei einer GET-Anfrage zusätzlich Daten in dem Request-URL mitgeschickt, so schreibt der Server diese Daten in die Umgebungsvariable QUERY_STRING. Die GET-Anfrage ist dann an ein auszuführendes Programm gerichtet, ein sogenanntes CGI-Programm, das die Daten weiterverarbeiten kann. Der Server erzeugt daraufhin eine Kopie von sich selbst. Der neue Prozeß wird als CGI-Prozeß bezeichnet, der den Code des CGI-Programms ausführt. Die von diesem CGI-Prozeß erzeugten Ergebnis-Daten werden anschließend dem Server übergeben und dieser schickt sie, nachdem er die notwendigen Header-Informationen hinzugefügt hat, über die vorhandene Verbindung an den Client zurück. Sendet der CGI-Prozeß Daten an den Server, so wird eine neue Instanz der Klasse streamInterface erzeugt und gleichzeitig die Werte der Klassen-Instanz flowInfo aktualisiert. Falls es noch keine Instanz der Klasse flowInfo gibt, wird eine erzeugt.

Wird eine POST-Anfrage an den Server geschickt, so enthält diese auch mitgeschickte Daten. Hier handelt es sich allerdings um eine größere Menge an Daten, die im Gegensatz zur GET-Anfrage nicht an dem URL angehängt mitgeschickt wurden. Der Server übergibt diese Daten über das STDIN an den CGI-Prozeß, er erzeugt also eine neue Instanz der Klasse streamInterface, wobei die Werte der Klasse flowInfo aktualisiert werden. Die Übergabe der Daten zurück an den Server erfolgt auf die gleiche Art und Weise wie bei der GET-Anfrage.

Über die Anzahl der offenen Instanzen von Computational Interfaces kann also ein guter Überblick über die gerade offenen Verbindungen des Servers gewonnen werden und auch über die darüber stattfindenden Interaktionen, über ihren Typ, ihre Häufigkeit und auch über die darüber ausgetauschte Datenmenge.


next up previous contents
Next: Proxyspezifische Management-Objektklassen Up: Szenarienbasierte Definition der Managementinformation Previous: API-Schnittstelle
Copyright Munich Network Management Team