Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Java 1.2 extends Java's distributed object capabilities

Find out what RMI and Java IDL, Java 1.2's seemingly similar distributed object technologies, have to offer you

  • Print
  • Feedback
Welcome to JavaWorld's new bimonthly Distributed Objects column! The purpose of this column is to discuss distributed object technology and products as they apply to Java developers. Over the course of the next 12 months, we'll be focusing on such technologies as RMI, CORBA, and DCOM, as well as on tool and product offerings that will be of interest to enterprise-scale Java developers. As is the case with all JavaWorld columns, you're encouraged to contact me if you have topics you would like to see addressed in this forum.

If the whole idea of distributed object computing is new to you, I suggest you take some time to review two articles on this topic previously published in JavaWorld. The first of these articles, "CORBA meets Java," provides an introduction to CORBA development in Java. The second article, "Applied CORBA: Integrating legacy code with the Web," discusses the use of CORBA to allow Java developers to access legacy code as remote objects. The latter article deals specifically with calling remote objects written in C++ from a Java applet or application.

Without further ado, let's begin what hopefully will be an informative and enlightening undertaking!

Surveying the field

With the release of the Java 1.2 platform, portions of the Java Enterprise specification begin to make the transition from documents and specifications (that is, vaporware) to actual working code. Although the Java 1.1 release gave Java developers the ability to create distributed pure-Java applications from scratch, Java 1.2 extends these capabilities with Java IDL. To quote the JDK 1.2 documentation:

Java IDL adds CORBA (Common Object Request Broker Architecture) capability to Java, providing standards-based interoperability and connectivity. Java IDL enables distributed Web-enabled Java applications to transparently invoke operations on remote network services using the industry standard OMG IDL (Object Management Group Interface Definition Language) and IIOP (Internet Inter-ORB Protocol) defined by the Object Management Group. Runtime components include a fully-compliant Java ORB for distributed computing using IIOP communication.


In other words, Java 1.2 ships with a 100% Pure Java object request broker (ORB) that can interoperate with any CORBA 2.0-compliant ORB, including IONA Technologies Orbix, Visigenic Software's VisiBroker, and IBM's ComponentBroker. This addition eliminates the requirement for licensing and distributing third-party Java ORBs and will greatly improve download times for CORBA applets as Java 1.2 Web browsers become available. Unfortunately, the major Web browsers (Microsoft Internet Explorer 4.0 and Netscape Navigator 4.0) continue to struggle to provide implementations of Java 1.1. Therefore, it may be late 1998 before valid Java 1.2 browser implementations appear on the market.

More importantly, with IDL JavaSoft's "enterprise" vision for Java begins to take shape, because Java IDL will allow Java developers to take advantage of CORBA transaction, naming, and messaging services. In fact, Java IDL actually ships with a CORBA-compliant naming service known as the Java IDL naming service, which allows objects to be accessed on servers using a standardized set of interfaces. Despite these advances, confusion still abounds among three camps of Java developers:

  • Print
  • Feedback

Resources
  • Download this article and the complete source as a gzipped tar file /javaworld/jw-04-1998/distributed/jw-04-distributed.tar.gz
  • Download this article and the complete source as a zip file /javaworld/jw-04-1998/distributed/jw-04-distributed.zip
  • For another detailed look at CORBA, read Jon Siegel's CORBA Fundamentals and Programming (Wiley Computer Publishing Group, ISBN0-471-12148-7)
  • Another excellent reference on CORBA and Java is Client/Server Programming With Java and CORBA by Robert Orfali and Dan Harkey (Wiley Computer Publishing Group, ISBN 0-471-16351-1)
  • Visigenic VisiBroker for Java http://www.visigenic.com/
  • IONA Technologies OrbixWeb http://www.iona.com/
  • IBM ComponentBroker http://www.software.ibm.com/ad/cb
  • JavaSoft JDK 1.2 Beta2 http://www.javasoft.com/products/jdk/1.2/
  • JavaSoft Java IDL http://java.sun.com/products/jdk/idl/index.html
  • Additional information on the COS naming service http://www.omg.org/corba/sectrans.htm#nam
  • The idltojava compiler is not included with the JDK 1.2 Beta 2 release and must be downloaded separately http://developer.javasoft.com/developer/earlyAccess/jdk12/idltojava.html.