next up previous contents
Next: Betriebsaspekte Up: Gateway-Strategien Previous: Statische Gateways

Dynamische Gateways

 Ein dynamisches Datenbank-Gateway ist ein CGI-Skript, bei dem der Zugriff auf die zugrundeliegende Datenbank dynamisch erfolgt. Man kann dabei zwei Arten von dynamischen Gateways unterscheiden.

Bei der ersten Art wird eine Art Meta-Datenbank verwendet, die dynamische Informationen über die zugrundeliegende Datenbank und deren Tabellen enthält. Anhand dieser Informationen, die vom Datenbank-Gateway ausgelesen werden, wird dann das HTML-Formular für den Benutzer dynamisch aufgebaut. Bei dieser Meta-Datenbank handelt es sich entweder um Systemtabellen, sog. ,,data dictionaries``, der Datenbanksysteme, in denen die erforderlichen Informationen gespeichert werden oder um externe Konfigurationsdateien, die vom Administrator der Anwendung explizit erstellt und vom Datenbank-Gateway zur Laufzeit ausgewertet werden. Diese Meta-Datenbanken enthalten beispielsweise die Namen der Datenbank und der Tabellen sowie der Tabellenspalten, auf die zugegriffen werden soll, eventuelle ,,Joins`` zwischen den Tabellen, falls auf mehrere Tabellen zugegriffen wird, sowie die Benutzerkennung und das Paßwort, das für den Datenbankzugriff verwendet werden soll. Einem dynamischen Gateway können dabei eine oder mehrere dieser Meta-Datenbanken zugrundeliegen. Sind beispielsweise mehrere Konfigurationsdateien vorhanden, teilt der Benutzer bei seiner Anfrage dem CGI-Skript mit, welche Datei bei dem aktuellen Zugriff verwendet werden soll. Auf diese Weise lassen sich mit einem Datenbank-Gateway Zugriffe auf unterschiedliche Datenbanken sowie verschiedene Zugriffsarten, wie das Lesen, Einfügen oder Modifizieren der Daten innerhalb der Datenbank, realisieren. Die Public Domain Gateways ,,WDB`` [Ras95] und ,,GSQL`` [Ng93] beispielsweise verwenden Konfigurationsdateien als Basis für die Datenbankzugriffe. Das Tool ,,oraywww``, das Teil des ,,Oracle World Wide Web Interface Kits`` [Ora95] ist, bedient sich der Systemtabellen der zugrundeliegenden Datenbank, um daraus dynamisch das Eingabeformular für den Benutzer bzw. die Anfragen an die Datenbank zu generieren.

Eine weitere Möglichkeit dynamische Datenbank-Gateways zu implementieren besteht in der Verwendung statischer HTML-Dokumente, die Pseudo-HTML-Sprachelemente enthalten. Diese Pseudo-Sprachelemente werden durch das CGI-Skript verarbeitet. Wie bei den oben beschriebenen Meta-Datenbanken, enthalten die in das HTML-Dokumente eingebetteten Pseudo-Sprachelemente Informationen, die für die Generierung der Datenbankanfrage durch das CGI-Skript verwendet werden. Der Ablauf einer Anfrage ist dabei wie folgt: Der Benutzer adressiert das CGI-Skript und übergibt diesem zusätzlich den Pfad zu einem solchen statischen HTML-Dokument, in das die erwähnten Pseudo-HTML-Sprachelemente eingebettet sind. Das CGI-Skript verarbeitet das HTML-Dokument mit Hilfe einer Art Präprozessor, erkennt die Pseudo-HTML-Sprachelemente, baut entsprechend den darin beschriebenen Informationen dynamisch eine Anfrage auf und schickt sie an die Datenbank. Das Ergebnis der Anfrage wird anstelle der Pseudo-Sprachelemete in das HTML-Dokument eingefügt und an den Benutzer zurückgeschickt. Das Pseudo-Sprachelement

<SQL table=``Angestellte`` projection=``name,id,funktion,gehalt``
restriction=``abtnummer=12``>

beispielsweise könnte in ein HTML-Dokument eingebettet sein und durch ein entsprechendes CGI-Skript verarbeitet werden. Das Gateway erkennt anhand des Pseudo-Sprachelements <SQL>, daß daraus eine Datenbankanfrage zu generieren ist. Das Ergebnis der Anfrage wird dann anstelle dieses Pseudo-Sprachelements in das Dokument eingebettet und an den Benutzer zurückgeschickt. Das ,,DECOUX-Gateway``, das Teil des ,,Oracle World Wide Web Interface Kits`` ist [Ora95]´, hat diesen Ansatz implementiert. Er wurde ebenfalls bei der Implementierung einer WWW-Version der OMNIS-Recherche [Cla94] für das an der TU-München existierende Literaturrecherche- und Bibliotheks-System OMNIS verwendet.

Der Vorteil der dynamischen Gateways gegenüber den statischen Gateways liegt in der Tatsache, daß die dynamischen Gateways flexibler sind gegenüber Änderungen und einfacher modifiziert werden können. Ein dynamisches Gateway kann für unterschiedliche Zugriffe auf diverse Datenbanken verwendet werden, ohne dabei den Source-Code der Anwendung ändern und neu übersetzen zu müssen. Der Administrator der Anwendung muß lediglich die Meta-Datenbanken in Form von Systemtabellen bzw. Konfigurationsdateien erstellen oder die erwähnten, vorgegebenen Pseudo-HTML-Sprachelemente in bestehende HTML-Dokumente einfügen, die dann vom Gateway für die Datenbank-Zugriffe verwendet werden. Der Administrator braucht nur noch mit der Konfiguration des Gateways vertraut sein und muß sich nicht mehr um den Source-Code der Anwendung kümmern.


next up previous contents
Next: Betriebsaspekte Up: Gateway-Strategien Previous: Statische Gateways
Root on HPHEGER0
8/27/1998