| Home | Previous Lesson: GIOP/IIOP Next Lesson: Stubs and skeletons |
In CORBA, to write software that interoperates with other software via the object bus, you only need to know the interface to that software; you do not need to know any implementation details. This separation of interface and implementation is what gives CORBA its language independence.
Interfaces in CORBA are specified in an object-oriented fashion using the Interface Definition Language (IDL). You use the IDL to define component objects (or datatypes), including such things as inheritance, attributes, events, and methods (including their parameters and exceptions). Methods specified in IDL can be implemented in, or invoked from, any language for which IDL mappings have been defined�currently these include C, C++, Ada, Smalltalk, COBOL, and Java. You do not specify any implementation details in IDL, so IDL is strictly declarative and relatively simple. The syntax of IDL is a subset of C++, including preprocessing macros and pragmas, with some additional keywords for distributed computing concepts.
The language independence of IDL provides flexibility. It leaves you free to choose the most appropriate programming language and platform for each component in your application and it lets you integrate existing legacy components. To use legacy components, you can model them in IDL and then write wrapper code in the legacy language to translate from the IDL-defined interface to the legacy interface. Thus business logic that is already implemented can be made into CORBA objects. You can then assemble these components as building blocks for new, distributed applications.
| Home | Previous Lesson: GIOP/IIOP Next Lesson: Stubs and skeletons |