Componentware / Schritte zu einem neuen Modell für Anwendungen

Componentware-Architektur für Web-fähige Software

20.03.1998

Der Trend ist wohl nicht aufzuhalten: Die Unternehmen müssen viele ihrer Anwendungssysteme, alte ebenso wie neue, in irgendeiner Form mit dem Web verbinden. So sind viele typische Web-Programme durch die Erweiterung bestehender Anwendungen um entsprechende Funktionen entstanden. Die Shopping-Mall "Myworld" von Karstadt etwa ist im Backoffice mit dem erprobten Logistiksystem von Neckermann gekoppelt. Man spricht auch von Web-Enablement für Anwendungen.

Damit sich Anwendungssysteme im Web langfristig und stabil nutzen lassen, sind zwei Aspekte maßgeblich: ihre Architektur, besonders ihre Modularisierung in Form von Komponenten, und die Wahl der richtigen Middleware für die Laufzeitunterstützung.

Die Benutzerinteraktion bisheriger Softwarelösungen war durch die Werkzeuge geprägt, mit denen sie erstellt waren, und durch Eigenarten des Systems. Ein klassischer Fall sind die 3270-Bildschirme mit starren Masken, die Programme auf den Servern bereitstellen. Die User müssen sich dabei an die von den Systemen vorgegebenen Verarbeitungsfolgen halten.

Mit der grafischen Oberfläche kam das Ereignis (engl.: Event) auf. Dieses wird meist über den Mausklick eines Anwenders ausgelöst. Das hat die Systemsteuerung umgekehrt. Das System mußte herausfinden, was der Anwender will und nicht mehr umgekehrt. Das Web und die Browser verstärken diese anwenderzentrierte Form der Systemsteuerung noch.

Ein Ereignis führt in der Regel zum Aufruf einer bestimmten Programmkomponente. Das hört sich einfach an, ist jedoch auf der Server-Seite nicht leicht zu erreichen, denn die Komponenten sind normalerweise Bestandteil größerer Anwendungssysteme und können über Client-Server-Strukturen verteilt sein. Auch rufen sich die einzelnen Komponenten im Rahmen von Transaktionsschritten gegenseitig auf und müssen zum geordneten Ergebnis einer Transaktion und zu einer konsistenten Veränderung in der Datenbank führen. Für diese Software-Architektur wurde der Begriff Componentware geprägt. Die Herausforderung durch die Einführung von Componentware läßt sich aus Sicht der User auch so formulieren: Anwendungssysteme müssen künftig inhalts- beziehungsweise ereignisbezogen funktionieren, nicht mehr system- oder werkzeugbezogen.

Schlüsselfaktor für die Realisierung von Componentware ist die Middleware; das gilt für die Integration von Client-Server-Systemen wie für die Web-Integration. Middleware ist eine Softwareschicht, die über den Netzwerken liegt und den Anwendungen Services zur Verfügung stellt, die eine einfache Nutzung der im Netz verteilten Komponenten ermöglichen. Man spricht deswegen auch von Servern für verteilte Anwendungen (engl.: Distributed Application Server).

Dort, wo früher zum Beispiel die Programme direkte SNA- oder TCP/IP-Verbindungen aufgebaut haben, stehen künftig höherwertige Services der Middleware bereit. Das erspart den Anwendungsentwicklern die Kompliziertheiten des Netzes und gibt ihnen die Chance, sich auf ihre eigentliche Aufgabe zu konzentrieren.

In diesem Segment sind viele große und kleine Hersteller mit Produkten vertreten. Das deutet auf die Wichtigkeit der Middleware hin. Es lassen sich verschiedene Middleware-Klassen unterscheiden:

An erster Stelle wären Object Request Broker (ORB) zu nennen: Funktionsmodule, die die Kommunikation zwischen verteilten Komponenten unterstützen, die gemeinsam eine Anwendung bilden, also bei der Durchführung von Transaktionen voneinander abhängig sind. In diesem Bereich stehen zwei Basistechnologien im Wettbewerb miteinander: COM beziehungsweise DCOM von Microsoft gegen Corba von OMG. Produkte sind zum Beispiel "Objectbroker" von BEA, "Component Broker" von IBM, "Orbix" von Iona, die ORBs von Visigenic und "Entire-X/DCOM" von der Software AG.

Demgegenüber sind Transaktions-Manager verantwortlich für die Steuerung von Verarbeitungsvorgängen bei hoher Benutzerzahl und hohen Performance-Erwartungen. Sie waren bisher hauptsächlich auf Großrechnern für die Steuerung monolithischer Transaktionssysteme verbreitet, stehen zunehmend aber auch für die Steuerung verteilter Systeme zur Verfügung. Sie sind funktional komplementär zu den ORBs zu sehen. Angeboten werden "Tuxedo" von BEA, "Encina" und "CICS" von IBM und Microsofts "Transaction Server".

Drittens gibt es Message Oriented Middleware (MOM). Sie ist verantwortlich für die Kommunikation zwischen unabhängigen Komponenten. Eine Anwendung verschickt eine Nachricht, ohne eine sofortige Antwort zu erwarten. Beispiele: "Message-Q" von BEA, "MQ-Series" von IBM, "MS Message Qeue" und der Message Subset des Entire-X-Brokers von Software AG.

Die vierte Klasse läßt sich unter dem Begriff "Publish and Subscribe" zusammenfassen. Der Sinn von Komponenten ist die Wiederverwendung, sei es innerhalb eines Unternehmens durch verschiedene Software-Entwickler oder auch im freien Markt durch Verkauf. Dazu müssen Komponenten mit ihren Leistungsmerkmalen beschrieben und in Verzeichnissen recherchierbar gemacht werden (Publish). Andererseits müssen Entwickler, die eine Komponente mit einem gewünschten Funktionsumfang suchen, diese - wenn verfügbar - bestellen können (Subscribe). Erhältlich sind hier "Tibco", "Vitria", "Open Horizon", "Active Software".

Natürlich muß die Middleware auch Zugang zu den Datenbanken schaffen. Hier kommen zusätzliche Servicekomponenten zum Einsatz, die SQL-, ODBC-, JDBC- oder spezielle Datenbank-Schnittstellen bieten.

Der Internet-Trend verlangt Web-Enablement. Das bedeutet, daß neue und bestehende Anwendungen in der Lage sein müssen, über das Netz zu kommunizieren. Das Web wird langfristig ein maßgebliches Kommunikationsmedium für alle Anwendungssysteme werden. Componentware liefert dafür die geeignete Anwendungsarchitektur. Sie wird ergänzt um die Middleware, die bereits die Verbreitung spezieller Komponententechnologien im Markt gefördert hat, nämlich die ActiveX-Komponenten im Windows-Umfeld und die Java-Applets.

Im Web wird es, wie im klassischen Client-Server-Schema, verschiedene logische Funktionsebenen geben, auch "tiers" genannt. Dabei geht es im Umfeld kaufmännischer Anwendungen immer um den Aufruf von Transaktionen, die bisher im Rahmen monolithischer Systeme auf den Servern abgewickelt wurden. Man bezeichnet dies auch als Online Transaction Processing (OLTP).

Anwender, die mit Web-Technologie auf der Client-Seite arbeiten, müssen mit den Servern über passende Schnittstellen verbunden sein. Das setzt heute noch die Kopplung mit traditionellen Technologien auf der Server-Seite voraus, besonders wenn die Server aus Großrechnern bestehen. In Zukunft wird mit hoher Wahrscheinlichkeit die gesamte Anwendungslandschaft auf den Servern mit Web-orientierter Technologie verknüpft. Das wird zu einer Vollendung der Componentware-Architektur führen, aber noch viele Jahre dauern. Deswegen wird es für das Web-Enablement eine Reihe von Stufen geben:

Zunächst beherrscht Zwei-Ebenen-OLTP die Nutzung von Browsern auf den PCs und deren direkte Anbindung an einen Anwendungs-Server, etwa einen Großrechner. Browser fungieren hier als Steuerungskomponente für die grafischen Oberflächen. Zusätzliche Freiheitsgrade für die Nutzung neuer Anwendungen erschließen sich dabei nicht. Aus diesem Grund erhält diese Variante das Prädikat "Web like".

"Web-like"-Server auch im Großrechnerbereich

Demgegenüber ist beim Drei-Ebenen-OLTP ein Web-Server zwischengeschaltet. Er trennt die Web-Welt auf der dem Anwender zugewandten Front-end-Seite von den Anwendungs-Servern auf der Systemseite (Back-end). Er setzt dementsprechend die Protokolle um und ruft die Transaktionen im Back-end auf. Prädikat: "Web like".

Die vollkommene Form der Web-Anwendungen ist dann erreicht, wenn die Server selbst Web-Technologie bieten. Der Weg dahin ist vorhersehbar, denn die dafür notwendigen Technologien werden auch auf Großrechnern verfügbar sein. In diesem N-Ebenen-OLTP-Modell lassen sich Komponenten mit einem hohen Freiheitsgrad über die Plattformen, die die Server und Clients tragen, verteilen. Aus solchen auch käuflich erhältlichen Modulen können User ihre Anwendungen zusammenstellen.

Das Web wird den Übergang von monolithischen Anwendungssystemen zur Componentware-Architektur kräftig stimulieren. Wiederverwendbare Komponenten werden das wichtigste Element zukünftiger Anwendungssysteme sein. Die Web-Technologie hat bereits dazu geführt, daß Anwendungssysteme für interne und externe Benutzer beliebig erreichbar sein können. Dazu müssen Component- und Middleware zu einer systematischen Gesamtarchitektur für Anwendungen auf Clients und Servern unter Einbeziehung des Web ergänzt werden.

Auch wenn heute noch nicht alle Softwarebausteine für die Realisierung dieses Ziels verfügbar sind, sollten die IT-Verantwortlichen in den Firmen mit der systematischen Einführung von Componentware beginnen und Erfahrungen sammeln, denn die Realisierung von Electronic Commerce und die Umstellung von funktions- auf inhaltsgetriebene Anwendungen wird über den zukünftigen Erfolg ihrer Unternehmen mitentscheiden.

Dr. Wolfgang Martin ist Vice-President der Meta Group in München.