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.