Interface description language


Presentation of various software components - depicted in a hypothetical vacation reservation in UML 2.0.

An interface description language or interface definition language (IDL), translated interface description language, is a computer language or a simple syntax that describes the interface to a software component. In essence, this language is, as it were, the manual that describes how to access a piece of software from another piece of software, in an equivalent manner as a user guide, describing how a piece of software should be used by the computer user.

IDLs are used in situations where both pieces of software do not necessarily call in the same way subroutines. For example, a C program and a Pascal program have a different way of calling routines, and generally can not call a code written in another language. IDLs provide a general language that both can meet to allow language-independent calls.

IDLs are most commonly used in software that wants to call routines on other machines using a Remote Procedure Call (RPC). In these cases, it may happen that not only the way in which routines are invoked differs, but there are also differences in the machine's architecture itself.

An IDL is found in the Distributed Computing Environment (DCE), the Component Object Model (COM), SOM, XPCOM, CORBA, and SOAP for Web Services.

wiki