• Keine Ergebnisse gefunden

Aufgabe2Statistik-Modul Aufgabe1CGI-Schnittstelle Allgemeines Aufgabenblatt4:PraktikumKomponententechnik(WS06 / 07)

N/A
N/A
Protected

Academic year: 2022

Aktie "Aufgabe2Statistik-Modul Aufgabe1CGI-Schnittstelle Allgemeines Aufgabenblatt4:PraktikumKomponententechnik(WS06 / 07)"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Arnd Poetzsch-Heffter Dipl.-Inf. Jan Schäfer

Dipl.-Inf. Jean-Marie Gaillourdet Dipl.-Inform. Markus Reitz

Technische Universität Kaiserslautern Fachbereich Informatik AG Softwaretechnik

Aufgabenblatt 4: Praktikum Komponententechnik (WS 06 / 07)

Ausgabe: 5. Dezember 2006 In dieser Woche wird der Webserver um weitere Features ergänzt. Pro Gruppe soll eine der im Folgenden aufgeführten Aufgaben bearbeitet werden, wobei die Zuordnung zu den einzelnen Gruppen im Rahmen der heutigen Besprechung erfolgt.

Allgemeines

a) Jede Gruppe bereitet für die nächste Besprechung einen 10-minütigen Vortrag vor, welcher die neu implemen- tierten Features sowie eventuelle Design-Änderungen am Webserver erläutert. Als Format für den Vortrag ist PDF, OpenOffice oder PowerPoint zugelassen. Der Vortrag muß bis spätestens nächsten Dienstag 13:00 Uhr unter WaterChicken/doc/vortraegeeingecheckt sein.

b) Jede Gruppe dokumentiert ihre Implementierung im Design-Dokument. Falls Änderungen am bestehenden Design vorgenommen werden, muss sich dies in der Dokumentation widerspiegeln.

c) Jede Gruppe soll ihre Optionen, die sie in derconfig.xml-Datei benötigt, selbst in der Konfigurationskomponente hinzufügen und in der Konfigurationsdokumentation dokumentieren.

Aufgabe 1 CGI-Schnittstelle

Erweitern Sie den Webserver um eine (partielle) Implementierung der offiziellen CGI-Schnittstelle (siehe RFC 38751), d.h. alle optionalen Teile des Standards müssen nicht berücksichtigt werden. Konkret bedeutet dies, dass durchGET- Anfragen externe Programme aufrufbar sind und die von diesen generierte Ausgabe als Antwort an den anfragenden Client zurückgesendet wird. Parameter für den externen Programmaufruf werden in der Aufruf-URL kodiert.Achtung:

Die Implementierung derPOSTund derHEADMethode ist nicht gefordert, ebenso ist dasLocal Redirect Response Verhalten von der Implementierung ausgeschlossen.

a) Implementieren Sie die CGI-Schnittstelle.

b) Erweitern Sie das Konfigurationsmodul so, dass es möglich ist die CGI-Funktionalität komplett zu deaktivieren oder sie nur für bestimmte Verzeichnisse zu erlauben.

c) Überzeugen Sie sich von der Funktionsfähigkeit der Implementierung, indem Sie ein kleines CGI-Script in ei- ner Programmiersprache ihrer Wahl verfassen, welches den TextHello Worldund den Inhalt aller übergebenen Umgebungsvariablen zurückliefert.

Aufgabe 2 Statistik-Modul

Implementieren Sie ein Statistik-Modul, welches Anfrage- und Antwort-Informationen sammelt, statistisch aufberei- tet und grafisch darstellt. Mindestens die folgenden Informationen müssen berücksichtigt werden: Datum, Uhrzeit, Browser, Betriebssystem, Land, IP-Adresse, Ressource jeder Anfrage und die Art der Antwort.

Verwenden Sie Kuchendiagramme zur grafischen Darstellung relativer Beziehungen und ansonsten Balkendiagramme.

a) Ändern Sie den Webserver so ab, dass alle interessanten Rohdaten in einer Datei abgespeichert werden, damit diese auch nach Beendigung des Servers nicht verloren gehen. Beim Start des Servers stehen diese Daten zur Verfügung und werden um neue Einträge erweitert.

1http://www.ietf.org/rfc/rfc3875

(2)

b) Schreiben Sie eine Komponente, die in konfigurierbaren Zeitintervallen die Rohdaten einliest, auswertet und HTML-Dateien zur Darstellung der statistischen Informationen generiert.

Wichtig: Verwenden Sie zur Erstellung der Diagrammekeineexterne Bibliothek, sondern realisieren Sie die gefor- derte Funktionalität allein mit Hilfe der JDK 5.0 Standardbibliothek.

c) Erweitern Sie die Konfigurationskomponente so, dass das Statistikmodule komplett ein- und ausschaltbar ist. Stel- len Sie außerdem sicher, dass der Pfad zur Rohdaten-Datei, das Verzeichnis mit den generierten HTML-Dateien und das Intervall der Generierung konfigurierbar ist.

Aufgabe 3 HTTP-Authentifikation

Implementieren Sie die HTTP 1.0-Authentifikation (siehe RFC 1945). Hierfür muß der Server in der Lage sein, eine .htpasswd-Datei einzulesen, welche die Benutzerdaten enthält. Mit Hilfe der Server-Konfigurationsdatei soll die Zu- ordnung von Benutzern zu Ressourcen möglich sein. Zusätzlich soll die Zusammenfassung von Benutzern zu Gruppen und eine darauf basierende Zuordnung zu Ressourcen gestattet sein.

a) Implementieren Sie die HTTP 1.0-Authentifikation.

b) Erweitern Sie die Konfigurationskomponente um Möglichkeiten die Zugehörigkeit von Benutzern zu Gruppen und die Zugriffsrechte von Benutzern und Gruppen auf URI-Pfade, Dateisystem-Resourcen und CGI-Skripte einzustel- len.

c) Dokumentieren Sie die Bedeutung der neuen Konfigurationsoptionen und achten sie besonders auf Fälle in denen mehrere Konfigurationsoptionen anwendbar sind.

Aufgabe 4 Konfigurationsvalidierung und Index-Generierung

Aufgabe 4.1 Konfigurationsvalidierung

a) Erstellen Sie ein neues LATEX-Dokument, dass die bestehenden Konfigurationsoptionen des Serversausführlich dokumentiert.

b) Erstellen Sie eine XML-Schema-Datei, die alle Optionen derconfig.xml-Datei beschreibt.

c) Überprüfen Sie beim Starten des Servers, dass die Konfigurationsdatei dem Schema entspricht.

d) Fügen Sie die neuen Optionen, die im Laufe der Woche durch die anderen Gruppen hinzukommen, der Schema- Datei hinzu. Achten Sie darauf, daß die für die jeweilige Komponente verantwortliche Gruppe die Dokumentation der von ihr eingeführten Optionen vornimmt.

Aufgabe 4.2 Index-Generierung

a) Implementieren Sie eine automatische Index-Generierung für Verzeichnisse, die keineindex.html-Datei besit- zen. In diesem Fall soll der Inhalt des Verzeichnisses in geeigneter Form dargestellt werden. Achten Sie darauf, dass ein403 Forbiddenzurückzuliefern ist, falls der Webserver nicht die zur Auflistung des Verzeichnisinhalts notwendigen Rechte besitzt.

b) Erweitern Sie die Konfigurationskomponente so, dass die automatische Index-Generierung komplett oder nur für bestimmte Verzeichnisse abgestellt werden kann.

Referenzen

ÄHNLICHE DOKUMENTE

Wird dabei kein Fehler festgestellt, so war der Schreibzyklus erfolgreich, und die Ausgangsinformation (ASB und ADB) wird weggenommen und dies durch AStb = "0"

Den Ausgangspunkt für die Entwicklung von JustLingo bildete eine von uns durchgeführte Pilotstudie 2 , die das Benutzerverhalten im Umgang mit einem fiktiven natürlichsprachli-

Vor allem Douglas Engelbarts Untersuchungen am SRI haben dieses Vorbild von Tastatur und Bildschirm erweitert um das Eingabegerät “Maus”, eine zweidimensionale

Eine LBS-BS liefert für alle im Netzwerk aktiven LBS-Teilnehmer die zentrale Schnittstelle zum Informationsaustausch mit dem Fahrer in der Form einer virtuellen

Wenn man dagegen Bilder auf einer Logik der Differenz aufbaut, dann liegt das Entscheidende bei Bildern nicht in ihrer Ähnlichkeit oder Identität mit Texten, sondern in

(3) Besteht bei der Verwendung von Arbeitsmitteln eine erhöhte Gefährdung von Beschäftigten anderer Arbeitgeber, ist für die Abstimmung der jeweils erforderlichen

Handgelenksmuskulatur sowie Übungen für den Hals-, Nacken- und Schulterbereich durch.. Mithilfe mentaler und körperlicher Wohlfühl- und Achtsamkeitsübungen finden Sie

Testziel Erstellung eines Bundles mit allen notwendigen Instanzen der für diesen Anwendungsfall definierten KBV-Profilen für eine Erstverordnung.. Einzureichende