25.09.2013 Aufrufe

Verteilte Objekte

Verteilte Objekte

Verteilte Objekte

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!