Intranet und Legacy Systeme/Skepsis gegenüber Versprechungen der Anbieter bleibt angebracht

Wege zur Einbindung von Datenbanken

31.01.1997

Web-Technologien scheinen bestens geeignet, um Informationen auch firmenintern zu verteilen. Das heißt, Informationen werden auf dem Web-Server abgelegt und lassen sich mit einem gängigen Browser lesen. Diese Informationen sind zunächst - im Gegensatz zu Datenbanktabellen - unstrukturierte Texte.

Allerdings bestehen die verarbeiteten Informationen in der Regel nicht nur aus einer Reihe unstrukturierter Textdokumente, sondern aus dem gesamten Erscheinungsbild der verschiedenen Anwendungsprogramme. Dazu gehören die Art, in der die Applikation die Daten präsentiert, und dazu gehören natürlich auch die Daten selbst, die meist aus einer Datenbank stammen. Ein sinnvoller Einsatz von Internet-Technologien im Firmennetz steht und fällt mit der Möglichkeit, aus dem Web-Browser auf Daten zuzugreifen, die in Datenbanken abgelegt sind.

Web-Dokumente sind auf Servern im HTML-Format (Hypertext Markup Language) abgelegt und zunächst einfach Dokumente, die Text, Grafiken und Verweise (URLs) auf weitere Dokumente enthalten. Sie sind statisch, was bedeutet, daß bei jeder Datenänderung auch das gesamte HTML-Dokument neu erzeugt werden muß, beispielsweise eine Preisliste wegen einer Änderung des Datums. Die Verwendung eines solchen Dokuments als interaktive Applikation, mit der der Anwender womöglich Daten eingeben möchte, ist natürlich auf den ersten Blick nicht denkbar.

Glücklicherweise ist HTML jedoch nicht nur ein Dateiformat, in dem sich Text und Grafiken optisch ansprechend darstellen lassen. Es besteht auch die Möglichkeit, aktive Elemente in das Dokument einzubetten und diese über Scripts zu program- mieren. Genau diese aktiven Erweiterungen lassen sich nutzen, um Daten aus Datenbanken in HTML-Dokumente zu integrieren.

Die entsprechende Art der Datenbankanbindung hängt hauptsächlich von den Anforderungen der Applikation ab, die entwickelt werden soll. Die Hersteller der unterschiedlichen Datenbanken bieten verschiedene Tools an, um Intranet-Anbindungen zu ermöglichen.

Hinsichtlich der Vorgehensweisen läßt sich zwischen dem Push- und dem Pull-Ansatz unterscheiden. Bei der Push-Methode erzeugt die Datenbank unabhängig von einer Benutzeranforderung das HTML-Dokument und legt dieses auf dem Web-Server ab. Der Datenbank-Server schiebt also die Daten ins Intranet. Das macht dann Sinn, wenn sich Daten eher selten ändern, jeder Benutzer genau die gleichen Daten angeboten bekommt und er diese auch selbst nicht ändern muß.

Bei entsprechender Unterstützung durch die Datenbank ist es unter anderem denkbar, HTML-Dokumente bei jeder Änderung neu zu erzeugen. Eine Einbettung der genannten aktiven HTML-Elemente und Erweiterungen ist nicht notwendig. Microsofts SQL-Server 6.5 bietet beispielsweise einen sogenannten Web-Wizzard, mit dem sich die automatische Erzeugung von HTML-Dokumenten aus Datenbankabfragen einrichten läßt.

Im Gegensatz zur Push-Methode werden Daten beim Pull-Verfahren für jede Benutzeranfrage erneut aus der Datenbank gelesen und in HTML eingebettet. Aktive HTML-Elemente und -Erweiterungen arbeiten alle nach diesem Ansatz. Die Verbindung der Datenbank mit dem HTML-Dokument erfolgt entweder über den Web-Server aus der Datenbank oder - wie in alten Client-Server-Tagen - direkt über deren Client-Software. Im ersten Fall ergibt sich eine Abhängigkeit vom verwendeten Web-Server beziehungsweise dessen Betriebssystem. Das fällt aber nicht sehr ins Gewicht, für die Server-Plattform hat man sich in der Regel schon entschieden.

Wie kann man also den Server um die Datenbankanbindung erweitern? Auf den meisten Servern ist das Common Gateway Interface (CGI) verfügbar. CGI ist eine Schnittstelle, mit der Browser den Web-Server dazu veranlassen können, Hilfsprogramme auszuführen. Die Ergebnisdaten werden dann im HTML-Format an den Browser zurückgeschickt. Denkbar sind auch Applikationen, die zwar der Web-Server-Rechner ausführt, dies jedoch unabhängig von der Web-Server-Software. Solche Anwendungen sind analog zu den CGI-Programmen für die Datenbankverbindung verantwortlich, man ist aber nicht mehr an das HTML-Format gebunden. Allerdings muß im Gegensatz zu CGI die Kommunikation mit dem Client selbst programmiert werden.

Wer die Datenbank nicht über den Web-Server, sondern direkt über ihre Datenbank-Client-Software ansprechen möchte, muß diese auf Client-Rechnern installiert haben. Man verliert also die Plattformunabhängigkeit und muß noch dazu auf jedem Client über die Software der Datenbank verfügen. Diese Vorgehensweise ist daher nicht weiter interessant.

Unabhängig davon, ob man die Datenbank über den Web-Server oder direkt ansprechen möchte, besteht die Wahl zwischen sogenannten Applets, externen Programmkomponenten und aktiven Standardelementen von HTML (einfache Edit-Felder, Buttons, Radio-Buttons, Checkboxen), die sich mit Scriptsprachen programmieren lassen.

Java-Applets sind Programmteile, die der Web-Browser interpretiert und die daher unabhängig vom Betriebssystem auf jeder Plattform laufen. Da sie auf dem Browser ausgeführt werden, müssen sie die Daten, die sie repräsentieren, nicht in das HTML-Format umwandeln; sie zeigen sich einfach selbst auf dem Bildschirm an. Um die Sicherheit beim Betrieb von Java-Applets im Internet zu gewährleisten, können diese nicht ohne weiteres Systemfunktionen, zum Beispiel DLLs, aufrufen. So wird verhindert, daß ein Applet virusähnlich Funktionen ausführen kann.

Große Applikationen in Komponenten zerlegen

Eine bisher in Client-Server-Architektur existierende Applikation läßt sich vergleichsweise einfach als Ganzes nach Java portieren. Zum Beispiel erlaubt es die neueste Version des "Centura Team Developers", Centura-Applikationen automatisch nach Java zu konvertieren. Der Nachteil ist allerdings, daß dabei ein monolithisches Riesen-Applet über das Netz geladen werden muß.

Es ist daher sinnvoller, die Applikation in Komponenten zu zerlegen, die sich einzeln laden lassen. Ladezeit und Entwicklungsaufwand lassen sich zusätzlich reduzieren, wenn man auf die Standardelemente von HTML zurückgreift, wo immer dies möglich ist. Die einzelnen Java-Applets und HTML-Elemente lassen sich mit Scriptsprachen verbinden, zum Beispiel mit Javascript oder mit Visual-Basic-Script (letzteres läuft nur mit Microsoft Internet Explorer).

Eine generische Datenbankanbindung für Java ist die Java Database Connection (JDBC). Implementierungen davon gibt es für beliebige ODBC-Treiber ebenso wie für bestimmte Datenbanksysteme, zum Beispiel JDBC-Connect von Sybase. Während viele Implementierungen von JDBC nicht für die Verwendung von Java-Applikationen geeignet sind, ist dies bei JDBC-Connect durchaus möglich.

Die Programmiersprache Java besitzt übrigens eine Vielzahl von Funktionen zur Kommunikation über Netzwerke. Man ist meistens aber auf die Kommunikation mit dem Web-Server beschränkt, von dem das HTML-Dokument geladen wurde. Es bietet sich also an, die Datenbankanbindung vom Web-Server aus vorzunehmen (auch mit Hilfe eines in Java geschriebenen Programms und nicht via CGI), um die Daten mit den Java-Kommunikationsfunktionen zum Applet zu übertragen. Diese Vorgehensweise bewahrt den großen Vorteil von Java - die Plattformunabhängigkeit.

Eine Microsoft-spezifische, also nicht portable Technologie, heißt Active X. Active-X-Controls sind eine Weiterentwicklung der bisherigen OLE-Controls, letztendlich DLLs mit speziellen Schnittstellen zur Einbettung in Web-Browser. Sie werden wie Java-Applets über das Netz automatisch vom Web-Server geladen und auf dem Client, in das HTML-Dokument eingebettet, ausgeführt. Die Verbindung verschiedener Controls mit anderen HTML-Elementen oder Java-Applets erfolgt wieder über Scripts.

Während die Entwickler von Java auf Kosten der Möglichkeiten zur Nutzung von Betriebssystem-Funktionen sehr auf die Sicherheit des Client-Rechners bedacht waren, läßt sich mit Active X die Funktionalität des Betriebssystems voll ausnutzen, des Microsoft-Betriebssystems wohlgemerkt. Und das ist der Nachteil - Active-X-Controls sind plattformabhängig.

Vor- und Nachteile von Active-X-Controlls

Es sind zwar Implementierungen für weitere Betriebssysteme geplant, aber da Active-X-Controls ausführbaren Code enthalten, sind für unterschiedliche Plattformen auch verschiedene Controls gleicher Funktionalität erforderlich. Für manche Intranets spielt Plattformunabhängigkeit vielleicht auch keine so große Rolle, etwa dort, wo ohnehin nur Windows läuft.

Ein Vorteil von Active X sei nicht verschwiegen: Active-X-Controls sind Programmkomponenten, die sich in Web-Browser einbetten lassen. Sie können aber auch in ganz normalen Applikationen Verwendung finden, sofern die betreffenden Entwicklungsumgebungen dies zulassen - und es gibt kaum ein Entwicklungswerkzeug für Windows 95 oder NT, das Active-X-Controls nicht unterstützt. Dies vereinfacht die Migration beziehungsweise erlaubt die Entwicklung von Client-Server-Applikationen, die sich später einfacher in Intranet-Anwendungen umwandeln lassen.

So oder so stellt die Migration der vorhandenen Firmen-DV ins Intranet eine gewisse Herausforderung dar und ist nicht so einfach, wie viele Hersteller uns gerne glauben machen wollen. Es gibt jedoch eine Reihe von Möglichkeiten, Daten aus der Datenbank in statische HTML-Dokumente umzuwandeln oder einzubinden. Auf den Datenbankanschluß braucht man also auch im Intranet nicht zu verzichten.

Angeklickt

Die typische Information in einem Intranet ist in den meisten Fällen textlicher Art und unstrukturiert. Das widerspricht dem schematischen Charakter von Datenbanken. Allerdings besitzen HTML-Dokumente aktive Elemente, und auf deren Grundlage läßt sich die Anbindung von Datenbanken aufbauen. Die Internet-Techniken CGI und Java bilden weitere Brückenglieder. Dieser Beitrag zeigt die grundlegenden Techniken, entscheidenden Schritte und möglichen Varianten auf.

*Christoph Müller ist Geschäftsführer der DI Durban Informatik GmbH in Karlsruhe