Java CORBA Integration Strategies


PC Webopaedia Outstanding Page Award January 1997: This web site was selected as an outstanding page by the PC Webopaedia.

Several vendors and research efforts are providing integration of Sun's JavaTM language with the Object Management Group (OMG) distributed object technology Common Object Request Broker Architecture (CORBA). This is a current list of the strategies and some of my observations.

One caveat for developers at this time is that the OMG has not yet agreed upon an IDL to Java mapping. Hence, the Java mapping from vendor to vendor is not quite the same. Each of the following solutions have either defined its own mapping or used the mapping defined by JavaSoft.

Vendor Solutions to Java CORBA Integration

JavaSoft: Java IDL
JavaSoft has created a Java IDL system which allows you to define remote interfaces in the Interface Definition Language (IDL). This is a light-weight ORB which allows you to connect to Java servers. These Java class libraries are currently downloadable. This Java IDL is the same technology that is used in Joe. JavaSoft is developing an IIOP protocol module to connect to other vendors's ORBs.

Visigenic's VisiBroker for Java
VisiBroker for Java is the former Black Widow product from Post Modern Computing. (Visigenic Software and Post Modern Computing have merged.) The VisiBroker for Java product supports both client and server Java programs. VisiBroker for Java also provides complete support for connecting to any CORBA object that adheres to the the Internet Inter-ORB Protocol (IIOP).

Netscape Communications has announced that it will integrate the Visigenic ORB products in a future release. Read the press release for details.

Sun's JOE: Java/NEO
JoeTM is Sun's product which allows Java client applets/applications to connect to NEO objects. (NEOTM is Sun's CORBA product.) At this time, Joe only interoperates with CORBA objects developed with Solaris NEO. In 4Q 1996, NEO will be CORBA 2.0 compliant (IIOP 1.0), and Joe will allow Java clients to communicate with other ORBs. Joe has essentially two parts: the IDL to Java mapping and an ORB runtime reimplemented in Java. NEO does not have support for Java servers at this time; however, if a Java server is manually started, Joe can connect to it. Finally, the early version of Joe does not support DII.

IONA Technologies OrbixWeb
OrbixWebTM is a product from IONA Technologies which allows Java client applets/applications to connect to Orbix objects and to interoperate with any CORBA 2.0 compliant service. At this time (12/12/96) OrbixWeb 2.0 is in a full release on Windows 95/NT and Solaris. OrbixWeb 2.0 allows Java servers to be developed and features OrbixNames, Iona's implementation of an OMG Naming Service.

Research Efforts in Java CORBA Integration

JIDL
JIDL is a public domain CORBA IDL compiler to Java, developed by Ernest Friedman-Hill at Sandia National Laboratories. Currently JIDL allows Java applets to manipulate Orbix objects. Current applet integration requires TclDii scripts to be called in the CGI bin.

JYLU: ILU for Java
JYLU is a freely available, freely distributable CORBA ORB. It is an implementation of Xerox PARC's ILU runtime kernel and Java language binding completely in the Java language. ILU (Inter-Language Unification system) is a multi-language object interface system which supports the following programming languages: Common Lisp, C++, ANSI C, Modula-3, and Python. ILU supports supports the use of the OMG CORBA IDL and CORBA IIOP. JYLU allows Java clients and servers.

Jade
Jade is a machine independent CORBA 2.0 IIOP communications engine, written in Java. A licensing arrangement from ANSA is necessary to use this system.

JacORB
JacORB is an object request broker written in Java. It enables transparent method invocation across virtual machine boundaries. JacORB is a partial implementation of OMG's CORBA. It features an IDL compiler and stub generator, both CORBA IDL and Java-only distributed programming supported, static invocation interface (no daemons needed), multithreaded clients and servers supported, IIOP, COSS name service, portability (entirely implemented in Java, no native code), IDL and Java source for all CORBA/COSS interfaces, and examples, documentation and full source code included (for FREE!!).

Other Java ORB's

HORB
HORB is a freely available Java ORB developed by Hirano Satoshi at the Electrotechnical Laboratory in Japan. HORB supports communication between Java servers and Java clients. HORB is not CORBA compliant.

Other Java or CORBA References

Java
"Java is a simple, robust, object-oriented, platform-independent multi-threaded, dynamic general-purpose programming environment. It's best for creating applets and applications for the Internet, intranets and any other complex, distributed network." -- JavaSoft

OMG
The OMG is a non-profit consortium dedicated to promoting the theory and practice of object technology (OT) for the development of distributed computing systems. CORBA is an interoperability standard for heterogeneous, distributed objects specified by the OMG.


Java is a trademark of Sun Microsystems Inc.
Joe is a trademark of Sun Microsystems Inc.
NEO is a trademark of Sun Microsystems Inc.
OrbixWeb is a trademark of IONA Technologies, Inc.


Carmen Pancerella
carmen@ca.sandia.gov

Return to SIAM Home Page