next up previous contents
Next: Die CORBA-Architektur Up: Middleware CORBA Previous: Das Objektmodell   Contents

Die Schnittstellenbeschreibung IDL

Die OMG-IDL (Interface Definition Language) ist eine Schnittstellenbeschreibungssprache für CORBA, die nichts über die Implementierung des IDL-Interfaces aussagt und somit als abstrakte Notation angesehen werden kann. Die IDL etabliert einen Vertrag zwischen Klient und Server, der Datentypen und Objektinterface wie auch Ausnahmen festlegt. Sie lehnt sich dabei stark an C++-Syntax an.

Durch sogenannte Language-Mappings wird die Transformation der sprachenunabhängigen IDL-Interfaces in spezielle Programmiersprachen und ihre Konstrukte festgelegt. JAVA, C++, C, COBOL, Ada, Lisp, Python, Smalltalk als auch XML wurden bisher standardisiert4.2. Mittels IDL-Compilern lassen sich automatisch Stubs und Skeletons für die entsprechende Programmiersprache erzeugen: Ein Klient braucht für jedes aufzurufene Objekt den zugehörigen Stub, der als Proxy nach dem RPC-Prinzip agiert. Dadurch wird Ortstransparenz gewährleistet, die das aufgerufene Objekt als lokal vorhanden offeriert. Außerdem übernimmt der Stub die Konvertierung der Datenrepräsentation (Parameter-Marshalling) in ein übertragbares, unabhängiges Format.

Auf Serverseite erfolgt durch den Skeleton die entsprechende Rückumwandlung (Demarshalling). Das Gegenstück zum Stub ist der Skeleton auf Serverseite für jedes Objekt, der für das Demarshalling verantwortlich ist und durch den Servant implementiert wird. Dieses einfache und vorwiegend genutzte Verfahren verlangt das Festlegen aller Informationen vor der Übersetzung. Eine komplexe Alternative der Vorgehensweise stellt der dynamische Aufruf unter Verwendung des DII (Dynamic Invocation Interface) und/oder DSI (Dynamic Skeleton Interface) dar, die flexible Requests zur Laufzeit erlauben.

Alle IDL-Beschreibungen sind eindeutig identifizierbar und werden in dem IR (Interface Repository) gespeichert, um so bei Bedarf verfügbar zu sein, wie bei dem dynamischen Vorgehen. Die Informationen der installierten Objektimplementierungen (Servants) werden im IMR (Implementation Repository) registriert, um sie für Anfragen auffinden und aktivieren zu können. Auch weitere Informationen wie Sicherheits-, Management-, oder Debuginformationen können hier gespeichert werden.


next up previous contents
Next: Die CORBA-Architektur Up: Middleware CORBA Previous: Das Objektmodell   Contents
root 2002-08-11