Stufen und Konzepte der verteilten Datenverarbeitung Offene Plattformen garantieren das breiteste Software-Angebot

08.04.1994

Der Uebergang von Master-Slave-Loesungen zur verteilten Datenverarbeitung laesst sich schrittweise realisieren. Gebhard Tanner* und Gabriel Thorma* stellen verschiedene Client-Server- Architekturen vor und zeigen Migrationswege auf.

Die DV gilt heute als Innovationsverhinderer. Ueber Jahre hinweg aufgebaute Systeme sind allein nicht in der Lage, die notwendigen Aenderungen der Geschaeftsprozesse zu unterstuetzen. Nun erwarten die Anwender von den IT-Anbietern Loesungen, um die DV-Strukturen den Erfordernissen anzupassen: Programme und Daten sollen in einem Netzverbund flexibel angeordnet werden und gleichzeitig im Gesamtsystem verfuegbar sein. Eine offene Client-Server-Architektur birgt das Potential in sich, diese Anforderung langfristig zu erfuellen.

Die Client-Server-Architektur ist definiert als eine Rollenverteilung im Netz, bei der der Client eine Dienstleistung anfordert, die von einem Server erbracht wird. Die Klassifizierung des Clients und des Servers ist auf den ersten Blick ein Softwarethema. Die Rollenbegriffe werden jedoch auch auf die Hardware uebertragen und an einem Client-Server-Verbund beteiligte Rechner als Client- und Server-Systeme bezeichnet.

Voraussetzung fuer das Client-Server-Computing in einer Multivendor-Umgebung ist die optimale Interoperabilitaet zwischen den Partnersystemen. Das setzt offene Architekturen voraus, die sich durch standardkonforme Implementierungen bei Schnittstellen und Funktionen auszeichnen. Standardkonform bedeutet, dass verabschiedete Normen der internationalen Standardisierungsgremien sowie akzeptierte oder sich abzeichnende Industriestandards beachtet werden.

Basis ist eine modulare Anwendungsarchitektur

Client-Server-Konzepte setzen eine konsequent modular aufgebaute Anwendungsarchitektur voraus. Die Anwendung muss sich in einem Netz auf mehrere Rechnersysteme aufteilen lassen: nach optimaler Leistung, nach maximaler Verfuegbarkeit oder nach minimaler Antwortzeit. Die wesentlichsten Varianten sind in dem Client- Server-Verteilungsmodell definiert. Man unterscheidet:

- entfernte Praesentation,

- verteilte Anwendung,

- entfernte Datenhaltung sowie

- verteilte Datenhaltung.

Auf diesen Architekturprinzipien beruht eine Reihe von verteilten Services, die den Anwendungen ueber Dialog- oder Programm- Schnittstellen zur Verfuegung stehen. Dazu zaehlen die verteilten Systemservices wie Spool, Backup und Lizenz-Management, aber auch die verteilten Anwendungsservices wie Electronic Mail, EDI (Electronic Data Interchange) und Workflow-Management. Eine Anwendung arbeitet somit auch dann im Client-Server-Betrieb, wenn sie Services nutzt, die gemaess dem Client-Server-Prinzip konzipiert wurden.

Bei Anwendungen mit grafischer Oberflaeche fliesst ein bedeutender Teil der Rechnerleistung in die Aufbereitung der Praesentation ein. Durch die Auslagerung des Praesentationsteils auf ein Client-System wird der zentrale Rechner frei fuer weitere Server-Aufgaben. Ueber eine einheitliche Look-and-feel-Benutzer-Schnittstelle greift der Anwender auf lokale und entfernte Anwendungen zu. Der Nutzen dieser Client-Server-Variante ist die Erhoehung der Produktivitaet durch einen grafischen Arbeitsplatz bei gleichzeitiger Entlastung des Anwendungs-Servers.

Diese Variante stellt im allgemeinen den ersten Schritt bei der Einfuehrung von Client-Server-Architekturen dar. Sie eignet sich besonders, um Host-Loesungen in eine Client-Server-Architektur zu integrieren. Der Anwender wird dabei durch Tools unterstuetzt. Die zentralen Anwendungen koennen entweder unveraendert bleiben oder muessen nur geringfuegig angepasst werden. Die zentrale Aufbereitung fuer die alphanumerischen Bildschirme wird um eine dezentrale Aufbereitung fuer grafische Oberflaechen ergaenzt. Dadurch erhoeht sich bei herkoemmlichen Host-Anwendungen die ergonomische Qualitaet.

Die Aufteilung der betriebswirtschaftlichen Anwendungen auf mehrere Systeme ermoeglicht eine Optimierung der Rechnerkapazitaeten. Jedem Computer im Netz wird die Aufgabe zugeteilt, fuer deren Loesung er sich am besten eignet. Diese Architekturvariante erfordert bei der Konzep- tion grosse Sorgfalt. Es ist streng darauf zu achten, dass die einzelnen Funktionsteile weitestgehend autonom ablauffaehig sind und nur Daten uebergeben werden, die fuer einen Auftrag tatsaechlich benoetigt werden. Wird hier nicht sauber gearbeitet, fuehrt die Anwendungsaufteilung zu erhoehtem Datenaustausch und letztlich zu inperformanten Loesungen.

Mehrere Datenbanken als eine logische Einheit

Bei einem korrekten Anwendungsdesign bringt die Aufteilung eine Reihe von Vorteilen. Ergaenzt man etwa den auf einen PC ausgelagerten Praesentationsteil einer Anwendung um Plausibilitaetspruefungen und weitere lokale Vorverarbeitungen, kann der Nachrichtenverkehr mit den zentralen Host-Anwendungen reduziert werden. Dies entlastet das Netz sowie den zentralen Host und optimiert das Antwortzeitverhalten am Arbeitsplatz, da der Grossteil des Dialogs lokal abgehandelt wird.

Der User kann sich fuer seine lokale PC-Anwendung Daten aus einer zentralen Datenbank ueber die entfernte Datenhaltung verschaffen. Allerdings erfolgt jeder Datenbankzugriff ueber das Netz, was bei komplexen Operationen zu einer hohen Netzbelastung fuehren kann. In diesem Fall ist es nuetzlich, die Gesamtaufgabe auf eine lokale PC- Anwendung und eine zentrale Datenbankanwendung zu verteilen, wobei jeweils die lokale PC-Applikation die Gesamtabfrage an die Datenbank uebergibt. Die intensive Kommunikation zwischen Datenbank und Anwendung laeuft dann innerhalb des zentralen Datenbankrechners ab. Das lokale System erhaelt lediglich das endgueltige Ergebnis. Dieses Konzept entlastet das Netz und fuehrt zu einer wirtschaftlicheren Auslastung der Rechner.

Verteilte Anwendungen werden auch dazu verwendet, Datenbestaende in Datenbanken unterschiedlichen Typs zu einer logischen Einheit zusammenzufuehren. Dies ist von Bedeutung, wenn der Uebergang auf eine einheitliche verteilte Datenbank unwirtschaftlich ist.

Auf den Plattformen von Siemens-Nixdorf kann der Benutzer seine Anwendungen, abhaengig von Anforderung und Systemumfeld, verteilen mit

- UTM (Universeller Transaktionsmonitor) bei einer transaktionsgesicherten verteilten Kommunikation,

- Transit bei verteilter Verarbeitung im SNA-Umfeld,

- UPIC/CPI-C, wenn die Konversation gleichberechtigt erfolgt, und mit

- OSF/DCE (Open Software Foundation/Distributed Computing Environment) im auftragsorientierten Client-Server-Verbund.

Die Auftrags-Schnittstelle Remote Procedure Call (RPC) des DCE ermoeglicht dem Programmierer, die Anwendungen zu modularisieren und aufzuteilen. Nachdem alle bedeutenden IT-Anbieter ihr Commitment zu OSF/DCE gegeben haben, hat der Anwender die Moeglichkeit, damit in Multivendor-Umgebungen einen Client-Server- Verbund zu realisieren.

Bei der entfernten Datenhaltung arbeitet die Client-Anwendung mit dem Datenbestand eines nicht lokal vorhandenen Datenhaltungssystems. Ueber eine einheitliche SQL-Schnittstelle greift der Benutzer von seiner lokalen Anwendung lesend und schreibend auf eine oder mehrere entfernte Datenbanken zu. Bei den meisten Anwendern liegen die Unternehmensdaten in zentralen Datenbanken eines Host-Systems wie BS2000 oder MVS. Diesen Datenbestand moechte der Anwender mit den flexiblen Werkzeugen der PCs und Workstations verarbeiten. Die entfernte Datenhaltung stellt hier wie die entfernte Praesentation eine sinnvolle Verknuepfung dar. Die Verantwortung fuer Datenkonsistenz und Datensicherung liegt dabei beim zentralen Datenbank-Server.

In einem weiteren Konzept sind die Dateisysteme mehrerer Rechner in einem LAN zu einem logischen Dateisystem verbunden, das fuer den Benutzer und die Anwendungen transparent ist. Der Datenbestand wird flexibel verteilt, um eine geringere Datenredundanz im Netz zu erreichen. Sicherheitsrelevante Daten sollten auf ausgewaehlte Server konzentriert werden, auf die sich dann die Datensicherung beschraenkt.

Aus der Unix-Welt kennt man zu diesem Zweck das Network File- System (NFS). Mittelfristig wird es durch das verteilte File- System der OSF, das DCE/DFS (DCE/Distributed File-System), aufwaertskompatibel ersetzt. In PC-LANs haben sich mit dem LAN Manager und Novell Netware zwei Netz-Betriebssysteme etabliert, die neben dem File- und Printer-Sharing auch Sicherheitsfunktionen und Leistungen fuer die Netzverwaltung bieten.

Datenkonsistenz auch in verteilten Datenbanken

Verteilte Datenbanken sind komplexer als ein verteiltes Dateisystem. Sie ermoeglichen dem Anwender, die Datenorganisation auf die Organisationstruktur von Zentrale und Filialen auszurichten. Dabei werden die Daten in den Rechnern abgelegt, wo sie vorrangig benoetigt werden. Verteilte Datenbanksysteme realisieren die netzweit gesicherte Datenbanktransaktion und sichern deshalb den konsistenten Datenbestand im Netz. Den Anwendungen bieten sie von jedem Punkt im Netz aus den transparenten Zugriff auf den gesamten Datenbestand.

Bei verteilten Datenbanken fuehrt der in SQL formulierte Auftrag an die lokale Datenbank zu Datenbankzugriffen auf eine beziehungsweise mehrere entfernte Datenbanken.

Vernetzte Systeme bieten dem Anwender eine Vielzahl von wertvollen Dienstleistungen. Dabei ist es nicht notwendig, einen lokalen Service bereitszustellen. Services werden auf wenige leistungsfaehige Rechner ausgelagert (zum Beispiel im Backup- Verfahren) oder auf viele Rechner verteilt (etwa durch verteilten Spool) und stehen trotzdem jedem Arbeitsplatz zur Verfuegung. Auf diese Weise lassen sich teure Peripheriegeraete wie Hochleistungsdrucker, Datensicherungssysteme oder Archivierungssysteme optimiert einsetzen, und die Wahl des Geraetestandorts kann unabhaengig erfolgen.

Moechte der Anwender einen verteilten Service nutzen, genuegt es, den Dienst ueber lokale Dialog- oder Programm-Schnittstellen aufzurufen.

Basieren verteilte Services auf standardisierten Schnittstellen wie der elektronische Rechnungsaustausch EDI auf X.400, so sind unternehmensuebergreifende Loesungen moeglich.

Die komplette Verlagerung der Daten und Anwendungen von den zentralen Hosts auf PCs und lokale Server hat nur in den seltensten Faellen Vorteile. Der Anwender handelt sich damit eine drastische Zunahme der Netzkomplexitaet und einen damit verbundenen hoeheren Administrationsaufwand ein. Zudem lassen sich Datenkonsistenz und Sicherheitsstandards nur mit viel Muehe erreichen. Sinnvoller ist es, wenn der Host weiterhin die klassischen Anwendungen sowie die wertvollen Unternehmensdaten beherbergt. Neue Loesungen sollte der Anwender von vornherein als verteilte Anwendung konzipieren und realisieren. Dann kann er schrittweise in die Client-Server-Verarbeitung ueberwechseln.

Fuer die Beschaffung von PCs und lokalen Servern sind hohe Anfangsinvestitionen notwendig, die sich aber spaetestens nach dem naechsten Abschreibungsintervall auszahlen. Dann steht naemlich der Markt der offenen Systeme offen. Geraete unterschiedlicher Hersteller lassen sich nach dem besten Preis-Leistungs-Verhaeltnis auswaehlen. Von diesem Vorgehen bleibt die Anwendungssoftware weitestgehend unberuehrt, so dass der Investitionsschutz gewaehrleistet ist. Die Independent Software Vendors (ISVs) werden kuenftig vorrangig fuer die Plattformen entwickeln, die ihnen den umfangreichsten Kundenkreis sichern. Das sind heute die offenen Systeme.