Wollis Homepage
Studienarbeiten

Tipps und Tricks
IoT
Studienarbeiten
  Diplomarbeiten
    DI
    DII
  Seminararbeiten
Privates
Suche
Startseite > Studienarbeiten > Diplomarbeiten > DI

Das Programm Kurs Informations System (KIS)

Diplomarbeit - 5. Das Programm Kurs Informations System (KIS)

5. Das Programm Kurs Informations System (KIS)

5.1 Bedienungsanleitung

5.1.1 Aufgabe des Programms

Das Programm Kurs Informations System (KIS) ermöglicht die Überwachung von Kursinformationen fremder WWW-Seiten. Der Anwender hat die Möglichkeit, aus einem vorgegebenen Rahmen Aktienwerte zu wählen oder alternativ selbst ausgesuchte Daten analysieren zu lassen. Man kann gewünschte Daten vom Programm sammeln lassen und bei Bedarf abrufen. Die Entwicklung eines Kurses kann über einen beliebigen Zeitraum verfolgt werden. Dazu steht eine grafische und mathematische Auswertung der Kursdaten zur Verfügung.

 

5.1.2 Die Installation

 

Im folgenden wird die Installation des Programms KIS beschrieben. Man benötigt dazu das Java Development Kit (JDK) in der Version 1.02. Zusätzlich muß auf dem Rechner der Jeeves Server installiert sein. Der Computer muß außerdem ans Internet angeschlossen sein.

 

Folgende Dateien werden bei der Installation benötigt, sie befinden sich auf der der Diplomarbeit beigefügten Diskette:

 

  • KIS.html
  • KIS.java
  • URLAdressen.java
  • Konfiguration.java
  • ServeHTML.java
  • Datenloeschen.java
  • Datensammeln.java

 

Zusätzlich wird das Verzeichnis hilfe mit den dort abgelegten Dateien benötigt.

 

Zu Beginn muß die Datei URLAdressen.java an den jeweiligen Jeeves Server angepaßt werden. Dazu lädt man die Datei in einen Texteditor und editiert den String JeevesServer. Die Zeile lautet:

public static final String JeevesServer=new String (http://hsun2.wi-inf.uni-essen.de:8080);.

Die Adresse http://hsun2.wi-inf.uni-essen.de:8080 muß durch die Internetadresse des benutzten Jeeves Servers ersetzt werden. Das Installationsverzeichnis des Programms KIS ist das public_html Unterverzeichnis des Jeeves Servers.

 

Im einem nächsten Schritt kompiliert man die Dateien URLAdressen.java und KIS.java. Die beim Kompilieren entstandenen Klassendateien werden in das Installationsverzeichnis kopiert. Zusätzlich kopiert man noch die Datei KIS.html, die zum Aufruf des Applets benötigt wird, und das Verzeichnis hilfe, in der das Hilfesystem abgelegt ist, in das Installationsverzeichnis. Dann legt man ein Unterverzeichnis mit dem Namen "daten" an. Als nächstes erweitert man den Klassenpfad (CLASSPATH) um das Installationsverzeichnis. Dieser Eintrag ist für das Kompilieren der Servlets erforderlich, da Klassen und Schnittstellen sowohl vom Applet als auch von den Servlets benutzt werden.

 

Im folgenden werden die Dateien Konfiguration.java, Datenloeschen.java und ServeHTML.java kompiliert. Die entstehenden Klassendateien werden in das Unterverzeichnis servlets des Jeeves Servers kopiert. Die Klassendateien Konfiguration.class, Datenloeschen.class und ServeHTML.class müssen in den JeevesServer als Servlets mit den Namen Konfiguration, Datenloeschen und ServeHTML eingetragen werden, wie dies funktioniert, wird im Kapitel 3.2 erläutert.

 

Als nächstes wird die Applikation Datensammeln.java kompiliert. Diese Datei wird für das Sammeln der Informationen benötigt und kann nach dem Kopilieren mit dem Kommandozeilenbefehl "java Datensammeln" aufgerufen werden. Um regelmäßig Daten zu sammeln, kann man diese Datei in einen Dienst zum Starten von Programmen zu bestimmten Zeiten eintragen. Bei Windows heißt dieser Dienst Schedule und bei Unix Systemen heißt er CRON-Dienst. Die Bedienung dieser Dienste ist dem Handbuch des jeweiligen Betriebssystems zu entnehmen. Beim Überwachen von Kursinformationen ist es sinnvoll, das Programm werktäglich automatisch aufrufen zu lassen.

 

5.1.3 Bedienung des Applets

Um das Programm starten zu können, ruft man über den Jeeves Server die HTML-Datei KIS.html mit einem javafähigen Browser auf. Danach erscheint ein kurzer Einführungstext zum Programm im Anzeigefenster des Browsers. Zusätzlich wird ein Fenster dargestellt, das beim ersten Aufruf leer ist. Man sieht eine Menüleiste, in der die Punkte "Datei" und "Hilfe" ausgewählt werden können. Entscheidet man sich für das Menü "Datei", hat man die Auswahl zwischen "Konfiguration" und "Programm beenden". In dem Menüpunkt "Konfiguration" befindet sich ein Untermenü, in dem einem folgende Punkte zur Verfügung stehen:

 

  1. Aktienangebot Deutsche Bank
  2. Ibis Aktien Dresdner Bank
    1. Ibis 1
    2. Ibis 2
    3. Ibis 3
  3. Indizes Dresdner Bank
  4. Währungskurse Dresdner Bank
  5. Freie Definition
  6. Wert löschen

 

Bei den Punkten 1 bis 4 handelt es sich um vorkonfigurierte Einstellungen von Aktienkursen, die von der Deutschen Bank und der Dresdner Bank angeboten werden. Ruft man einen dieser Punkte auf, fragt das Programm diejenigen Titel über das Internet ab, die der Anbieter zur Verfügung stellt. Es erscheint ein Fenster mit einer Auswahlliste, in der eine Reihe von Werten zur Auswahl steht. Man kann nun einen Wert aus der Liste aussuchen und mit dem Button "Wert hinzufügen" in die Liste der zu überwachenden Werte aufnehmen. Mit dem Button "Abbrechen" wird das Fenster ohne die Auswahl eines Wertes verlassen.

Abbildung 4: Konfiguration Aktien Deutsche Bank in KIS

 

Der Punkt "Freie Definition" ermöglicht es, Daten von WWW-Seiten anderer Anbieter zu überwachen. Hiefür müssen die WWW-Seiten folgende Bedingungen erfüllen:

 

  • Die WWW-Seiten müssen die Kurse in HTML-Format enthalten. Es ist nicht möglich, Kurse aus JavaScript Anzeigen oder aus Java-Applets zu überwachen.
  • Man muß die WWW-Seiten ohne Angabe von Paßwörtern oder Identifizierungen erreichen können. Die Seiten müssen also öffentlich im Internet verfügbar sein.
  • Die Vorkommastellen des betrachteten Kurses müssen durch einen Punkt von den Nachkommastellen getrennt sein.
  • Kommt der gleiche Wert häufiger auf einer Seite vor, kann nur der erste Wert nach dem identifizierenden String genommen werden.

 

Abbildung 5: Konfiguration Freie Definition in KIS

 

In dem Fenster "Freie Definition" müssen vier Angaben gemacht werden. Als erstes muß die vollständige Adresse der WWW-Seite angegeben werden. Den Namen des zu überwachenden Wertes gibt man im Feld "Name des Wertes" ein. Hier kann man sich einen beliebigen Namen aussuchen. Im darunterliegenden Feld muß der "Identifizierende String" angegeben werden. Der identifizierende String ist der Name oder die Nummer (zum Beispiel Wertpapierkennummer), die vor dem ausgewählten Kurs steht. Es ist zu beachten, daß der indentifizierende String nur einmal auf der WWW-Seite vorhanden sein darf. Groß- und Kleinschreibungen sowie Leer- und Sonderzeichen müssen bei der Eingabe beachtet werden. Die letzte Angabe, die zu machen ist, ist der aktuelle Kurs, der auf der ausgewählten Seite für den Wert angezeigt wird. Der Wert ist als Zahl, bei der die Nachkommastellen durch einen Punkt abgetrennt werden, einzugeben. Als "aktuellen" Kurs kann man auch den Kurs des Vortags, den Eröffnungskurs oder den Schlußkurs wählen, sofern dieser angeboten wird. Der angegebene Kurs wird dann überwacht, so würde die Wahl des Vortagskurses eine um einen Tag zeitverzögerte Überwachung dieses Wertes bewirken.

 

Abbildung 6: Beispiel einer WWW-Seite mit Kursinformationen

 

Um die Eingabe in die "Freie Definition" zu veranschaulichen, wird nun gezeigt, wie man einen Kurs aus der abgebildeten WWW-Seite konfiguriert. Es soll der Schlußkurs der AEGON N.V. Aktie überwacht werden. Die URL-Adresse dieser Seite lautet, wie man oben an der Grafik erkennen kann, "http://www.fnet.de/kurse/fwb.cgi?0". Als Name des Wertes kann man nun zum Beispiel "Aegon" eingeben. Der identifizierende String ist hier entweder der Name der Aktie "AEGON N.V." oder die Wertpapierkennummer "858185". Da der Schlußkurs überwacht werden soll, ist der aktuelle Wert des Titels "104.00". In der folgenden Grafik sind diese Werte eingetragen. Mit der Schaltfläche "Wert hinzufügen" wird der Wert in die Überwachungsliste aufgenommen.

Abbildung 7: Beispiel einer Eingabe in Freie Definition in KIS

Die hinzugefügten Werte werden erst dann im Hauptfenster angezeigt, wenn schon Kursdaten von diesen Werten gesammelt wurden.

 

Mit dem Menüpunkt "Wert löschen" ist es möglich, Werte, über die man keine Informationen mehr benötigt, aus der Überwachung herauszunehmen. Wählt man diesen Menüpunkt an, erscheint ein Fenster, in dem man über eine Auswahlliste den zu löschenden Wert aussuchen kann. Er wird mit Drücken der Schaltfläche "Wert löschen" aus der Liste entfernt. Im Hauptfenster verschwindet der Wert beim nächsten Start des Programms.

 

Im Hauptmenü unter dem Menüpunkt "Hilfe" gibt es die Punkte "Hilfe" und "Info". Ruft man den Punkt "Hilfe" auf, so wird im Anzeigefeld des WWW-Browsers die Bedienungsanleitung zum Programm als HTML-Seite angezeigt. Das Fenster des Programms wird in den Hintergrund gestellt. Um mit dem Programm weiter arbeiten zu können, muß das Fenster wieder in den Vordergrund geholt werden. Ruft man den Menüpunkt Info auf, bekommt man allgemeine Informationen zum Programm angezeigt.

 

 

5.1.4 Anzeigefeld des Hauptfensters

 

Hat man Werte, die beobachtet werden sollen, eingetragen, kann man, nachdem mindestens ein Mal Daten von den WWW-Seiten gesammelt wurden, die Auswertung der Informationen anschauen.

 

Abbildung 8: Hauptfenster von KIS

 

Das Hauptfenster ist in zwei Teile unterteilt. Links kann angegeben werden, wie welcher Wert angezeigt werden soll. Rechts werden die jeweiligen Auswertungen angezeigt.

 

Im folgenden wird die linke Seite des Fensters betrachtet. Das Auswahlfeld zeigt alle Werte, zu denen Kursangaben zur Verfügung stehen, an. Es kann ein Wert ausgewählt werden. Die Schalter "Grafische" und "Mathematische Darstellung" dienen zur Auswahl des Auswertungsverfahrens. Die grafische Darstellung zeigt rechts einen Graphen über den Kursverlauf des Wertes. Bei der mathematischen Darstellung werden einfache Kennzahlen, wie Höchstkurs/Tiefstkurs und der durchschnittliche Kurs angezeigt. Falls man nicht die kompletten gesammelten Daten ausgewertet haben möchte, hat man die Möglichkeit, im Textfeld die Anzahl der Werte, die man überspringen möchte, einzugeben, so kann man nur den Kursverlauf der letzten Tage betrachten. Wurde beispielsweise der Kursverlauf der letzten 60 Tage gesammelt, man möchte aber nur wissen, wie der Verlauf der letzten fünf Tage war, gibt man in dieses Feld ein 55 ein. Nachdem die Einstellungen vorgenommen wurden, kann man über die Schaltfläche "Auswertung aktualisieren" die Auswertung aktualisiert darstellen lassen.

 

Bei der Bedienung des Programms ist zu beachten, daß es teilweise zu langen Reaktionszeiten auf bestimmte Aktionen kommen kann, da häufig Daten aus dem Internet angefordert werden müssen. Bei schlechten Datentransferraten kann es 10 Sekunden und länger dauern, bis das Programm reagiert.

 

5.2 Technische Beschreibung des Programms KIS

 

5.2.1 Grundlagen

Das Programm KIS ist ausschließlich in Java geschrieben. Die Funktionsweise von Anwendungen im Internet, die ähnliche Aufgaben wie KIS erfüllen, jedoch mit einer anderen Programmiersprache geschrieben sind, ist grundlegend anders und durch folgende Nachteile gekennzeichnet. Die vom Client nachgefragten Informationen werden komplett auf dem Server berechnet, dieser erstellt die Ergebnisse und Grafikauswertungen. Dieses Verfahren hat zur Folge, daß der Server stark ausgelastet ist. Die Ergebnisse und Grafiken werden über das Netz verschickt, was bewirkt, daß das Netz stark belastet wird, da Grafiken ein relativ großes Datenvolumen haben.

 

Durch die Verwendung von Java in dem Programm KIS können diese Mängel größtenteils beseitigt werden: die vom Client angeforderten Informationen werden als unbearbeitete Daten vom Server zum Client geschickt. Erst dort erfolgt eine Auswertung und grafische Aufbereitung der Werte. Hierdurch werden sowohl die Belastung des Servers als auch die der Datenleitungen verringert. Außerdem bieten die verwendeten Servlets die Möglichkeit, ein weiteres Applet zu schreiben, das auf die Datenbestände von KIS zugreift. Man kann beispielsweise die Datenbestände für eine Depotverwaltung benutzen. Ein weiterer Vorteil in der Verwendung von Java zusammen mit dem Jeeves Server liegt darin, daß Unternehmen, die WWW-Anwendungen erstellen, dadurch Kosten sparen können, daß sie nur noch eine Programmiersprache benutzen müssen. Dadurch entfallen Fort- und Weiterbildungskosten für andere Programmiersprachen.

 

Das Programm KIS beinhaltet drei verschiedene Programmteile, die nachfolgend dargestellt werden:

 

  1. das Applet mit der grafischen Benutzerschnittstelle
  2. die Servlets, die mit fremden WWW-Seiten kommunizieren und Dateidienste auf dem Server ausführen
  3. eine Applikation, die Daten verschiedener WWW-Seiten nach Vorgabe sammelt.

 

Diese drei Komponenten sind folgendermaßen auf Client und Server verteilt:

Abbildung 9: Aufteilung der Komponenten von KIS auf Client und Server

 

Um Daten auf dem Server zu speichern, verwendet KIS Dateien, in welche die Daten als Text abgelegt werden. Dadurch können die Daten auch leicht von anderen Programmen benutzt werden. In der Datei kiskonf.html werden die zu überwachenden Werte mit den dazugehörenden Informationen abgelegt. Im Unterverzeichnis daten werden die Kurswerte einzeln in Dateien mit dem Namen des Wertes gespeichert. In den einzelnen Dateien werden zu jeder nachgefragten Information jeweils das Datum mit dem zugehörenden Kurswert gespeichert. Die folgende Grafik veranschaulicht, von welchen Komponenten auf die Dateien zugegriffen wird.

 

Abbildung 10: Dateizugriffe einzelner Komponenten von KIS

5.2.2 Applet mit der grafischen Benutzerschnittstelle

 

Im Programmiercode der Datei KIS.java sind die grafische Benutzerschnittstelle für das Programm und die Routinen zur Kommunikation mit den Servlets untergebracht. Das Applet ist so konstruiert, daß es mit wenig Aufwand möglich ist, es in eine Applikation umzuschreiben.

 

In den einzelnen Klassen spiegeln sich die Funktionen des Programms, die in Kapitel 5.1 beschrieben sind, wider. Das Applet enthält folgende Klassen:

 

  • KIS: Klasse zum Starten des Applets.
  • HauptFrame: Klasse zur Darstellung des Hauptfensters.
  • InfoDialog: Klasse zur Darstellung des Informationsdialogs.
  • LoeschDialog: Klasse zur Darstellung des Dialogs zum Löschen von Werten.
  • Zeichenflaeche: Klasse zum Generieren der Auswertungen auf der rechten Seite des Hauptfensters.
  • DatenLesen: Klasse zum Lesen der Kursinformationen von einzelnen Werten.
  • KonfigurationLesen: Klasse zum Lesen der Konfigurationsinformationen, die in der Datei kiskonf.html abgelegt sind.
  • KonfigDialog: Abstrakte Klasse, die Grundfunktionen für die Konfigurationsdialoge zur Verfügung stellt.
  • AuswahlDRB, AuswahlDB, FreieAuswahl: Die Klassen sind von der Klasse KonfigDialog abgeleitet und stellen jeweils einen speziellen Konfigurationsdialog dar.

 

Im folgenden werden die Funktionen der Klassen genauer beschrieben.

 

Beim Start des Applets wird die Klasse KIS automatisch aufgerufen und bildet eine Instanz der Klasse HauptFrame, die die Darstellung des Hauptfensters übernimmt.

 

Die Schnittstelle URLAdressen wird von verschiedenen Klassen importiert. In dieser Schnittstelle werden alle vom Programm benötigten Internetadressen als Konstanten definiert. Diese Schnittstelle wird auch von den Servlets und der Applikation benutzt.

 

Die Klasse HauptFrame stellt das Hauptfenster und die darin enthaltenen Elemente wie Menüs, Schaltflächen und Steuerelemente dar. Die Auswahlliste, über die man Werte im Hauptfenster auswählen kann, bekommt die Daten über vorhande Kurswerte durch eine Instanz der Klasse KonfigurationLesen, die diese beim Jeeves Server anfordert. Die Methode action überwacht alle Aktionen, die im Hauptfenster vom Benutzer gemacht werden und reagiert mit entsprechenden Klassen- und Methodenaufrufen auf die Ereignisse.

 

Das Fenster mit den allgemeinen Informationen zum Programm wird mit der Klasse InfoDialog erzeugt. Diese Klasse erweitert, wie auch alle anderen Dialogfenster des Programms, die API-Klasse Dialog.

 

Mit der Klasse LoeschDialog wird das Dialogfenster zum Löschen von Werten aus der Überwachungsliste dargestellt. Damit der Programmbenutzer Informationen über die vorhandenen Werte bekommt, wird eine Instanz der Klasse KonfigurationLesen benutzt. Beim Löschen eines Wertes muß die Konfigurationsdatei geändert werden. Da ein Applet keine Dateizugriffe vornehmen darf, wird das Servlet Datenloeschen aufgerufen, und der Name des Wertes, der gelöscht werden soll, wird an das Servlet übergeben. Nach dem Aufruf des Servlets wird ein Eingabestrom vom Client erwartet. Dieser wird gebraucht, damit das Servlet vom Typ FormServlet vom Jeeves Server korrekt ausgeführt wird. In den vorhandenen Dokumentationen ist dazu keine Begründung zu finden.

 

Eine umfangreichere Klasse ist die Klasse Zeichenflaeche, die die Klasse Canvas erweitert. Die Klasse Canvas aus dem API wird als Komponente zur Darstellung von Grafiken und eingebundenen Texten benutzt.86 Der Konstruktor initialisiert mehrere Variablen und zählt, wie viele Kurswerte zur gewünschen Information verfügbar sind. Die verfügbaren Kurswerte und die Datumsangaben werden in Arrays abgespeichert. Im Programmiercode folgen nun in dieser Klasse die Methoden mathe und kreuz. Sie dienen zur Aufbereitung und Darstellung der Daten. Die Methode mathe dient zur mathematischen Auswertung des Kursverlaufs, und die Methode kreuz ist für die Erstellung der grafischen Auswertung zuständig. In der Methode kreuz sind sehr komplexe mathematische Berechnungen enthalten. Sie dienen dazu, daß die Grafik je nach Größe des Anzeigefensters optimal angezeigt wird. Damit ist es möglich, die Grafik bei verschiedenen Bildschirmauflösungen gut sichtbar darzustellen. Eine weitere Darstellungsform kann leicht im Programm eingefügt werden. Hierfür kann man eine neue Methode zur Darstellung in diese Klasse einfügen. Dazu muß zusätzlich noch die Benutzeroberfläche und die Methode Darstellung geändert werden.

 

Die Klasse KonfigurationLesen stellt Funktionen zur Verfügung, mit denen man die Konfigurationsdatei auslesen kann. Im Konstruktor wird die Anzahl der vorhandenen Werte ermittelt und in der Klassenvariablen Anzahl abgelegt. Während der Lebenszeit der Instanz, die von dieser Klasse erstellt wird, bleibt die Verbindung zur Konfigurationsdatei geöffnet. Durch den Aufruf des Finalizers beim Löschen der Instanz wird die Verbindung geschlossen. Das bringt einen erheblichen Performancegewinn, aber auch eine höhere Belastung des WWW-Servers. Mit der Methode NaechstesLesen können die einzelnen überwachten Werte und die zugehörigen Konfigurationsdaten gelesen werden.

 

Mit der Klasse DatenLesen können die einzelnen gesammelten Daten zu einem Kurs ausgelesen werden. Diese Klasse hat starke Ähnlichkeiten mit der Klasse KonfigurationLesen. Der Konstruktor zählt die Anzahl der verfügbaren Kursdaten, und die Methode NaechstesLesen liest jeweils den nächsten Datensatz (Datum + Kurswert).

 

Für die Erstellung der Konfigurationsdialoge existiert die abstrakte Klasse KonfigDialog. Von abstrakten Klassen können keine Instanzen gebildet werden, sondern sie können nur vererbt werden. Der Dialog wird mit der Methode StartDialog erzeugt. Mit der Methode datenabschicken werden die ausgewählten Daten an das Servlet Konfiguration weitergereicht. Die Klassen AuswahlDRB und AuswahlDB beerben KonfigDialog und beinhalten jeweils die spezielle Methode Datenzeilenlesen, die die WWW-Seiten mit Kursdaten der Dresdner Bank und der Deutschen Bank interpretieren. Das Laden von WWW-Seiten, die auf einem anderen WWW-Server liegen als der, von dem das Applet geladen wird, ist aus Sicherheitsgründen nicht möglich. Da Servlets auf WWW-Seiten von fremden Servern zugreifen können, kann man mit dem Servlet ServeHTML eine beliebige WWW-Seite abrufen.

 

Für die Erstellung des Dialogs der freien Auswahl gibt es die Klasse FreieAuswahl, die auch auf der abstrakten Klasse KonfigDialog aufbaut. In dieser Klasse wird die komplette Anzeigemethode StartDialog der Superklasse überschrieben.

 

5.2.3 Die Servlets

Die Servlets, die zu diesem Programm gehören, sind alle als FormServlet realisiert. Mit FormServlets ist es vergleichsweise einfach, Daten, die mit der POST Methode gesendet werden, auszuwerten. Ein FormServlet muß eine Rückgabe liefern, damit es korrekt funktioniert, ansonsten wird das Servlet nur unregelmäßig aufgerufen. Servlets sind keiner Client-Server-Architektur eindeutig zuzuordnen, sie sind Objekte, die über das Netz auf dem Server aufgerufen werden. Die Objekte dienen dabei nur als Programme. Eine Kommunikation zwischen Client- und Serverobjekten ist ausschließlich über Datenströme möglich. Eine Nachfrage bei Sun Microsystems ergab, daß Objektkommunikationen mit der Beta Version des Jeeves Servers, die voraussichtlich Mitte März 1997 verfügbar ist, möglich sein sollen. Als Anlage wurde ein Programmiercode mitgeschickt, der aber die noch nicht verfügbare API der Beta Version benötigt. Es kann also noch nicht gesagt werden, welche Client-Server-Architekturen mit dem Jeeves Server realisiert werden können.

 

KIS benutzt drei Servlets. Aufgrund der oben genannten Probleme werden nur wenige Aufgaben von den Servlets erledigt. Es ist dadurch leichter möglich, die Servlets auf die Beta bzw. Endversion des Jeeves Servers anzupassen. Die drei Servlets bekommen Ihre Aufrufparameter über die POST Methode.

 

Beim Aufruf müssen dem Servlet Konfiguration folgende Angaben zu dem der Überwachungsliste hinzuzufügenden Wert als Parameter übergeben werden:

 

  • nameinfo: Name des Wertes
  • adressinfo: URL der WWW-Seite
  • idstring: Identifizierender String des Wertes
  • akwert: Aktueller Kurs des Wertes.

 

Das Servlet Konfiguration trägt zusätzliche Werte zum Überwachen in die Konfigurationsdatei ein. Falls die Konfigurationsdatei nicht vorhanden ist, wird sie angelegt. Bei dem Servlet wird das Package sun.server.http.HttpServletContext importiert. Dieses Package ist nur beim Jeeves Server enthalten und gehört nicht zum Servlet API. Die benutzte Klasse wird benötigt, um den tatsächlichen Dateipfad der Konfigurationsdatei zu ermitteln. Die übergebenen Daten werden überprüft und mit Hilfe der Daten auf der WWW-Seite umgerechnet. Bei Analyse von WWW-Seiten, auf denen Kursdaten angeboten werden, ist festzustellen, daß alle Anbieter vor den Kursdaten immer direkt eine identifizierende Information haben. In vielen Fällen ist das der Name des Wertes oder die Wertpapierkennummer und in einigen Fällen die Abkürzung des Wertes. Des weiteren werden auf fast allen WWW-Seiten die Vor- und Nachkommastellen durch einen Punkt getrennt. Versuche, die absolute Position der Kursdaten auf der WWW-Seite zu ermitteln, scheitern daran, daß die Positionen der Kursdaten sich durch Datumsänderung oder dem Hinzufügen und Herausnehmen von Kursdaten regelmäßig ändern. Das Verfahren, das in dem Programm zur Anwendung kommt, zählt beim Hinzufügen eines Wertes in die Überwachungsliste, wie viele Punkte zwischen der identifizierenden Angabe und dem gewünschten Kurs stehen. Mit diesen Angaben kann jederzeit der Kurs des Wertes, der überwacht werden soll, auf der aktualisierten WWW-Seite gefunden werden. Dieses Verfahren hat sich als robust erwiesen. Auch wenn später auf der WWW-Seite Kurse hinzugefügt oder entfernt werden, findet das Verfahren ebenfalls den richtigen Wert, und HTML-Befehle werden durch dieses Verfahren ignoriert. Zur Datenmanipulation werden im Servlet die Funktionen verwendet, die man auch bei Applikationen verwenden kann.

 

Das Servlet ServeHTML dient dazu, Applets die Möglichkeit zu geben, WWW-Seiten von fremden WWW-Servern auszulesen. Applets dürfen aus Sicherheitsgründen nicht auf fremde WWW-Server zugreifen. Sie können aber statt dessen eine Anfrage an das Servlet ServeHTML mit der Angabe der Internetadresse im Übgergabeparameter URL stellen, und das Servlet liefert einen Datenstrom mit den Daten der WWW-Seite zurück.

 

Mit dem Servlet Datenloeschen ist es möglich, Datensätze aus der Konfigurationsdatei zu löschen. Das Servlet benötigt als Parameter loeschname den Names des zu löschenden Wertes. Dazu werden die Datensätze der Reihe nach in eine neue Datei kopiert, wobei der zu löschende Datensatz ausgelassen wird. Anschließend wird die ursprüngliche Konfigurationsdatei gelöscht, und die neue Datei bekommt den Namen der alten Datei. In dem Servlet ist die Klasse KonfLesenSchreiben enthalten, die die Klasse KonfigurationLesen erweitert. Die Klasse KonfigurationLesen ist im Applet definiert worden. Die Übernahme der Klasse aus dem Applet wird durch die Nutzung der Programmiersprache Java auf der Client und der Server Seite ermöglicht. Dies ist ein großer Vorteil gegenüber der herkömmlichen CGI-Programmierung, da bestimmte Klassen nicht für die Client und Server Seite programmiert werden müssen, und so die Wartung und Entwicklung des Client- und des Serverprogramms erleichtert wird.

 

5.2.4 Die Applikation zum Sammeln der Daten

 

Mit der Applikation werden die jeweils aktuellen Kursinformationen, die in der Konfigurationsdatei angegeben sind, aus dem Internet geladen und gespeichert. Die Position der Daten wird auf der WWW-Seite durch die identifizierende Angabe zum Wert und die Anzahl der Punkte zwischen diesem Wert und der gefunden. Die Daten werden im Unterverzeichnis daten in Dateien mit dem jeweiligen Namen des Wertes abgelegt. Bei diesen Dateien gibt es bei der Programmierung Kompatibilitätsprobleme bei der Ausführung auf Windows und Unix Systemen. Probleme treten auf, wenn eine Datei angelegt wird, die mit einem oder mehreren Leerzeichen endet. Bei Windows Systemen werden die Leerzeichen ignoriert, bei Unix hingegen gehen sie mit in den Dateinamen ein. Um hier eine Kompatibilität zu erzeugen, werden die Leerzeichen am Ende des Namens in dem Servlet Konfiguration entfernt.

 

 

Druckversion
(C)1996-2024 Wolfgang Büning  >> Impressum