22.214.171.124. Java IDL: Using and writing CORBA remote objects
As we've just discussed, RMI is a distributed object solution that works especially well
when both client and server are written in Java. It is more work, and therefore less
attractive, in heterogeneous environments in which clients and servers may be written in
arbitrary languages. For environments like these, the Java platform includes a CORBA based
solution for remote method invocation on distributed objects.
CORBA (Common Object Request Broker Architecture) is a widely used standard defined
by the Object Management Group (OMG). The Java binding of this standard is
implemented as a core part of the Java platform in the org.omg.CORBA package and its
subpackages. The implementation includes a simple Object Request Broker (ORB) that a
Java application can use to communicate (as both a client and a server) with other ORBs,
and thus with other CORBA objects.
The interfaces to remote CORBA objects are described in a platform- and language independent
way with the Interface Definition Language (IDL). Sun provides an IDL compiler that translates an IDL declaration of a remote interface into the Java stub classes needed for implementing the IDL interface in Java or for connecting as a client to a remote implementation of the interface from your Java code.
A number of Java implementations of the CORBA standard are available from various
vendors. This book documents Sun's implementation, known as Java IDL. It is covered in
detail in Chapter 14. The syntax of the IDL language itself is summarized in Appendix G,
and the CORBA-related tools provided with Sun's JVM are described in Appendix H.