Verteilte Objekte
Verteilte Objekte
Verteilte Objekte
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Verarbeitung mit verteilten <strong>Objekte</strong>n<br />
• Der Entwickler muß sich nicht mit der Lokation des Servers oder dessen Zustand der<br />
Aktivierung befassen.<br />
• Der Entwickler muß sich nicht mit der Hardware oder dem Betriebssystem befassen, auf dem<br />
der Server aktiv ist.<br />
• Integrationsprobleme werden vereinfacht. So muß zum Beispiel bei der Übertragung von<br />
Informationen zwischen verschiedenen Systemen nicht auf die unterschiedlichen Darstellungen<br />
geachtet werden.<br />
Im Rahmen dieser Arbeit sind ORBs als Basis für JAVA von besonderem Interesse. SUN Microsystems<br />
bietet ein solches Produkt unter der Bezeichnung „JAVA Objects Everywhere (JOE)“ an,<br />
das die Kommunikation mit Applikationen ermöglicht, die auf Grundlage der eigenen CORBA<br />
Implementierung „Network Enterprise Objects (NEO)“ entwickelt wurde. Konkurrenz erhält der<br />
Hersteller von Workstations von der Firma Visigenic, die mit „Black Widow“ ebenso einen<br />
vollständig in JAVA programmierten ORB vorweisen kann, wie auch IONA mit „OrbixWeb“.<br />
Letzteres ist in der Version 2.0 zudem in der Lage, jedes Endgerät mit Serverfunktionen zu<br />
versehen. Klientendaten können so von einer zentralen Applikation aus abgerufen werden<br />
[CW96].<br />
3.2.1.2 Object Management Architecture (OMA)<br />
Im Sinne der OMA werden <strong>Objekte</strong> als die grundlegenden Bausteine für verteilte Anwendungen<br />
definiert. Für ein Objekt können Operationen aufgerufen und Eigenschaften erfragt werden. Ein<br />
Schnittstelle (~ Interface) gibt Aufschluß über die Art der zur Verfügung gestellten Operationen<br />
und deren Übergabeparameter.<br />
Der Hauptvorteil eines solchen, aus der objektorientierten Programmierung abgeleiteten Ansatzes,<br />
ist die Modularität, das heißt die Fähigkeit, durch Integration weiterer <strong>Objekte</strong> und durch Erweiterung<br />
vererbter <strong>Objekte</strong>, die Funktionsfähigkeit eines <strong>Objekte</strong>s zu vergrößern. Diese Wiederverwendung<br />
von <strong>Objekte</strong>n verspricht verkürzte Entwicklungszeiten, reduzierte Fehleranfälligkeit<br />
und bessere Amortisation von Entwicklungskosten [STR92].<br />
Zentraler Aspekt der OMA ist die Beschreibung von Schnittstellen durch die „Interface<br />
Description Language (IDL)“. Durch diese Sprache werden die öffentlichen <strong>Objekte</strong>igenschaften<br />
(Attribute, Operationen, Programmausnahmen und für die Kommunikation benötigte Datentypen)<br />
einheitlich spezifiziert. Um ein Objekt zu implementieren, werden gängige (objektorientierte)<br />
Programmiersprachen wie C++, JAVA, C usw. verwendet, für die jeweils eine Abbildungsvorschrift<br />
(Language-Mapping) die Umsetzung von, durch IDL beschriebene, Schnittstellen in<br />
Konstrukte der Programmiersprache definiert. Beachtenswert ist, das die IDL nicht die<br />
Implementierung des <strong>Objekte</strong>s selbst beschreibt (ein konträrer Ansatz wird im Kapitel 3.2.3.2<br />
vorgestellt). So können, je nach Mächtigkeit der eingesetzten Programmiersprache, <strong>Objekte</strong><br />
Systemzugriffe durchführen, auf Datenbanken zugreifen oder Dienste unabhängig von der<br />
CORBA Spezifikation anbieten [RED96].<br />
Die OMA unterteilt, im Unterschied zu COM(vgl. Kapitel 3.2.3.2), die Bestandteile einer Anwendungen<br />
in Komponenten, eine Menge von <strong>Objekte</strong>n die gemeinsam eine Aufgabe erfüllen. Diese<br />
Aufgabe wird als Dienst bezeichnet.<br />
3.2.1.3 Common Object Request Broker Architecture (CORBA) 2.0<br />
Der aktuelle CORBA-Standard 2.0 liegt seit 1995 vor und besitzt folgende Eigenschaften<br />
[RED96]:<br />
• Objektorientierung<br />
• Verteilungstransparenz<br />
• Effizienz<br />
• Unabhängigkeit von Hardware, Betriebssystem und Programmiersprache<br />
• Offenheit<br />
34