Komponentenbeschreibung
Eintrag zuletzt aktualisiert am: 07.03.2004
COM-Komponenten werden durch eine Variante der Interface Definition Language (IDL) beschrieben, die
Microsoft Interface Definition Language (
MIDL) genannt wird.
COM-Komponenten sind nicht automatisch selbstbeschreibend; die Verfügbarkeit von Meta-Daten ist nur eine Option. Meta-Daten können in Form als eine separate IDL-Datei, als eine separate
Typbibliothek oder eine als Teil der Komponente vorliegen. Eine
Typbibliothek (engl. Type Library, kurz:
TypeLib) ist die kompilierte Version einer IDL-Datei, die binär gespeicherte Typinformationen enthält. Eine
Typbibliothek kann als eigenständige Datei (Dateiextensionen .TLB und .OLB, zum Teil auch .OCA oder .RLL) oder als Bestandteil einer .
DLL-, .OCX- oder .
EXE-Datei realisiert werden. Meta-Daten sind für das Funktionieren von COM nicht unbedingt notwendig, bieten jedoch wertvol-le Zusatzdienste, wie zum Beispiel die Eingabehilfe in
Entwicklungsumgebungen.
Anders als in COM ist in der
CLI jede Komponente automatisch selbstbeschreibend. Ebenso wie in
Java erfolgt die Beschreibung nicht in IDL, sondern in einem propietären Format. Der Zugriff über die Metainformationen erfolgt ebenso wie bei
Java über Re-flection. Die
CLI-Reflection ist im Namespace
System.Reflection der
CLI-Klassenbibliothek realisiert und unterscheidet sich nicht im grundsätzlichen Vorgehen, jedoch hinsichtlich der Programmierschnittstelle von der
Java-Reflection.
In dem Bytecode einer
Java-Class-Datei sind neben dem Programmcode auch Metain-formationen über die in der Datei enthaltenen Klasse, deren Schnittstellen und Mitglie-der enthalten.
Die Gewinnung von Metainformationen aus einer Komponente selbst wird im Allge-meinen als Relexion (engl. Reflection) bezeichnet [Gri98, Siete 471]. Die sogennante
Java-Reflection ist im Namensraum java.lang.reflect realisiert.