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)