MIDDLEWARE

Middleware ist Teil einer umfassenden SW-Infrastruktur

20.08.1993

Einfache Bedienbarkeit fuer den Anwender und hohe Flexibilitaet fuer die DV-Abteilung gehoeren fuer Ruediger Reinecke* zu den Hauptvorteilen, die sich aus dem Einsatz von Middleware-Techniken ergeben. Ihr groesster Vorzug ist jedoch, dass sie den Anwenderunternehmen als integrierende Schicht zwischen Betriebssystem und Anwendung mehr Entscheidungsfreiraum bei der unerlaessliche Suche nach einer umfassenden Software-Infrastruktur verschaffen.

Die moderne Informationsverarbeitung stellt den Benutzer in den Mittelpunkt. Seine Arbeitsplatz-Systeme (PC, programmierbare Workstation oder X-Terminal) geben dem Sachbearbeiter in der Fachabteilung mehr Freiheit bei der Gestaltung seines Arbeitsplatzes, viele neue Funktionen und somit mehr Verantwortung als frueher am nicht-programmierbaren Terminal.

Gerade wegen der gewachsenen Transparenz nehmen die informatiktechnischen Kenntnisse nicht mehr so rasch zu wie bisher. Schliesslich soll der Mitarbeiter fuer die betrieblichen Prozesse taetig werden und nicht als Informatikguru. Das setzt aber voraus, dass die technischen Einzelfunktionen der informationsverarbeitenden Systeme zu hoeherwertigen Diensten zusammengefasst werden, die der Benutzer leicht einsetzen kann.

Ziel ist es, die Anwendung fuer den Benutzer moeglichst einfach und angenehm zu gestalten, auch wenn sich dahinter eine umfangreiche und technisch komplexe Funktiolitaet verbirgt. So koennte ein Druckservice folgendes enthalten:

- Formatieren des Dokuments,

- Ueberpruefen der Vertraeglichkeit von Steuerzeichen, Drucker und Zeichensatz,

- geeignete Korrektur,

- Umsetzen der logischen Adresse in eine physische im Netz,

- Pruefen der Laenge der Warteschlange und gegebenenfalls Warnung an den Benutzer,

- Ueberwachen und gegebenenfalls Wiederholen des Druckvorgangs,

- unter Umstaenden Stoerungsmeldung an den Betreuer des Druckers sowie

- Fertigmeldung an den Benutzer.

Erst eine derart vollstaendige Leistung ist benutzerfreundlich und erhoeht die Produktivitaet. Diese logische Struktur aus Benutzern und Diensten werden im allgemeinen auf der Systemebene in eine Client-Server-Struktur umgesetzt. Dort ist es nicht immer sinnvoll, die Dienste im Betriebssystem zu verankern. Die technischen Implementationsformen vieler Informationssysteme fuehren vor allem in Client-Server-Umgebungen zum Einsatz von sogenannten Diensten. Verteilte Systeme enthalten oft heterogene Komponenten bei Hardware und Software, zum Beispiel Rechner mit unterschiedlichen Architekturen und Betriebssystemen sowie unterschiedliche Datenbanksysteme.

Zudem erhoeht die Verteilung der Daten und Programme im Netz die Komplexitaet des Gesamtsystems erheblich. Deshalb sollten auch die Anwendungen von den Befehlen der Betriebssysteme und anderer Softwarekomponenten getrennt und nur noch Dienste verwendet werden, die in einer eigenen Schicht zwischen Betriebssystem und Anwendung liegen. Diese Schichtentechnik erleichtert das Portieren von Anwendungen und verbessert die Produktivitaet der Anwendungsentwicklung.

Wird dieses Dienstkonzept umfassend fuer Benutzer und Anwendungen eingefuehrt, erhaelt man eine neue Schicht ueber den Betriebssystemen und unter den Anwendungen: die Middleware.

Middleware ermoeglicht Integration und Interoperabilitaet von Anwendungen und Diensten in einem verteilten Informationssystem. Sie baut auf Betriebssystemen auf und enthaelt Kommunikations-, Datei- und Datenbanksysteme, Transaktions-, System- und Netz- Manager etc. Sie bietet allen Clients, also den Benutzern, den Anwendungen und ihren Entwicklern, vielfaeltige Dienste, die durch spezielle Server-Programme realisiert sind. Der enge Zusammenhang zwischen Middleware und Client-Server ist offensichtlich. Middleware steht fuer die Produkte, die die Software-Infrastruktur implementieren.

Software-Infrastruktur bezeichnet das umfassende Konzept fuer den inneren Aufbau eines konkreten Informationssystems, vor allem die Instanzen der einzelnen Funktionsgruppen mit ihren Diensten, Schnittstellen und Protokollen. Sie sollte die internationalen Standards fuer offene Systeme beruecksichtigen und modular aufgebaut sein, so dass das Informationssystem um weitere Instanzen, Programme, Daten und Geraete erweitert werden kann. Der Zweck der Infrastruktur ist die Integration und Koordination aller Programme, Daten, Systeme und Komponenten, die gemeinsam die Dienste erbringen, entsprechend einem einheitlichen Konzept.

Middleware bietet ueberall im gesamten vernetzten Informationssystem dieselben Dienste an. Dadurch finden die Benutzer ihre Anwendungen mit demselben Erscheinungsbild und derselben Funktionalitaet an allen Arbeitsplaetzen; ihre Kenntnisse sind ueber die Grenzen der Betriebssysteme hinweg uebertragbar.

Der groesste Nutzen der Middleware und ihrer Dienste liegt in den fuer die Anwender unsichtbaren (im Fachjargon: transparenten) Funktionen. Die Implementierung aller Server bleibt verborgen, nur ihr Ein- und Ausgabe-Verhalten ist jedermann offensichtlich.

Auf diese Weise wird das Prinzip des Information-Hiding umgesetzt, wie es die Regeln des Software-Engineering verlangen. Zudem erhoeht sich die Flexibilitaet bei der Wahl und im Austausch von Implementierungen.

Die Heterogenitaet der Systemsoftware, insbesondere der verschiedenen Betriebssysteme, wird unsichtbar. So verbergen Middleware-Komponenten wie das Distributed Computing Environment (DCE) von der OSF den Standort der Server im Netz - sie sind fuer den Benutzer transparent, nicht aber fuer das Netz.

Die Vorteile fuer

das Unternehmen

Diese Technik erlaubt eine voellig neue Freiheit bei der Gestaltung der physischen Seite des Informationssystems. Die Verteilung und die Heterogenitaet der Ressourcen bleiben dem Benutzer verborgen. Das ganze vernetzte System erscheint ihm wie ein einziges lokales System an seinem Arbeitsplatz.

Die Vorteile, die ein Anwenderunternehmen aus einer geeigneten Middleware zieht, liegen in den Bereichen Integration, Flexibilitaet und Sicherheit. So wird die Integration von heterogenen Inselloesungen erleichtert, weil ihre Leistungen, zum Beispiel die Verwaltung spezieller Daten, zu Betriebssystem- unabhaengigen Diensten erweitert werden und damit im ganzen Netz zur Verfuegung stehen.

Auf aehnliche Weise koennen auch die bisherigen Anwendungen mit ihren Systemplattformen in das verteilte Informationssystem eingebunden werden. Die Werte, die in ihnen und in den Kenntnissen der Benutzer im Umgang mit ihnen stecken, bleiben erhalten. Die Kommunikationsdienste der Middleware erlauben die Interoperabilitaet der verschiedenen Anwendungen auch ueber die heterogenen Kommunikationsprotokolle hinweg. So laesst sich mit einem IBM Multiprotocol Transport Network eine LU6.2-Verbindung ueber TCP/IP-Netze und eine Verbindung zwischen RPC-Sockets ueber SNA-Netze aufbauen.

Die damit verbundenen Vorteile liegen auf der Hand:

- Der flexible Einsatz der Mitarbeiter, die Portierbarkeit der Anwendungen und eine groessere Auswahl von Hard- und Softwarekomponenten machen das Unternehmen beweglicher.

- Auch im Hinblick auf eine Restrukturierung der betrieblichen Informationsverarbeitung, zum Beispiel gemaess dem Konzept des Rightsizings, ergeben sich durch die Middleware neue Optionen.

- Die Struktur des ganzen Informationssystems kann leichter einer geaenderten Unternehmensorganisation angepasst werden.

- Die Produktivitaet der Benutzer steigt, weil sie sich mit weniger Details herumschlagen muessen.

- Die Integration der verschiedenen Datenquellen schafft einen transparenten Zugang zu allen Daten unabhaengig vom Ort und von der Art ihrer Speicherung.

- Schliesslich gibt es viele moderne, grafisch orientierte Werkzeuge, mit denen die Benutzer viele Datenselektionen und Auswertungen selbst erledigen koennen, fuer die sie frueher die Hilfe der DV-Abteilung benoetigten.

Hinsichtlich der Sicherheit bietet die Middleware weitere Vorteile fuer ein Unternehmen. Traditionell bieten Grossrechner- basierte Informationssysteme ein besonders hohes Mass an Sicherheit: Schutz vor Diebstahl

und den Elementargewalten, Vorsorge durch Backup-Rechenzentren und entfernte Lagerung der Sicherheitskopien, Schutz vor Missbrauch durch aufwendige Zugangskontrollen des Netzes und der Rechner sowie schliesslich Wahrung der Konsistenz und Zuverlaessigkeit der Daten. Hinzu kommt das Bedienungsmonopol des ausgebildeten Personals der Rechenzentren.

In einer verteilten Umgebung ist es nicht moeglich, diese Sicherheit in derselben Weise fuer alle eingebundenen Rechner zu realisieren. Deshalb muss das System aufgespalten werden in einen strengen Sicherheitsbereich und in einen weniger sicheren, aber flexiblen Eingangsbereich, zu dem im allgemeinen alle Arbeitsplatz-Systeme gehoeren.

Der Sicherheitsbereich basiert auf der Infrastruktur des Rechenzentrums und bietet Dienste an fuer die Verwaltung von schutzbeduerftigen Daten, die Datensicherung und -archivierung sowie die fuer das Unternehmen entscheidenden Geschaeftsprozesse. Der Schutz und die logische Konsistenz aller Daten im Sicherheitsbereich werden dabei gewaehrleistet.

Der Eingangsbereich unterstuetzt die Kreativitaet und Flexibilitaet der Benutzer an ihren Arbeitsplaetzen mitsamt den lokalen Servern, indem nur wenige Sicherheitsmassnahmen durchgefuehrt werden und viel Freiraum herrscht. Die Grenze zwischen den beiden Bereichen, von einigen Autoren als Trust Line bezeichnet, und die genaue Festlegung der schutzbeduerftigen Daten wird in der Software- Infrastruktur des Unternehmens festgelegt.

Die Aufgabe der Middleware in einer solchen Architektur liegt darin, die geeigneten Dienste zu liefern, die beiden Bereiche in der Anwendersicht zu einer DV-Umgebung zu verschmelzen und die Umgehung der Schutzbedingungen zu verhindern. Wichtige Komponenten hierfuer sind Transaktionsmonitore, Autorisierungs- und Authentizitaetspruefungen.

Das Ziel ist eine

flexible Infrastruktur

Die Bedeutung der Software-Infrastruktur und damit der Middleware fuer jedes Unternehmen wird deutlich, wenn man die Zeitraeume betrachtet, fuer die die Festlegungen wirksam sind. Waehrend der Lebenszyklus der Hardware bei drei bis sechs Jahren liegt, kommen die grundlegenden Anwendungen und die Systemsoftware auf etwa 15 Jahre. Die Software-Architekturen mit ihren Schnittstellen wirken sich schliesslich mehr als 20 Jahre lang aus.

Die Festlegung einer solchen Infrastruktur ist eine fundamentale Entscheidung fuer jedes Unternehmen. Die beiden wichtigsten Fragen dabei lauten: Welchen Bauprinzipien soll der Aufbau der Informationssysteme, die sehr oft verteilt und heterogen sind, folgen? Welche

Komponenten und Dienste muessen Teil der Infrastruktur sein, und welche koennen Teil der einzelnen Anwendungen bleiben?

Kaum ein Unternehmen wird seine Softwarestrategie vollstaendig selbst entwickeln. Drei Arten von Partnern bieten sich an: unabhaengige Standardisierungsgremien und herstelleruebergreifende Konsortien, die einzelnen Softwarehersteller sowie erfahrene Firmen derselben Branche.

Als Grundlage fuer eine unternehmensweite Planung haben sich die internationalen Standards fuer offene Systeme und die vielfaeltigen Festlegungen von X/Open als sehr sinnvoll erwiesen. Zu nennen waere hier vor allem die Distributed Computing Structure (XDCS).

Im Middleware-Bereich hat sich das Distributed Computing Environment (DCE) fuer die Entwicklung und den Betrieb von verteilten Anwendungen als herstelleruebergreifender Industriestandard herauskristallisiert. Aehnliches gilt fuer das zukuenftige Distributed Management Environment (DME), das dem System-Management in verteilten Umgebungen dient und wie DCE von dem Industriekonsortium OSF stammt.

Die Architekturen der meisten Softwarehersteller entsprechen mehr und mehr solchen internationalen Standards, so dass die Offenheit der Systeme zunimmt. Fuer die Zukunft steht zu erwarten, dass branchenspezifische Software-Architekturen an Bedeutung gewinnen. Auch sie sind offene, publizierte Architekturen und allen Anwendern verfuegbar. Sie bestehen aus einer Funktionsarchitektur, einem unternehmensweiten Datenmodell, einer einheitlichen Architektur der Geschaeftsprozesse, generischen Schnittstellen und den Bausteinen der Software-Infrastruktur.

Die Entwicklung von Middleware wird vorangetrieben von herstelleruebergreifenden Aktivitaeten. So haben im Maerz 1993 sechs grosse Hersteller von Unix-Systemen ihre Absicht bekanntgegeben, ein Common Open Software Environment (COSE) auf Basis ihrer jeweiligen Unix-Systeme anzubieten.

COSE behandelt die folgenden Bereiche:

- gemeinsame Benutzerumgebung (Common Desktop Environment),

- gemeinsame Netzzugangsprodukte auf der Basis von DCE,

- Hochleistungs-Grafiksysteme fuer 2D und 3D sowie Bildverarbeitung,

- eine gemeinsame Spezifikation fuer die Multimedia-Technik,

- die Technik der Objektverarbeitung gemaess der gemeinsamen Architektur Common Object Request Broker Architecture (Corba) und schliesslich

- das System-Management.

Abschliessend laesst sich sagen, dass Middleware in einem verteilten Informationssystem fuer ein einheitliches und umfassendes Angebot an Diensten sorgt. Die Vorteile liegen fuer den Anwender in der Transparenz der Heterogenitaet und fuer das Unternehmen in der Integration, Flexibilitaet und Sicherheit. Die Software- Infrastruktur ist der Middleware uebergeordnet. Mit ihr definiert jedes Unternehmen die Architektur seiner Informationsverarbeitung fuer das naechste Jahrzehnt. Als Basis hierfuer sind die internationalen Standards fuer offene Systeme besonders wichtig.

Zwischen

allen Stuehlen

Es gibt viel Arbeit zwischen Betriebssystem und Anwendung. Middleware integriert die Dienste der Informationsverarbeitung fuer Anwender und Anwendungen.

*Dr. Ruediger Reinecke ist im Client-Server-Competence-Center, Stuttgart, der IBM Deutschland Informationssysteme GmbH als leitender Berater fuer offene Systeme taetig.