CORBA - Java IDL (Interface Definition Language)
The CORBA - Java IDL provides standards based interoperability
and connectivity through the addition of CORBA (Common Object
Request Broker Architecture) [4] capabilities and Java.
Using the industry standard OMG IDL (Object Management Group Interface
Definition Language) and IIOP (Internet Inter-ORB Protocol) defined
by OMG, Java IDL allows distributed web-enabled Java applications
to transparently invoke operations on remote network applications
[1].
Runtime components include a fully compliant Java ORB (Object
Request Broker) for distributed computing using IIOP communication.
Figure 1 shows the architecture of CORBA compliant system.

Figure 1. architecture of CORBA compliant
system
Java runtime (often referred to as
ORB) is responsible for:
- All mechanisms required to find the object implementation
for the request;
- Preparing the object implementation to receive
the request; and
- Communicating the data making up the request.
An IDL compiler, conforming to the OMG IDL to Java
mapping standard, is included with the Java IDL package. The compiler
generates the stubs and skeletons required by the Static Invocation
Interfaces (SII). Java IDL supports both Static and Dynamic (requests
generated on the fly) Invocation Interfaces [5].
The Java IDL reference implementation uses IIOP
as a network protocol but other network protocols are supported.
Implementation
Steps to creating CORBA conformant servers using Java IDL:
1. Write the IDL describing the interface
2. Use the IDL compiler to generate skeletons
3. Implement the servant
4. Write the server
5. Compile
Creating the client for the server:
1. Use the IDL compiler to generate the stubs
2. Write the client code
3. Compile
Overview
Java IDL boasts a number of significant benefits. Key is its support
for multiple programming languages that have IDL mapping. This
allows interaction between Java-to-non Java applications. To further
enhance the range of Java IDL is its use of the standard CORBA
IIOP communication protocol. These benefits are attributed to
the use of CORBA capabilities in the structure of the Java IDL.
On the downside, the Java IDL lacks services especially security
services. It also doesn't implement all the CORBA features, in
particular:
- No support for Dynamic Skeleton Interface (DSI),
- Multiple Dynamic Invocation Interface request
operations are not supported,
- Unions inside Any and Unions with Boolean discriminators
The following OMG features are not implemented either:
- New IDL types (except signed and unsigned longlong),
- Portable Object Adapter (POA)
Next Page