CORBA, RMI, etc


This is a collection of links, references, and observations on how Java and CORBA are coming together. This is of critical interest to our research group since we i) want the interoperability of CORBA but ii) also need any software we use to be essentially free (not because we have no research grants, but to make our research as accessible as possible).

JavaIDL
Sun's free Java ORB. I assume that this is what used to be called Joe. We installed the idl compiler, ran the demo, and used it to create a simple "server" that is called from within a Ptolemy II process networks simulation. We used the Beta 2 release -- the Beta 3 release has additional documentation, including distributed callbacks.

Create Distributed Apps with RMI
Article in JavaPro Magazone, Feb/Mar 98.

Actually, You Need CORBA to Run Anywhere
Respone to the above article.

OmniOrb 2
A free C++ ORB, distributed under GPL. From the Web pages, it looks very good.
Stuff from here on down dates from November 1997.
Java, RMI and CORBA
A white paper prepared by David Curtis, Director of Platform Technology, Object Management Group.

...

Construct Java applications through distributed object technology
By Junzo Hagimoto.

...

CORBA meets Java
By Bryan Morgan.

...

RMI and IIOP in Java - FAQ
Sun's position on Java and RMI. Basically, they are saying that if you use a subset of RMI then you will be able to communicate with (and create?) CORBA-compliant objects. This makes sense, now that I think about it, since RMI is fundamentally pass-by value and CORBA is fundamentally pass-by-reference.

Java CORBA Integration Strategies
A summary of Java+CORBA integration efforts. The commercial links at the top are basically out of date, but there are several links to research products at the bottom of the page that would be worth checking out.

CORBA/IIOP Developer Central (at Netscape)
This is Netscape's CORBA-related site. Netscape has licensed the Visigenic ORB and included it into Netscape Communicator and Netscape Enterprise Server 3.0. After fishing around in their server FAQ, I found the following question:

What is the difference between the Visigenic VisiBroker and Internet Service Broker?
Netscape has licensed the VisiBroker ORB technology from Visigenic and integrated it into the Netscape Communicator and Netscape Enterprise Server 3.0 products. Netscape has established expertise in the field of TCP/IP-based communications and has tightly integrated ORB into its web server environment. This allows an application developer to write programs in JavaScript, Java, C++, and C, in order to deliver applications that use static and dynamic web content. A developer may opt to use the Visigenic product when an application must run on platforms that are not supported by Netscape or when integration with a web server is not required.

From the Netscape Internet Service Broker & CORBA/IIOP Marketing and Licensing FAQ , it appears that ISB (Netscape's Internet Service Broker) is a subset of the Visibroker functionality, with a smaller subset on the client side. The server side include both developer and runtime licenses. (Curiously, the list of features includes a dynamic invocation interface but no static interface -- my guess the static interface is just assumed, otherwise the included java2idl compiler would make no sense.) Not much of the CORBA Services is in there, but then I think most ORB vendors are way behind the OMG in implementing these anyway.

Communicator is, of course, basically free. For educational uses, it looks like we can get the Enterprise Server free as well. This might be a good way to start, and we can see what about whether to move to a different server ORB later on. The main hassle for users who want to use our server-side software is likely to be installing the Netscape Server, as it seems to be fairly cheap: $25 per user (which I assume means number of simultaneous connections?).

I still don't know what else we'll need to write server-side CORBA objects. Confusingly, the examples in Orfali and Harkey's Java/CORBA book require both Visibroker for Java and Netscape Enterprise Server, so I don't really know what's going on here...

The Netscape Internet Service Broker & CORBA/IIOP Marketing and Licensing FAQ includes the following fairly unhelpful information on the relation between JavaBeans and CORBA:

How do JavaBeans relate to CORBA?
Together with CORBA and IIOP, the Internet standards for communication between JavaBeans, it is now possible to develop and deploy service-based applications that are portable, in that they can run on any platform, and are interoperable, in that they can interoperate with each other and leverage a variety of back-end systems and services.


Local copies of some of the netscape documentation:


Links to pages of links: