Componentware / Ohne konsequente Neuorientierung gibt es keine echte Lösung

Objektorientierung, Componentware und Internet in der Prozeßvisualisierung

23.01.1998

Objektorientierung ist zum einen eine Softwaretechnologie, zum anderen eine Methode, die abstrakten Elemente eines Programmsystems an der Benutzeroberfläche "begreifbar" zu machen. So erleichtert eine objektorientierte Benutzeroberfläche die Arbeit mit einem Programm vor allem dadurch, daß real existierende Objekte wie Ventile, Pumpen oder Schalter auf der Benutzeroberfläche als solche erscheinen. Systeme mit einer objektorientierten Oberfläche sind normalerweise besser geeignet, real existierende Konstrukte abzubilden, und entlasten deshalb den Benutzer von wenig ergonomischen Transformationsschritten, wie sie in der Vergangenheit üblich waren.

Es kann deshalb nicht verwundern, daß zur Reduzierung von Projektierungsaufwänden neuerdings nur noch objektorientierte Ansätze verfolgt werden. Prozeßvariablen, Betriebsmittel, Aggregate, Anlagenteile etc. sollen bei der Projektierung eines Leitsystems exakt so aufgebaut werden, wie es in der Realität der Fall sein wird. Damit einher geht zumeist die Fähigkeit, die genannten Einheiten zunächst als Typen zu beschreiben und erst in einer zweiten Phase von diesen Typen konkrete Exemplare zu erzeugen.

So läßt sich eine komplette Armatur, bestehend aus mehreren Ventilen, Leitungsstücken und Pumpen, an verschiedenen Stellen des Prozesses verwenden. Die Beschleunigung der Projektierungsphase liegt auf der Hand. Dramatisch werden die Einspareffekte aber, wenn sich im Lauf der Entwicklung Veränderungen eines Teils automatisch an alle mit ihm ausgestatteten Geräte "vererben". Wichtig ist dabei, daß die Verifikation der Veränderung nur an einer exemplarischen Stelle vorzunehmen ist, während Hunderte oder Tausende weiterer Exem- plare beweisbar ebenso korrekt nachgezogen sind.

Die Projektierung eines Leitsystems muß, wenn sie den Titel "integriert" verdientermaßen tragen soll, außer der üblichen Projektierung des Prozeßmodells auch die der Leitsystemoberfläche umfassen.

Weitergehende Forderungen betreffen die Konfiguration angeschlossener Prozeßperipherie, die oftmals von unterschiedlichen Herstellern stammt. Trotz vielfältiger Standardisierungen (zum Beispiel "Profibus") treffen hier Teilsysteme unterschiedlicher Herkunft aufeinander und setzen dem vom Anwender geforderten Produktivitätsfortschritt Grenzen.

Die Frage ist, auf Basis welcher Schnittstellen-Standards sich die unterschiedlichen Teillösungen miteinander integrieren lassen und wie hoch der Aufwand dafür ist. Entweder gelingt die verlangte Integration, oder sie bleibt trotz allseits "offener" Teilsysteme eine Dauerbaustelle. Anwender sind diesbezüglich in der Vergangenheit zu Recht mißtrauisch geworden.

An diesem Punkt setzt eine relativ neue Softwarekategorie ein: die Komponententechnologie. Der Begriff Komponente wird oft synonym zum Begriff des Objekts genannt, und tatsächlich haben Komponenten einige Eigenschaften, die sie im weitesten Sinn als Objekte qualifizieren. Der Kern der Komponententechnologie ist allerdings ein anderer, der sich am besten mit massiver Softwarewiederverwendung beschreiben läßt.

Geringe Fertigungstiefe ist kein Nachteil

Komponenten sind Softwarebausteine, die einerseits eine relativ komplexe Funktionalität kapseln, andererseits ihre Integration in ein Softwaresystem durch standardisierte Schnittstellen erlauben. Ihre universelle Einsetzbarkeit ermöglicht große Stückzahlen und ergo günstige Preise, so daß sich vom finanziellen Standpunkt der Einsatz fertiger Komponenten aufdrängt.

Allerdings muß man sehen, daß die Integration von Komponenten fremder Herkunft einer Verringerung der Fertigungstiefe gleichkommt und damit die gleichen Fragestellungen auftreten wie in jedem anderen Industriezweig. Gleichwohl zeigt etwa die Automobilindustrie, daß es zu dieser Art von Produktionsprozeß keine Alternative gibt und die damit verbundenen Probleme nicht unlösbar sind.

Die Integration unterschiedlicher Softwaresysteme kann aus heutiger Sicht nur auf der Basis eines Komponentenstandards unter Verwendung von verbindendem Scripting-Code gelingen. Die verschiedenen Komponenten dürfen in sich mit unterschiedlichen Mitteln (Sprachen und Bibliotheken) erstellt sein, wenn sie nur nach außen den Komponentenstandard bedienen.

Hier liegt auch der wichtigste Unterschied zur Wiederverwendung objektorientierter Klassenbibliotheken: Diese setzen normalerweise eine bestimmte Sprache voraus und sind untereinander oft nur schwer zu harmonisieren. Solche Probleme gibt es bei Componentware nicht, es handelt sich hier wirklich um Plug-and-play-Software.

Die Neu- oder Weiterentwicklung von zu integrierender Software kann nur derart erfolgen, daß sie in erforderlichem Umfang mit Komponenten-Schnittstellen ausgestattet wird, um sich in größere, anwendungsspezifischere Gesamtlösungen integrieren zu lassen. Daß sich solche Komponenten, wenn sie eigene Benutzeroberflächenelemente beitragen, genau an die Regeln der normalen Benutzeroberfläche halten müssen, ist selbstverständlich, da Brüche im Look and feel vom Anwender schon gar nicht akzeptiert werden.

Was schon innerhalb des relativ engen Umfelds Leittechnik Probleme aufwirft, nämlich die Integration unterschiedlicher Softwaresysteme und Datenbestände, soll nach dem Willen des Anwenders unternehmensweit funktionieren. Dabei ist nicht etwa nur daran gedacht, Daten eines Leitsystems als Excel-Tabelle zu exportieren. Vielmehr sollen technische und kaufmännische Dokumente und Daten aller Art über den gleichen Mechanismus zugänglich sein; nach Zugriffsrechten säuberlich getrennt, aber zu jeder Zeit an jedem Ort in der jeweils notwendigen Form.

In Richtung dieser Vision hat das World Wide Web (WWW) sicherlich den bisher größten Fortschritt gebracht. Noch nie hat es in so kurzer Zeit so viele Werkzeuge und Hilfsmittel gegeben wie für das WWW, und es liegt auf der Hand, daß man von ihnen auch innerhalb des Unternehmens für Intranets Gebrauch macht.

Der Zugriff auf unterschiedlichste Daten über das Web erfolgt allerdings keineswegs dadurch, daß diese in ein "Web- genehmes" Format konvertiert werden. Vielmehr ermöglichen Komponenten (etwa sogenannte Viewer), die auf die eigentliche Web-Page plaziert werden, von dort aus Sichten auf die korrespondierenden Datenbestände.

Auf diese Weise werden beispielsweise Daten von PPS-Systemen genauso wie Daten von Leitsystemen über einen Web-Browser zugänglich. Der Benutzer blättert sich nur noch durch verschiedene Pages (Click and page) und beschafft sich so alle benötigten Informationen. Dabei ist es im Prinzip egal, ob sie aus dem lokalen Netz, aus gesicherten Netzen angebundener Unternehmen oder aus dem Web kommen. Die Möglichkeiten zur Abschottung nach außen und gegen unberechtigten Zugriff sind durch die marktgängigen Firewalls etc. besser denn je.

Das eigentliche Problem bei der Realisierung solcher Visionen ist eher der Aufwand für die Erstellung der Dateninhalte. Leittechnische Informationen, die über Web-Browser zugänglich sind, dienen in der Regel anderen Kunden als dem Wartungspersonal. Entsprechend sind andere Prozeßdarstellungen und andere Interaktionsmöglichkeiten erforderlich als im Kontrollraum. Der Arbeitsplatz eines Prozeßwarts ist oft mit mehreren Monitoren ausgestattet, um die Übersicht zu gewähren; der Informationszugang über Web-Pages wäre hier ein Rückschritt.

Den realen Verhältnissen möglichst entsprechen

Es bietet sich deshalb an, in einem komponentenorientierten Leitsystem Panels zu entwickeln: Das sind Komponenten aus Komponenten, die schon das integrierende Scripting enthalten, selbst aber wieder alle Komponenten-Schnittstellen bieten, um direkt auf Web-Pages plaziert werden zu können. Panels sind ebenso schnell erstellt wie komponentenorientierte Applikationen, bieten aber eine weitere Ebene der Wiederverwendung.

Objektorientierung bildet die Basis für die interne und externe Darstellung von Informationen derart, daß sie den realen Verhältnissen möglichst direkt entsprechen. Kleine Änderungen der Realität haben auch nur kleine Änderungen der Datenbestände zur Folge. Objektorientierung zur Reduktion des Projektierungsaufwands ist deshalb das Gebot der Stunde.

Komponenten ermöglichen die massive Wiederverwendung von Software-Einheiten aller denkbaren Richtungen, indem sie Funktionalität auf höherer Ebene kapseln, gleichzeitig aber durch standardisierte Schnittstellen und Scripting problemspezifisch integriert werden können. Ihre universelle Einsetzbarkeit ermöglicht große Stückzahlen und damit "PC-Preise". Die Integration von Softwareteilen unterschiedlicher Herkunft gelingt aus heutiger Sicht nur über Komponenten-Schnittstellen. Systeme ohne solche Schnittstellen bilden bestenfalls eine "offene Insel".

Das Internet beziehungsweise das World Wide Web bietet den umfassenden Standard zum Zugriff auf jegliche Art von Information inhouse und im öffentlichen Netz. Zusammen mit Komponententechnologie werden auch proprietär formatierte Datenbestände zugänglich, ohne daß die Daten umformatiert werden müßten. Dies ist ein wichtiges Argument, wenn vorhandene Softwaresysteme mit den gleichen Daten arbeiten müssen und nicht umgestellt werden sollen.

Es ist klar, daß künftige leittechnische Systeme tatsächlich integriert sein werden, und zwar auf der Basis von Komponenten der unterschiedlichsten Hersteller. Es wird nicht mehr genügen, eine Pumpe zu liefern. Man wird gleichzeitig Projektierungs- und Visualisierungskomponenten bereitstellen müssen, ohne die die Hardware nur schwer oder mit hohem Aufwand integrierbar ist.

Angeklickt

Die Anforderungen des Marktes an Prozeßvisualisierungssysteme sind technisch derzeit von drei wesentlichen Anforderungen geprägt: Einfachheit in der Anwendung, Produktivität und Sicherheit in der Projektierung sowie Integration mit der übrigen IT-Infrastruktur des Unternehmens. Unter zunehmendem Kostendruck muß oft ein Weg gefunden werden, der zwischen den Standardsystemen und aufwendigen Individuallösungen hindurch zu kostengünstigen und problemangepaßten Lösungen führt. Wiederverwendung vorhandener Komponenten und ihre problemorientierte Integration ist der vielversprechendste Weg. Dieser Artikel beschreibt, welchen Beitrag die Technologien Objektorientierung, Komponentenorientierung und Internet dazu leisten können und wo deren Grenzen liegen.

*Roland Hütter ist Leiter der Software-Entwicklung bei der Dr. Seufert Computer GmbH in Karlsruhe.