An interface description language, (alternatively interface definition language) (IDL), is a computer language or simple syntax for describing the interface of a software component. It is essentially a common language for writing the "manual" on how to use a piece of software from another piece of software, in much the same fashion that a user manual describes how to use a piece of software to the user.
IDLs are used in situations where the software on either side may not share common "call semantics", referring to the way the computer language "talks" to the routines. For instance, C and Pascal have different ways of calling routines, and in general cannot call code written in the other language. IDLs are a subset of both, a general language to which both can conform to enable language-independent code.
IDLs are most commonly found in software intended to allow routines to be called on other machines, known as remote procedure call. In these cases the call semantics may vary not only between languages, but also due to the architecture of the machines themselves.
Appendix D illustrates two exemplary IDL files produced by an embodiment of the invention using the schema definition shown in Appendix A. The source code 230 and the interfacedefinition 232 are input to compiler 240, which translates the input files to object code modules defining component objects 242.
Because the interface methods and properties in the components are generated from the same source as the database table definitions themselves, there is no chance for incompatibility between the object methods and properties in the components and the data objects in the database.
The schema definition data, in an embodiment of the invention, is expressed in the XML language.