ARCHIVED: What is the OMG Interface Definition Language?
The Interface Definition Language (IDL), specified by the Object Management Group (OMG), plays a central role in the CORBA standard. CORBA's usefulness lies largely in the fact that it permits software interoperability across boundaries of platform and language. This is possible because of the separation between interface and implementation, which is a crucial notion in object-oriented programming in general. The point is that what an object says it will do via its public interface ought to be decoupled from how the object actually does it. If this concept is applied completely, the implementation of an object can change in any way whatsoever, and as long as the interface is upheld, no other piece of code needs to know what is going on behind the scenes. This is the fundamental insight behind IDL. It specifies a contract between objects, but leaves the implementation hidden.
Syntactically, IDL includes a large subset of C++, supporting such C++ terms as typedef, struct, and union. Basic types include, but are not limited to: long, short, char, string, and boolean. C++ and Java-style exceptions are also supported.
Implementation languages supporting CORBA must have a standardized mapping for every term in IDL. For example, in Java, the IDL long type maps to an int, and the string type maps to an instance of java.lang.String. IDL introduces the terms module and interface to group functions and data structures into namespaces; in the case of Java, these map to packages and to classes, respectively.
For the complete specifications of officially recognized CORBA language mappings, see: http://www.omg.org/technology/documents/formal/corba_language_mapping_specs.htm
Last modified on October 12, 2005.