Interface Definition Language (IDL)

Eintrag zuletzt aktualisiert am: 13.11.2005


Die Interface Definition Language (IDL) ist eine weit verbreitete Strukturbeschrei¬bungs¬¬sprache, die bei der ISO (ISO/IEC 14750) und der ITU (X.920) stan¬dardisiert ist [ISO99a]. Die standardisierte IDL wird auch ODP IDL genannt [Bea97, S. 11]. IDL wird von verschiedenen Verteilungsplattformen verwendet, nament¬lich von DCE (DCE-IDL der OSF), CORBA (CORBA-IDL der OMG) [OMG01a], ODP [ISO94a bis ISO94d], WBEM/CIM [DMTF03] und COM/DCOM (Microsoft IDL – MIDL) [MIC02]. Dabei sind teilweise Ergänzungen zum Standard vorhanden. Unter¬schiede zwi¬schen COM- und CORBA-IDL zeigt Griffel auf [Gri98, S. 59]. Die Kom¬po¬nen¬tenmodelle (CLI und Java) basieren nicht auf IDL. Diese Modelle bieten auch keine vergleichbare Schnittstellen¬beschreibungssprache; die Metadaten sind hier kom¬plett in binärer Form in den Komponenten abgelegt und es gibt proprietäre Zugriffs¬me¬chanismen (genannt Reflection/Introspection) auf diese Schnittstellen¬be¬schrei¬bun¬gen. Es gibt aber zum Teil Konverter, die IDL aus diesen Komponenten erzeugen [Gri98, S. 59].

Kiniry [Kin99, S. 3] kritisiert, dass IDL nur eine syntaktische Beschreibung liefert, Se-mantik dadurch allerdings nicht ausgedrückt wird und semantische Beschreibungen in Kom¬ponentenmodellen, die IDL verwenden, nur durch natürlichsprachliche Dokumen-tationen geliefert werden. Puder, Markwitz und Gudermann bezeichnen IDL als ein geeignetes Mittel zur Schnittstellenbeschreibung für Programmierer, aber als ungeeig-net für Anwender [PMG95, S. 59].

Trotz der aufgezeigten Kritik ist der Einsatz von IDL im Rahmen des UComT-Modells sinnvoll, weil es sich um eine im Bereich der Softwarekomponenten weit verbreitete Be¬schreibungssprache handelt. Die Abbildung erfolgt am einfachsten durch ein <IDL>-Element, das intern nicht weiter per XML strukturiert ist.

<Desc:IDL TechnicalLevel="5" BusinessLevel="1" MustUnderstand="True">
library DE.BANKING {
CoClass Bankleitzahlen {
boolean Check ( [in] long BLZ );
};
};
</Desc:IDL
Listing 5.13: Dienstbeschreibungen in IDL (Beispiel)