Jahrgang 11, Nummer 2 Juli 1998

Anwendersoftware

Die Geister, die ich rief

OLE oder ActiveX Von Gerhard Brosius

Vorbemerkung der Redaktion: "ActiveX löscht Dateien auf der Platte", "ActiveX unterwandert die Systemsicherheit", diese und ähnliche Meldungen geisterten in den letzten Monaten durch die Computerpresse. Was es mit ActiveX wirklich auf sich hat, beleuchtet der folgende Beitrag. Wir zitieren ihn mit freundlicher Genehmigung des Autors aus dem Buch "Excel 97 professionell". Das Buch ist im Verlag Addison-Wesley erschienen und kostet DM 89,90.

Die Begriffe OLE und ActiveX werden von der Firma Microsoft, die sie geprägt hat, in ihrer Bedeutung in verschiedenen Veröffentlichungen höchst unterschiedlich gebraucht. Dies betrifft sowohl die einzelne Bedeutung des jeweiligen Begriffs wie auch die Abgrenzung der Begriffe gegeneinander. Eine kurze Betrachtung zur Entstehung und Entwicklung der damit verbundenen Technologie erleichtert es, Klarheit in die Begriffsverwirrung zu bringen.

Im Jahre 1990 brachte die Firma Microsoft eine Technik heraus, mit der sogenannte Verbunddokumente (compound documents) erstellt werden können. In einem Verbunddokument werden Teile mehrerer verschiedener Dokumente zu einem Dokument zusammengefaßt. Beispielsweise kann in ein Textdokument eine Tabelle einer Tabellenkalkulation und/oder eine Grafik eines Zeichenprogramms integriert werden. Das Besondere liegt darin, daß die zusammengefügten Teile als Objekte behandelt werden, die nicht einfach als starre Kopie von ASCII-Zeichen oder einer Bitmap eingefügt, sondern nach dem Einfügen in das Verbunddokument mit den Quelldokumenten oder den Anwendungen, mit denen sie erzeugt wurden, verbunden bleiben. Diese Technik wurde von Microsoft mit dem Namen Object Linking and Embedding - abgekürzt OLE - bezeichnet.

Bei der Weiterentwicklung von OLE zeigte sich, daß das ursprünglich zu lösende Problem der Verbunddokumente nur ein Teilaspekt einer viel umfassenderen Problematik darstellt: Zentrale Bedeutung bekam die Frage, wie verschiedene Softwarekomponenten sich ihre Dienste wechselseitig zur Verfügung stellen können. Zur Lösung dieser Frage wurde ein Konzept mit grundlegender Bedeutung für die weitere Architektur derartiger Technologien bei Microsoft entwickelt: das Component Object Model (COM). Auf der Grundlage dieses Konzepts wurde die OLE-Technik weiterentwickelt, so daß die neue Version 2.0 von OLE die Behandlung von Verbunddokumenten deutlich besser unterstützt als die vorangegangene Version. Aus heutiger Sicht entscheidender war jedoch die Tatsache, daß OLE 2 dadurch, daß es auf der Grundlage von COM entwickelt wurde, den Austausch von Diensten verschiedener Softwarekomponenten auch unabhängig von konkreten Dokument-Objekten ermöglichte: OLE 2 erlaubt ganz allgemein den Zugriff auf andere Objekte und deren Eigenschaften und Methoden. Damit umfaßten die Leistungen von OLE 2 wesentlich mehr, als nur Objekte zu verknüpfen und einzubetten, womit auch die Bezeichnung Object Linking and Embedding der neuen Technologie nicht mehr gerecht wurde. Eigentlich wäre in dieser Situation ein völlig anderer Name zur Kennzeichnung des Konzepts erforderlich gewesen. Andererseits wollte Microsoft aus marktpolitischen Gründen offenbar nicht ständig mit neuen Bezeichnungen aufwarten. Jedenfalls entschied sich die Firma, die neue Technologie, die im übrigen in einem rasanten Tempo ständig weiterentwickelt wurde, mit OLE zu bezeichnen: Bewußt wurde nach OLE 2 auf die Angabe einer Versionsnummer verzichtet. OLE sollte außerdem auch nicht mehr als Abkürzung für Object Linking and Embedding, sondern als eigenständiges Wort begriffen werden. Um dies auch äußerlich gegenüber der herkömmlichen Bezeichnung deutlich zu machen, propagierte Microsoft, die Zeichenfolge OLE nicht in der Form "Oh El Eh", sondern wie das spanische Wort "Olé" auszusprechen. Wie viele Menschen der neuen Sprechweise gefolgt sind, ist nicht auszumachen. In jedem Falle wurde mit dieser Art der Bezeichnung die Grundlage für sprachliche Unbestimmtheiten und Verwirrungen gelegt: Für viele Menschen stand OLE weiterhin für Object Linking and Embedding, und tatsächlich umfaßte die OLE-Technologie ja auch den Aspekt der Verbunddokumente. Daß darüber hinaus mittlerweile auch der Austausch von Diensten zwischen Softwarekomponenten auf leistungsfähige Weise möglich war, war dem Wort nicht anzusehen. Sprachliche Uneindeutigkeit ergab sich daraus, daß einige mit OLE nur den Aspekt des Verknüpfens und Einbettens von Verbunddokument-Objekten meinten, andere jedoch (auch) den allgemeinen Austausch von Diensten. Aber selbst für Menschen, die um dieses sprachliche Dilemma wußten, ergab sich die Schwierigkeit, die beiden Aspekte, die in OLE enthalten sind, eindeutig und nicht zu umständlich zu bezeichnen.

Seit Anfang 1996 nun propagiert Microsoft den Begriff ActiveX. In den ersten Veröffentlichungen, die diese Bezeichnung verwendeten, blieb deren genauer Inhalt unklar, denn ActiveX wurde einerseits mit OLE, andererseits aber auch stark mit bestimmten Internet-Technologien in Verbindung gebracht. Mit und seit dem Erscheinen von Microsoft Office 97 kristallisiert sich jetzt aber zumindest in den Dokumentationen und Publikationen von Microsoft der folgende Sprachgebrauch heraus: OLE bezeichnet nur noch das, wozu dieser Begriff ursprünglich geprägt wurde: Verbunddokument-Objekte, die durch Verknüpfen oder Einbetten verbunden sind. Mit ActiveX wird dagegen die auf dem COM-Modell basierende Technologie bezeichnet, nach der Softwarekomponenten sich anderen Softwarekomponenten als Objekte exponieren können, womit es möglich wird, ihre Dienste in Anspruch zu nehmen. Dabei fungiert die Softwarekomponente, die den Dienst anfordert, als Client, und diejenige, die ihn ausführt, als Server. Ein derartiger Server wurde in früheren Veröffentlichungen von Microsoft als OLE-Automationsserver bezeichnet. In neueren Veröffentlichungen wird hier meist nur von einem Automationsserver gesprochen. Entsprechend wird neuerdings statt von OLE-Automation oder ActiveX-Automation nur von Automation schlechthin gesprochen.

Die Aussagen zu COM müssen, wenn man der allerneuesten Entwicklung gerecht werden will, noch etwas modifiziert werden, weil das grundlegende Architekturkonzept COM weiterentwickelt worden ist, was auch sprachlich ausgedrückt werden kann. COM besitzt die Beschränkung, daß die verteilten Objekte sich sämtlich auf demselben lokalen Rechner befinden müssen. Anders ausgedrückt: Mit COM ist ein Remote-Zugriff auf fremde Softwarekomponenten als Objekte nicht möglich. Um diese im Zeitalter verbreiteter lokaler, regionaler und internationaler Netze bedeutsame Beschränkung aufzuheben, wurde die COM-Spezifikation weiterentwickelt: Mit Windows NT 4.0 stellte Microsoft diese Weiterentwicklung der Technologie verteilter Objekte zur Verfügung, die statt auf COM auf dem neuen Grundmodell DCOM (Distributed Component Object Model) beruht. DCOM kann auch nachträglich für Windows 95 verfügbar gemacht werden. Diese erneute Änderung in der Technologie verteilter Objekte, die sich nach wie vor in einem rasanten Entwicklungstempo bewegt, so daß bald neue Erweiterungen zu erwarten sind, hat allerdings keine weitere Konsequenz für den Sprachgebrauch der Begriffe OLE und ActiveX. So weit ich sehen kann, bleibt es bis auf weiteres dabei, daß mit OLE verknüpfte und eingebettete Objekte eines Verbunddokuments bezeichnet werden, während ActiveX die auf dem COM- (und nunmehr DCOM-) Modell beruhende generelle Technologie verteilter Objekte bezeichnet.

Der Autor Dr. Gerhard Brosius ist Professor am Fachbereich Volkswirtschaftslehre an der Hochschule für Wirtschaft und Politik (HWP).


Fassung vom 22.07.1998, Die RZ MEMO-Redaktion, E-Mail: rzmemo@rrz.uni-hamburg.de