Can object request brokers (ORBs) and the Web get along? According to Netscape, they can. At Object World West in San Francisco last August, Netscape Communications Corp. declared CORBA-based distributed objects the new direction for Internet/Intranet applications development, along with Internet Inter-ORB Protocol (IIOP) as the plumbing and wiring.
IIOP is the new protocol, which replaces HTTP as the de facto Web communications standard, according to Netscape's Marc Andreessen. Netscape shipped 20 million IIOP- and ORB-enabled Web browsers (Navigator 3.0) within a few weeks. This is the same model used to deploy Java, which slowly continues to gain market share. IIOP will allow ORBs that reside on a client (usually running inside a browser) to have full interaction with an application server running CORBA-compliant ORBs. (See Figure 1.) This avoids the overhead of sending HTML files to and from servers and makes the development model more like traditional distributed computing.
The adoption of IIOP by Netscape is part of Netscape's Open Network Environment (ONE). This is clearly a reaction to Microsoft's introduction of the Distributed Component Object Model (DCOM) to the Web through ActiveX. DCOM is Microsoft's ORB of choice and is a competitor to CORBA.
To move developers quickly to IIOP and ONE, last August Netscape released beta of a software developer kit with several IIOP foundation classes. The first two classes handle the user interface. You can expect to see several iterations of IIOP-enabled development tools over the next few months.
Developers can exploit the distributed features of IIOP to create distributed applications. These applications are a collection of ORBs connected via a network such as the Internet or an Intranet. ORB vendors should be able to communicate with one another using IIOP as the backbone and proprietary ORBs connecting in via half bridges.
IIOP is a natural for the Internet because of its distributed capabilities and native support for TCP/IP. The OMG believes that the Web could raise interest in the use of distributed objects. Until now, few CORBA-compliant commercial ORB vendors have been able to penetrate the market. The OMG hopes IIOP will recharge the dying distributed object marketplace plagued by slow delivery cycles and a lack of tools. (See my column, "Are We There Yet?" in the November issue of DBMS.)
VisiBroker runs like any other Java applet, meaning that any browsers that support Java can run VisiBroker. Applets can even employ the Secure Socket Layer (SSL) when communicating with a remote server. Because VisiBroker is just another CORBA object, it can bypass the limitation of HTTP and CGI and provide developers with a true distributed computing environment. Thus developers don't need to launch a CGI process, and the programming model is more traditional. For example, ORBs support states, but CGI is stateless.
VisiBroker consists of two main components: a development component and a runtime component. The development component automatically converts object interfaces into Java code for either the client or the server. The runtime component manages communications between distributed applets and other CORBA-compliant objects. VisiBroker for Java run time will be bundled with Netscape Navigator 4.0.
VisiBroker is efficient. It can generate ORBs that require less than 100K of byte code. Performance is comparable to other Java applets, and users don't really know they're running an applet that's also an ORB. Why should we care about VisiBroker? Netscape selected IIOP and VisiBroker as its communications protocol, bundling VisiBroker for Java with Netscape Navigator and Netscape Web servers. This fact alone will carry VisiBroker and IIOP to your desktop in the very near future.
Although the Web-enabled world cares deeply about the invasion of the ORBs, only a few vendors have moved in this direction. Informix Corp., for example, offers the IIOP-enabled Informix Enterprise Command Center. This distributed database administration tool, which leverages the power of VisiBroker, comes in both Java and Windows versions, with the Java version uses the VisiBroker ORB. The ORB communicates with other ORB "agents" without having to go through HTML or CGI. Expect a rash of products shortly after Netscape releases Navigator 4.0, probably from existing Java development vendors.
At press time Visigenic announced Caffeine, a joint effort of Netscape and Visigenic. It gives developers the ability to create IIOP-based distributed objects using Java. Caffeine further strengthens the links between Java and the CORBA world.
What ORBs on the Web will do is bypass the limitations of CGI (even Netscape's NSAPI and Microsoft's ISAPI), providing a better architecture for distributed system development and extending the capabilities of Java. IIOP lets the client link directly to the methods on the remote ORB without the overhead of CGI. CGI must begin a new instance of a CGI program each time the client invokes a service. Don't forget that CGI can't do states.
Within the architecture of ORBs and the wiring of IIOP, developers can standardize interprocess communications. Objects can run on multiple servers to provide load balancing (albeit in a limited way). CGI applications must react to all incoming client requests with no easy way to spread the load to additional processes.
Java-enabled ORBs are better than "traditional" Java applets and applications. Java applets can't talk from address space to address space; they must invoke the services of other Java applets. ORBs, using IIOP, can link to ORBs created with any number of programming languages. ORBs solve these problems because they have their own communication backbone.
I don't expect ORBs to take the Web world by storm, but as developers and users alike discover the advantage of driving Internet/Intranet applications with ORBs, they will experience a steady growth. You should remember that there's another ORB in town, and Microsoft isn't likely to give up the momentum behind DCOM. Although DCOM isn't as mature as CORBA and IIOP, tools are already available to create DCOM-enabled applications, and Microsoft has more resources behind its technology. CORBA has yet to receive large-scale interest from the tool vendors.
If you're thinking about developing applications with Java-enabled ORBs and IIOP, you're better off waiting until the technology takes a few more baby steps.
Figure 1.

--The distributed features of IIOP can be used to create distributed applications. These applications are a collection of ORBs connected via a network such as the Internet or an Intranet and using IIOP as the communication backbone.
David S. Linthicum is a widely published author, speaker, and computer science professor, and technical manager with AT&T Solutions in Vienna, Virginia. You can email David at 70742.3165@compuserve.com, or visit his home page at http://ourworld.compuserve.com:80/homepages/D_Linthicum/.
January 1997 Table of Contents | Other Contents | Article Index | Search | Site Index | Home
DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1997 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.