Zurück zum Inhaltsverzeichnis des Manuskripts verteilte Systeme

Übung 2: HTTP über Sockets

Aufgabenstellung

Die erste Übungsaufgabe wird dahingehend ausgebaut, dass als Benutzerschnittstelle für die Abfrage des Telefonbuchs ein Webbrowser zu verwenden ist. Das Suchverfahren nach Name und/oder Telefonnummer mit nebenläufig arbeitenden Threads und alle übrigen Anforderungen der ersten Übungsaufgabe bleiben bestehen.

Konkretisierung

  1. Strukturell gesehen wird in dem Programm TelefonbuchServer.java aus der ersten Übungsaufgabe die Benutzerschnittstelle durch eine Socketschnittstelle ersetzt. Die Klasse Telefonbuch mit ihren Datenstrukturen und Methoden bleibt davon unberührt. Über die Socketschnittstelle werden Browser-Requests entgegengenommen und beantwortet. Benutzerschnittstelle für eine Telefonbuchabfrage ist jetzt der Browser.

  2. Sie müssen mit HTML arbeiten, es genügt jedoch, die HTML-Seiten schlicht zu halten. Eine über HTML hinausgehende Webseitengestaltung ist nicht erforderlich. Lassen Sie allen HTML-Kode von Ihrem Programm erzeugen.

  3. Beim Testat müssen der Webbrowser und der Telefonbuchserver auf zwei verschiedenen Rechnern des Übungsraums laufen. Das Testat wird an dem Rechner abgenommen, auf dem der Browser läuft. Dort führen Sie bitte ein lokales Login durch und stellen Ihre Programme bereit. Der Rechner, auf dem Ihr Programm laufen soll, wird erst beim Testat vom Dozenten bestimmt. Auf diesem Rechner dürfen Sie dann kein lokales Login durchführen. Sie müssen, so wie in der Vorlesung gezeigt, Dateien mit sftp übertragen und Programme mit ssh auf dem für Sie fernen Rechner starten.

  4. Der erstmalige Zugriff auf Ihr Programm erfolgt über die URL-Eingabezeile des Browsers. Schaffen Sie über Ihre HTML-Seiten eine Möglichkeit, Ihr Programm zu beenden, ohne dass beim Browser eine Fehlersituation entsteht.

  5. Die meisten Browser fordern nach einem Browserneustart beim Erstzugriff auf eine Webseite gleich mehrfach von dort ein sogenanntes Favorite Icon (favicon) an, das sie vor ihre URL-Eingabezeile setzen wollen. Ignorieren Sie in Ihrem Programm derartige Requests.

  6. Es ist unzulässig, mit JavaScript oder ähnlichen Werkzeugen zu arbeiten, da Benutzer diese Features möglicherweise aus Sicherheitsgründen abgeschaltet haben und Sie dieses Abschalten nicht beeinflussen können.


Zurück zum Inhaltsverzeichnis des Manuskripts verteilte Systeme