You are on page 1of 2

https://docs.salome-platform.org/7/gui/YACS/accesCorba.

html#

https://www.ejbtutorial.com/corba/introduction-to-interface-definition-language-idl-for-corba

How do you understand the concept of CORBA IDL?.

An interface description language (or alternatively, interface definition language), or IDL for
short, is a specification language used to describe a software component’s interface. IDLs
describe an interface in a language-independent way, enabling communication between software
components that do not share a language – for example, between components written in C++ and
components written in Java.Ans:

The interfaces necessary to “see” an internal object like a remote component are based on the
definition of a “contract” that specifies the services proposed by a component and the mode of
accessing these services (input and output parameters, exceptions returned).

These declarations are contained in an IDL file that is used as a reference to define the interface
code at the component end and at the client end of the component. The designer of the
component starts from the IDL file and develops a server end interface to set up communication
between the network (through CORBA) and the internal object. The designer of each client starts
from the IDL file and develops an interface to set up communication between the network
(through CORBA) and the component user code.

IDL file
The first step is for the component developer to define a list of proposed services and the method
of calling them, in a file called the IDL file. This file contains data structures declarations and
classes (“interface” in the CORBA terminology) in a language defined by the CORBA (IDL)
standard. OMG IDL Syntax and Semantics [IDL] is a reference document on the IDL language
syntax.

Note

This language is similar to a sub-set of the C++ and java languages. CORBA defined its own
interface language to achieve transparency relative to client and server implementation
languages. A client written with a programming language can connect through CORBA to a
server implemented in another language. The only condition is that there are two CORBA ORBs
(or systems) interfaced with languages used in the server and the client. There are ORBs capable
of managing many languages (C, C++, java, python, etc.). A single ORB (omniORB) was chosen
within SALOME, making it possible to use clients and servers written in C++ or in python
indifferently.

You might also like