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 />
zum Beispiel einem objektorientierten Datenbankadapter für <strong>Objekte</strong> innerhalb einer Datenbank,<br />
angebunden werden. Der „Basic Object Adapter (BOA)“ definiert einen OA, der für konventionelle<br />
Objektimplementierungen verwendet werden kann. CORBA spezifiziert dabei die Implementierung<br />
der ORB/BOA Funktionalität nicht [RED96].<br />
CORBA verlangt zudem nicht, daß der ORB als eine einzige Komponente realisiert wird, was<br />
zum Beispiel beim Einsatz unter JAVA nicht möglich wäre. Statt dessen werden nur die<br />
Schnittstellen zum ORB definiert. Die von dem ORB angebotenen Operationen können damit in<br />
drei Gruppen unterteilt werden [RED96]:<br />
• Operationen, die für alle ORBs identisch sind (allgemeine Schnittstellen zum ORB, DII und<br />
DSI).<br />
• Operationen, die speziell für den Umgang bestimmter <strong>Objekte</strong> verwendet werden (Stubs und<br />
Skeletons).<br />
• Operationen, die für einen bestimmten Stil von Objektimplementierungen typisch sind (OA).<br />
Die entsprechenden Schnittstellen werden in Abb. 14 dargestellt.<br />
3.2.1.4 OMG-Interface Description Language (IDL)<br />
IDL stellt ein Mittel zur Beschreibung von Objektschnittstellen bereit. Diese Beschreibung erfolgt<br />
auf einem konzeptionellen Niveau, da keine der bekannten Programmiersprachen direkt die IDL-<br />
Definitionen umsetzen kann. Die in der IDL Syntax beschriebenen Schnittstellen müssen zunächst<br />
in äquivalente Konstrukte der betreffenden Programmiersprache übersetzt werden, so daß diese<br />
mit ihren Mitteln (Methodenaufrufe, Funktionsaufrufe, usw.) den Zugriff auf eine Schnittstelle<br />
realisieren und durchführen kann [MOV95].<br />
Die Vorschriften für die Zuordnung sind in sogenannten Language-Mappings festgelegt, die für<br />
jede Programmiersprache spezifisch sind. Für C, C++ und Smalltalk sind die Language-<br />
Mappings heute standardisiert. Für JAVA [OMG97], Ada, Fortran und Objective-C sind<br />
entsprechende Standards der OMG vorgeschlagen 9 .<br />
Die Realisierung der im Language-Mapping beschriebenen Schnittstellen ist vom ORB abhängig.<br />
Sie kann, neben den durch CORBA standardisierten, auch proprietäre Schnittstellen zum ORB-<br />
Kern bereitstellen. Dabei wird versucht, die Details der Implementierung dem Entwickler<br />
transparent zu gestalten [RED96].<br />
3.2.1.5 CORBA Services<br />
Die CORBA Services sind Dienste der Systemebene, die IDL-spezifizierte Schnittstellen anbieten.<br />
Sie bereichern und vervollständigen die Funktionalität des ORB und werden verwendet, um<br />
<strong>Objekte</strong> zu erstellen, zu benennen und in die CORBA Umgebung zu integrieren. Die OMG Object<br />
Services bestehen aus der „Common Object Service Spezifikation (COSS)“, einer Serie aus<br />
mehreren Bänden, die jeweils aus einem „Object Services Request for Proposal (RFP)“ bestehen<br />
[MOV95]. Insgesamt sind 16 Services im CORBA 2.0 Standard spezifiziert [ORF97]:<br />
RFP1 Services:<br />
• Object Event Notification Service:<br />
Dynamische (De-)Registrierung der Schnittstellen aufgrund von Ereignissen.<br />
• Object Lifecycle Service:<br />
Methoden, um <strong>Objekte</strong> auf dem Bus zu erstellen, kopieren, verschieben und zu löschen.<br />
• Object Naming Service:<br />
Erlaubt <strong>Objekte</strong> anhand ihres Namens zu finden. <strong>Objekte</strong> können beim Naming Service (~<br />
Namensdienst) angemeldet werden, so daß sie anhand ihres Namens lokalisiert werden<br />
können. Der Naming Service ermittelt die zu den <strong>Objekte</strong>n gehörigen Objektreferenzen.<br />
9 Die CORBA Spezifikation mit Language-Mappings ist unter http://www.omg.org/corba/cichpter.htm zu recherchieren.<br />
36