next up previous contents
Next: Programmablauf Up: Systemarchitektur Previous: Systemarchitektur

Beschreibung der Komponenten

Der Prototyp der JAWA ist ein statisches CGI-Skript (Kapitel [*]), das als Standalone-Gateway (Kapitel [*]) realisiert ist und direkt mit der Datenbank kommuniziert. Die Kommunikation zwischen CGI-Skript und Datenbank erfolgt über die Datenbankzugriffschicht. Die Anwendung verwendet ,,Embedded`` SQL-Anweisungen (ESQL), um die Daten aus der relationalen Datenbank auszulesen und zur Verarbeitung an das Programm weiterzuleiten.


  
Abbildung: Die JAWA und ihre Komponenten

Die Anwendung besteht wie in Abbildung [*] dargestellt, aus den Modulen jawa.c, query.
pc
und util.c sowie der Headerdatei jawa.h und der Konfigurationsdatei für das Eingabeformular jawaform.conf. jawa.c ist ein C-Programm und stellt das ,,Front End`` der Anwendung dar. Es ist zuständig für die Generierung des HTML-Eingabeformulars, für die Verarbeitung der Benutzereingabe sowie die dynamische Generierung der Datenbankanfrage aus den vom Benutzer eingegebenen Kriterien. Nach Aufruf der JAWA durch den WWW-Server werden dem CGI-Skript die vom Client generierte Anfrage über das CGI übergeben. Die Anwendung prüft, ob die Benutzereingabe korrekt ist und auch korrekt an das Skript übergeben wurde. Nach erfolgreicher und fehlerfreier Verarbeitung der Benutzereingabe wird aus jawa.c das Modul query.pc aufgerufen und die dynamisch generierte Anfrage übergeben.

query.pc ist ein C-Programm, in das ESQL-Anweisungen eingebettet sind und stellt somit das Datenbank-,,Back End`` der Anwendung dar. Es ist zuständig für die Anmeldung bei der JAWA-Datenbank, es führt Konsistenzprüfungen der Benutzereingabe durch und schickt die vom Modul jawa.c erhaltenen SQL-Anfragen an die Datenbank. Nachdem die Daten aus der Datenbank ausgelesen wurden, werden Formatierungen an den Daten vorgenommen und auf die Standardausgabe geschrieben, von wo aus die Daten durch den WWW-Server zurück an den Browser geschickt werden.

query.pc verwendet ausschließlich Standard-SQL-Anweisungen anstelle Oracle-spezifischer SQL-Erweiterungen. Durch die Unabhängigkeit von den SQL-Dialekten, die von den verschieden Datenbanksystemen verwendet werden und durch die Aufteilung der Anwendung in zwei Komponenten ist eine Portierung der Anwendung auf ein anderes relationales Datenbanksystem ohne große Änderung des Source-Codes möglich.

Das Modul util.c enthält Hilfsfunktionen, die in jawa.c verwendet werden, um die vom WWW-Server übergebenen, url-codierten Daten zu dekodieren.

Zur Generierung des HTML-Formulars werden von der JAWA Informationen verwendet, die in der Konfigurationsdatei jawaform.conf (Anhang [*]) gespeichert sind. Diese Datei bildet die Basis für das Eingabeformular und ist ein Abbild der Daten, die in der Datenbank enthalten sind. Dies bedeutet, das in der Konfigurationsdatei nur die Auswahlkriterien enthalten sind, die auch tatsächlich in der Datenbank gespeichert sind, und daß nur diese Kriterien beim Aufbau des HTML-Formulars verwendet werden. Dem Benutzer stehen damit nur solche Kriterien zur Auswahl, die auch in der Datenbank enthalten sind. Damit wird die Wahrscheinlichkeit der ,,ergebnislosen Suche`` reduziert und zugleich die Toleranz gegenüber Eingabefehlern der Benutzer erhöht. Die Datei kann entweder manuell editiert oder mit Hilfe eines geeigneten Skripts erstellt werden. Das Skript muß dazu die notwendigen Informationen aus der Datenbank auslesen und daraus die Datei jawaform.conf generieren. Bei Änderung des Datenbestandes in der JAWA-Datenbank muß diese Datei entsprechend angepaßt werden. Werden beispielsweise alle ,,roten`` Fahrzeuge aus der Datenbank entfernt, muß sichergestellt werden, daß diese Farbe nicht mehr unter den Grundfarben in der Datei jawaform.conf enthalten ist. Dies gilt ebenfalls für alle anderen Auswahlkriterien.


next up previous contents
Next: Programmablauf Up: Systemarchitektur Previous: Systemarchitektur
Root on HPHEGER0
8/27/1998