SQL setzt sich als Abfragesprache durch (Teil 4)

Daten und Anwendungen sind in der DV deutlich zu trennen

14.06.1991

Der Begriff "verteilte Informationssysteme" ist bei der Diskussion um die unternehmensweite Datenverarbeitung in den Vordergrund gerückt. Häufig fehlt es jedoch an genauen Definitionen, welche konzeptionellen Organisationsformen sich dahinter verbergen. Thomas Stutenbäumer* versucht in dieser Serie, eine Systematisierung dieses komplexen Themas vorzunehmen. Teil 4 behandelt Grundlagen der Datenhaltung in unterschiedlichen Organisationsformen.

Neben den Ressourcen (DV-technische Infrastruktur) sind die Daten und Anwendungen weitere Basiskomponenten der modernen verteilten Informationsverarbeitung. In diesem Teil wird exemplarisch ein Informationssystem konstruiert. Dadurch soll eine Methodik auf gezeigt werden, die die Konzeption komplexen Systeme ermöglicht.

Die strikte Trennung der Daten von den Anwendungen ist eine der Grundvoraussetzungen für die integrierte Informationsverarbeitung. Diese Trennung ermöglicht, daß verschiedene Anwendungen auf einen unternehmensweit eindeutig definierten Datenbestand zugreifen können. Die Art der Datenhaltung innerhalb eines verteilten Systems ist abhängig von den Anforderungen eines Unternehmens an die Informationsverarbeitung und die daraus resultierende Form des Daten-Managements.

Prinzipiell lassen sich folgende Organisationsformen der Datenhaltung und der Datenverarbeitung unterscheiden:

1. Verteilung von Anwendungen mit zentralem Datenbestand (Client-Server-Architektur):

Dieses Konzept beschreibt die Zusammenarbeit mehrerer Verarbeitungsknoten in einem Netzwerk. Die unterschiedlichen Verwaltungsaufgaben sollen auf die jeweils am besten geeigneten Hardwareplattformen verteilt werden. Aufgaben, die ablaufbestimmend sind, übernimmt der Client (Front-end), etwa die Benutzeroberfläche; Aufgaben, die ablaufunterstützend sind, bearbeitet der Server (Back-end).

2. Verteilung von Anwendungen mit verteiltem Datenbestand (Client-Multiserver-Architektur):

Die Datenbestände liegen physikalisch auf mehreren unterschiedlichen Servern und können von den verschiedenen Clients genutzt werden. Es wird bei solchen Systemen bezüglich der Datenorganisation und des Daten-Managements weiterhin unterschieden zwischen redundanzfreier Speicherung der Daten auf verschiedenen Servern mit einem zentralen Daten-Management - hier ergeben sich Probleme hinsichtlich der Organisation der Datensicherung - und verteilter Speicherung der Daten mit Redundanzen. Die Datenbestände werden zentral vorgehalten und zur schnelleren Verarbeitung redundant zum jeweiligen Produktionsbeginn auf die verschiedenen Server geladen.

Bei der Aktualisierung der redundant verteilten Datenbestände unterscheidet man wiederum zwei verschiedene Verfahren:

- Beim Two-Phase-Commit-Verfahren wird eine Änderung im Datenbestand eines beliebigen Servers synchron auf allen Serverknoten durchgeführt, die diese geänderten Daten gespeichert haben. Problematisch ist der sehr hohe Aufwand in der Synchronisation, der die Performance (Antwortzeitverhalten der Datenbank) bei einer weiten Verteilung der Daten erheblich verschlechtert. Hinzu kommen Komplikationen bei dem Ausfall eines Servers und die notwendige Resynchronisation, falls der ausgefallene Server wieder verfügbar ist.

- Beim Master-Slave-Verfahren nimmt man zeitweilig inkonsistente Datenbestände in Kauf. Das Herstellen der Datenintegrität erfolgt je nach den Anforderungen eines Unternehmens in fest definierten Zeitintervallen (asynchrones Verfahren). Ändernde Schreibzugriffe auf den Datenbestand dürfen nur auf eine Master-Datei getätigt werden, die innerhalb des definierten Zeitintervalls die Replikate beliefert. Dieses Verfahren wird als zukünftiger Standard für verteilte Informationssysteme angesehen. Das Lösen von Security-Problemen geschieht unter Umständen auf der Host-Ebene, eine Datensicherung auf den verteilten Servern kann entfallen.

Nachdem sich ein Unternehmen für ein bestimmtes Datenhaltungskonzept entschieden hat, ist ein Datenbanksystem festzulegen, das das erforderliche Organisationskonzept der Datenhaltung unterstützt beziehungsweise ihm am nächsten kommt.

Problematisch ist es, die benötigten Anwendungen für das vorgegebene Datenbanksystem zu beschaffen. Im allgemeinen benutzen auf dem Markt verfügbare Anwendungen ein gängiges Datenbanksystem, daß schon durch den Anbieter festgelegt worden ist und nicht kompatibel zu den im Unternehmen benutzten Applikationen ist.

Für die Endanwender heißt dies, daß sie zwischen alternativen Wegen zu entscheiden haben:

- Es werden unterschiedliche Datenbanksysteme eingesetzt, zwischen denen sogenannte Konvertierungsprogramme zum Einsatz kommen.

- Die jeweiligen Softwarelieferanten müssen die Anwendungslösung auf das vorgegebene Datenbanksystem gegebenenfalls umprogrammieren in diesem Fall sind erhebliche Mehrkosten für die Beschaffung der Software zu kalkulieren.

- Es wird unternehmensweit ein integriertes Softwareprodukt eingesetzt; dies bedeutet jedoch unter anderem, daß bisher , genutzte Anwendungen vollkommen zu ersetzen sind.

- Das Unternehmen beauftragt die eigene Software-Abteilung, die Anwendungen auf das unternehmensweite Datenbanksystem anzupassen oder die Anwendungen selbst zu programmieren.

Langfristig versuchen die Software-Anbieter, dieses Problem dadurch zu lösen, daß eine einheitliche Datenbank-Abfragesprache in den Anwendungslösungen verwendet wird, die von möglichst vielen Datenbanksystemen umgesetzt werden kann.

Voraussichtlich dürfte dies die Abfragesprache "Structured Query Language" (SQL) sein. Leider ist bis heute die Standardisierung dieser Abfragesprache nicht abgeschlossen, so daß jedes Unternehmen für sich selbst entscheiden muß, welcher der genannten alternativen Wege beschnitten wird.

Anwendungen sind Programme, die der Verarbeitung der gespeicherten Informationen durch den Endanwender dienen. In der Regel wird eine Anwendung auf jeweils einem physikalischen Rechner genutzt.

Ein Programm, das gleichzeitig auf verschiedenen Rechnern abläuft, bezeichnet man mit dem Begriff "verteilte Anwendung".

Obwohl die Techniken der "verteilten Anwendungen" ausgereift sind, kommen sie in der Praxis nicht so häufig vor.

Aus wirtschaftlichen Gründen sollten die Anwendungen je nach Bedarf auf die Ressourcen der genannten Ebenen verteilt werden. So ist es zum Beispiel unsinnig, ein Programm, das nur ein Benutzer einsetzt, auf einem Host-Rechner zu implementieren. Die Kosten der CPU-Zeit des Mainframes sind im Vergleich zu den Kosten der CPU-Zeit eines Arbeitsplatz-Rechners unverhältnismäßig hoch.

Wie schon angesprochen, ist es für eine integrative Informationsverarbeitung wichtig, daß die Daten strikt von den Anwendungen getrennt werden. Zwischen die Daten und Anwendungen wird eine Programmierschnittstelle (beziehungsweise Abfragesprache) "geschaltet", die einen einheitlichen Zugriff aus allen Anwendungen auf das Datenbank-Management-System (DBMS) ermöglicht. Das DBMS nimmt die Anfragen aus den Anwendungen entgegen und verwaltet die Zugriffe auf die Datenbasis. Sie kann auf verschiedenen Rechnern vorgehalten werden. Dem DBMS kommt also eine zentrale Rolle zu, da seine Leistungsfähigkeit das Antwortzeitverhalten und das Beibehalten eines konsistenten Datenbestandes in erheblichem Maße bestimmt.

Der konzeptionelle Gedanke der integrierten Informationsverarbeitung beinhaltet Einheitlichkeit bei der Benutzeroberfläche für alle Anwendungen, der Programmierschnittstelle zwischen den Anwendungen und dem Datenbank-Management-System, dem Data-Dictionary, in dem die unternehmensweiten Daten eindeutig definiert sind, und eine Datenbasis, die unter Umständen auf verschiedenen Rechnern vorgehalten werden kann. Die Zugriffe auf die Daten müssen für alle Anwendungen durch das Datenbank-Management-System verwaltet werden (Abbildung 2).

Der Zugriff ist transparent

Das DBMS muß so leistungsfähig sein, daß es selbständig erkennt, auf welchem Rechner die angefragten Daten zu finden sind. Mit anderen Worten: Die Anwendungen selbst kennen nicht den Speicherort der Daten. Für sie ist der Zugriff transparent; das DBMS holt die Daten von dem Rechner, auf denen sie physikalisch gespeichert worden sind.

Damit das Rechnernetz nicht unnötig belastet wird, sollten die Daten auf dem Rechner liegen, auf denen sie am häufigsten benutzt werden.

Um die in der Abbildung 2 gezeigte Form der integrierten Informationsverarbeitung zu erhalten, gehen Unternehmen häufig dazu über, integrierte Anwendungslösungen eines Software-Anbieters einzusetzen. Fraglich bleibt jedoch, ob dieser Weg zu dem erwarteten Erfolg führt.

Die in diesen "integrierten Paketen" vorgegebene Verarbeitungsorganisation erfordert in der Regel eine starke Modifikation oft jahrzehntelang gewachsener Organisationsstrukturen in den Unternehmen. Das führt zu den bekannten Akzeptanzproblemen bei den Mitarbeitern, die versuchen werden, den Einsatz der neuen Software soweit möglich zu umgehen.

Es soll mit diesen Bemerkungen nicht von dem Einsatz "integrierter Lösungen" abgeraten, sondern lediglich auf die zu erwartenden Schwierigkeiten hingewiesen werden.

Nach der Darstellung der einzelnen Bausteine beziehungsweise Komponenten eines Informationssystems, können sie den vier Ebenen Unternehmens-, Betriebsstätten-, Arbeitsgruppen- oder Arbeitsplatz-weite Dienste je nach Aufgabengebiet zugeordnet werden.

So ergibt sich zum Beispiel die in Abbildung 3 dargestellte Konfiguration für ein verteiltes Informationssystem mit verteilter Datenbasis und zentraler Datenverwaltung. Die Anwendungen sollen in der Ebene positioniert sein, in der sie benötigt werden.

Die aufgeführte Konfiguration soll lediglich als Beispiel dienen. Andere Konstruktionen, die spezifische Gegebenheiten von Unternehmen berücksichtigen, sind durchaus denkbar. So könnte die dargestellte Auswahl von kleinen Mehrplatz-Systemen der Ebene 3 auch durch die Wahl von Servern für kleinere Netzwerke der Arbeitsplatz-Systeme in der Ebene 4 ausgetauscht werden.

Eine Konstruktion, wie sie die Abbildung 3 zeigt, stellt die Schnittstellen zwischen den verschiedenen Modulen einer Ebene und gleichen Modulen verschiedener Ebenen dar. Im Aufgabengebiet der Systemanalytiker und der Planung liegt es nun, Produkte auszuwählen, die in der konstruierten Informationsarchitektur die ihnen zugewiesenen Aufgaben erfüllen. Wichtig ist, daß die Schnittstellen zwischen den Modulen eindeutig definiert sind.

So können zum Beispiel auf den vier Ebenen durchaus unterschiedliche Datenbanksysteme eingesetzt werden, wenn die Möglichkeit besteht, daß die von ihnen verwalteten Daten unter einer zentralen Verwaltung auf dem Host-Rechner möglich ist.

Mit dem hier dargestellten Beispiel dürfte die Vorgehensweise zur Konzeption von Informationssystemen deutlicht geworden sein.

Auch komplexe Systeme lassen sich auf diese Art und Weise übersichtlich konstruieren.