Der eigentliche Sinn moderner DV-Schlagwörter

Intelligente Datenbankserver bedienen nicht einfach Clients

22.05.1992

Verteilte Datenbanken und Client-Server-Computing sind zwei Schlagwörter, die für die Ablösung der Mainframe-DV stehen; sie werden nicht zufällig gemeinsam genannt. Bei konzeptionellen Überlegungen geht meist das eine mit dem anderen einher. Werner Eckhoff* stellt klare worum es bei den Begriffen geht und was beide miteinander zu tun haben.

Client-Server-Systeme sind durch die ausgeprägte Beziehung zwischen dem Endbenutzertool (dem Client) und der Ressource (dem Server) gekennzeichnet. Sie werden idealerweise zusammen entwickelt oder unter Verwendung effizienter und exakt definierter Programmierschnittstellen miteinander verbunden. Jede Komponente für sich allein ist nicht einsatzfähig oder bietet nur eine wesentlich geringere Funktionalität. Client-Server-Produkte unterscheiden sich bezüglich der Hardware-, Software- und Kommunikationselemente, die bei der Installation einer Client-Server-Umgebung eingesetzt werden.

Viele Hersteller messen der Definition des Servers eine untergeordnete Bedeutung zu, etwa weil eine eindeutige Definition nach wie vor Mangelware ist? Trotz gegenteiliger Bekundungen in den Werbebroschüren der Hersteller kann es sich beim Server um die unterschiedlichsten Hardware-Komponenten handeln. So gibt es keinen zwingenden Grund dafür, warum ein Server nicht auch ein Prozessor der PC-Kategorie sein sollte. Viele Endbenutzer glauben jedoch, daß etliche gebräuchliche Applikationen wegen der Datensicherheit oder wegen des Alters der Daten (beispielsweise ältere Cobol-Anwendungen, die für den Unternehmensablauf nach wie vor äußerst wichtig sind) unbedingt einen IBM-Host als Server erfordern.

Der Server wird - vereinfacht ausgedruckt - immer mehr als die Ressource angesehen, die zur Speicherung von Informationen oder zur Erledigung peripheriespezifischer Aufgaben entwickelt wird. Zu Verwirrungen führt auch häufig die Annahme, daß eine einzige "Server"-Umgebung für mehrere unterschiedliche Aufgaben eingesetzt werden muß. Angesichts der derzeitigen Preise für Hardware- und Software-Equipment ist übermäßiges Sparen, bei dem man sich für einen Server als Universallösung für unterschiedliche Applikationen entscheidet, aber eigentlich fehl am Platz.

Der Client läßt sich wesentlich einfacher als der Server definieren. Der Client ist die endbenutzerseitige Schnittstelleneinheit beziehungsweise -umgebung mit Verarbeitungsmöglichkeiten. Dadurch erscheinen externe Datenressourcen für den Benutzer transparent. Er zeichnet sich zudem durch ein beachtliches Intelligenzpotential aus, so daß der hochgradig interaktive und verarbeitungsintensive Datenfluß (Bandbreite) von Client-Sierver-Anwendungen dem Benutzer effizienter übermittelt werden kann.

Besondere Beachtung verdient der Begriff "endbenutzerseitige Schnittstelle". Denn eine Workstation wird in zehn Jahren ganz anders funktionieren als ein heute auf dem Markt erhältliches System mit seiner per Tastatur bewirkten Zeichendarstellung.

Bandbreite wichtig für den Endbenutzer

Neue Produkte und Technologien wie beispielsweise Pen-Computing, Sprachein- und -ausgabe, Bildverarbeitung und ähnliche Fortschritte werden das derzeitige Bild des PCs und anderer Clients gravierend verändern. Derzeit gebräuchliche zeichenbasierte Bildschirme und tastaturbasierte Eingabeeinheiten werden zwar noch überwiegend eingesetzt, sind in technologischer Hinsicht aber bereits überholt. Die oben skizzierte Schnittstellenbandbreite macht sie nämlich obsolet.

Dem Aspekt der Bandbreite messen die Endbenutzer eine überaus große Bedeutung zu. Das derzeitige Verarbeitungsmuster wirft dann Probleme auf, wenn statt der Eingabeleistung des Benutzers die Übertragung der systemeigenen Informationen an den Benutzer zum Engpaß wird. Die Informationsverwaltung im System ist nur ein Teil des Ganzen. Eine weitere wesentliche Voraussetzung ist die Informationsausgabe entsprechend den verbesserten Gegebenheiten der Informationsverwaltung. Ziel der Informationsverwaltung und -ausgabe ist es, dem Endbenutzer die größtmögliche Menge an zweckdienlichen Informationen bereitzustellen.

Die lokal verfügbare Intelligenz der Schnittstelleneinheit ist das Herzstück des Client-Server-Systems, hängt hiervon doch die Realisierung des skizzierten Vorhabens ab. Weist die Schnittstelleneinheit nicht die entsprechende MIPS-Leistung auf, so können weder die wesentlichen Elemente der Anfrage lokal verarbeitet noch die gelieferten Informationen in die "korrekte" Antwort (statt nur in die "gültige") umgewandelt werden.

Bloße Vorteilung ist noch kein Fortschritt

Ungleich wichtiger als die Auslastung des Host-Rechners ist der Gesichtspunkt, wie die Informationen dem Benutzer nahegebracht werden. So geht das Marktforschungsinstitut IDC beispielsweise davon aus, daß ein Großteil des MIPS-Potentials in künftigen 80686- und 68060-Systemen nicht für reine Verarbeitungszwecke verwendet wird, sondern zur Aufbereitung der Daten für eine optisch einprägsam und sinnvolle Präsentationsform.

Anders als viele andere Produktkonzepte, die dem Kunden bislang vorgesetzt wurden, ist das Client-Server-Konzept alles andere als eine schlüsselfertige Lösung, die man einfach kaufen und installieren kann. Allerdings verfügen die meisten Unternehmen bereits über die Tools, die zur internen Entwicklung von Client-Server-Applikationen erforderlich sind. Um das Client-Server-Modell erfolgreich zu implementieren, ist ein beachtlicher Arbeitseinsatz der Systementwickler erforderlich. Primäre Aufgabe dieser internen oder externen Kräfte ist die Planung, wie die umfassende Wandel der Funktionalität von Informationssystemen vonstatten gehen soll.

Verteilte Datenbanksysteme spielen bei der Realisierung von Client-Server-Architekturen eine wichtige Rolle. Was allerdings häufig übersehen wird: Die bloße Verteilung der Daten auf unterschiedliche Standorte ist noch kein Fortschritt. Vielmehr kommt es darauf an, die einzelnen Knotenpunkte Clients und Server - mit einer maximalen "Intelligenz" auszustatten, um ein optimales Zusammenspiel im Netzwerk zu ermöglichen.

"Intelligente" Datenbankserver

Während auf der Client-Seite von vielen Beteiligten etwas für die Erhöhung der "Intelligenz" getan wird (Stichwort grafische Benutzeroberfläche etc.), bleibt die Funktionalität der Server in den meisten Fällen auf "dumme" passive Aufgaben wie Datenspeicherung oder Druckabwicklung beschränkt. Um das Client-Server-Modell wirksam zu implementieren, sind indes aktive "intelligente" Datenbankserver unabdingbar.

Ein "intelligenter" Datenbankserver ist ein Server, der nicht nur auf konkrete Abfrageformulierungen von Clients anspricht, sondern in der Lage ist, aufgrund von Ereignissen selbständig vordefinierte Arbeitsabläufe auszulösen. Dies hat den Vorteil, daß der Client nicht mehr in jedem Fall eine klar formulierte Abfrage starten muß, um einen Request auf ein Ereignis zu erhalten. In diesem Fall führt der Server unmittelbar nach dem Ereignis einen Prozeß durch, der an die entsprechenden Clients weitergeleitet wird.

Die hinter aktiven Servern steckende Technologie ist erst seit kurzem verfügbar: Event Alerters. Mittels Event Alerters lassen sich Datenbestände überwachen; treten bestimmte Datenzustände ein, werden automatisch Alarmmeldungen an externe Anwendungen abgesandt.

Man kann auch von der Funktionalität der Ereignissteuerung sprechen. Während Regeln, wie sie etwa in Knowledge-Managementsystemen verarbeitet werden können, lediglich interne Datenbank-Prozeduren auslösen, lassen sich durch Ereignissteuerung bei Eintreten vordefinierter Ereignisse (Events) automatisch externe Applikationen über SQL-Kommandos ansprechen (Alerters).

Aktive Rolle für den Server

Bei einer Client-Server-Architektur ist eine automatische Überwachung wichtiger Datenbestände eindeutig von Vorteil. Ein aktiver Server erlaubt die Überwachung wichtiger Informationen in der Datenbank wie beispielsweise Lagerbestände. Sinkt der Lagerbestand unter ein zuvor festgelegtes Niveau, kann das Datenbanksystem über SQL-Anweisungen automatisch Alarmmeldungen an Anwendungen verschicken, also zum Beispiel eine entsprechende Fax-Nachricht an einen Lieferanten veranlassen.

Dies steht im Gegensatz zu herkömmlichen Methoden, bei denen Anwendungen kontinuierlich die Datenbank auf wichtige Veränderungen abfragen mußten und somit unnötige Systemressourcen belegten. Weitere typische Anwendungsbeispiele für die Ereignissteuerung sind

- die automatische Generierung von Mahnungen bei Überschreiten von Fälligkeitsdaten,

- die Alarmmeldung an ein Überwachungsterminal bei unbefugten Datenbankzugriffen oder

- die automatische Anfertigung eines Statusberichts beim Eintreffen des Tagesbudgets in einer Finanzapplikation.

Die Methode der Ereignissteuerung ist somit eine neue Art der Server-Client-Kommunikation, die unter anderem die Möglichkeiten verteilter Datenbanken erheblich ausweitet. Erstmals kann der Server dabei eine aktivere Rolle in der Kommunikation übernehmen, und zwar sowohl lokal als auch remote. Dadurch ist es für den Anwender einfacher, die Regeln seiner Organisation oder seiner Abteilung in Client-Server-Umgebungen abzubilden.