Das Programmsystem ist unter Windows-7 entwickelt worden und besteht aus den folgenden Quelldateien:
Die zugehörigen class-Dateien befinden sich in ein und demselben Verzeichnis.
Das Programm wird so gestaltet, dass möglichst viele Programme und Programmteile von der ersten Übungsaufgabe übernommen werden können. So wird das Programm Telefonbuch.java ohne jede Änderung auch in der zweiten Übungsaufgabe verwendet. Das Programm TelefonbuchServer.java wird an die Gegebenheiten der zweiten Aufgabe angepasst. Es ergibt sich folgende Grobarchitektur:
In dem Programm TelefonbuchServer.java aus der ersten Übungsaufgabe wird die Benutzerschnittstelle durch eine Socketschnittstelle, bestehend aus den beiden Methoden vomBrowser() und zumBrowser(), ersetzt und die Analysemethode analyse() angepasst. Der HTTP-GET-Request, den der Browser beim Zugriff auf den Telefonbuchserver erzeugt, enthält einen Query String, in dem die Benutzereingaben gebündelt sind. Dieser Query String ist ganz ähnlich aufgebaut, wie der in der ersten Übungsaufgabe, jedoch nicht mit ihm identisch. Deshalb muss die Analysemethode angepasst werden. Sie wird so gestaltet, dass sie das Gleiche leistet wie ihr Pendant in der ersten Aufgabe und wie dieses einen korrekt aufgebauten Query String erzeugt, mit dem das Telefonbuch abgefragt wird:
Der Programmablauf wird durch folgenden Pseudocode beschrieben:
Der Dialog mit dem Telefonbuchserver beginnt durch eine Eingabe in die URL-Zeile eines Web-Browsers, die in unserem Übungsraum
lautet, wenn der Server auf dem Rechner sun65 am TCP-Port 9876 gestartet worden ist. Der Server reagiert darauf, indem er eine Eingabemaske (eine HTML-Form) gemäß der Aufgabenstellung zum Browser schickt. Die Reaktion des Servers wird durch die Analysemethode gesteuert. Sie wird von der Methode vomBrowser() aus der Socketschnittstelle mit einem Query String versorgt, wertet ihn aus, startet gegebenenfalls Suchvorgänge im Telefonbuch, ergänzt die Ergebnisliste um das Analyseergebnis und reicht diese an die Methode zumBrowser() weiter. Diese bereitet die Ergebnisliste als HTML-Tabelle auf und sendet sie, gefolgt von einer neuen Eingabemaske, per HTTP zum Browser, der sie ausgibt und über die Maske neue Eingaben ermöglicht. Die Eingabemaske hat folgendes Aussehen:
Die Eingabefelder und Buttons der Maske bekommen im HTML-Kode folgende Bezeichnungen:
Es ergeben sich mehrere mögliche Formen für den entstehenden Query String. Hat er die Form (ohne das Komma)
Die Analysemethode liefert als Ergebnis eine der folgenden Zeichenketten:
An irgendeinem Rechner des Übungsraums wird ein lokales Login durchgeführt und die Programme werden dort bereitgestellt. Mit sftp werden sie zu einem anderen Rechner des Übungsraums übertragen. Dort wird das Programm in einer ssh-Konsole mit
gestartet. Es meldet seine Bereitschaft mit der Angabe des Rechnernamens, auf dem es läuft, und seiner Portbelegung. Auf dem Ausgangsrechner wird ein Web-Browser gestartet. Mit der Eingabe
in seine URL-Eingabezeile wird auf den Telefonbuchserver zugegriffen.