Dan Berg of Sun Microsystems, covered "CORBA, JavaIDL, NEO, Joe and more..."
He started off by noting that programming CORBA was "some of the hardest
work I have ever done". Designing and developing for access to distributed
objects involves delicate tradeoffs between many requirements. Some of the
requirements are reliability, speed of access, speed of information
transfer, and graceful response to partial failures.
CORBA is the OMG's Common Object Request Broker Architecture and in its
original version 1 form was quite high level without specifics of how an
ORB from one vendor might interact with an ORB from another vendor. A more
recent version 2 of the Architecture has addressed these issues. NEO is a
Sun product which implements an ORB. He has used NEO to implement a
nationwide distributed environment for a client. He described that
Joe is an acronym for Java Objects Everywhere. It implements CORBA 2 using
an IDL mapping and NEO. JavaIDL 1.1 is a 100% pure Java implementation of
the full IIOP (Internet InterObject Protocol) defined in CORBA 2. Emergence
of the Java IDL gives users a way to implement remote objects on non-Java
systems. Java Remote Method Invocation (RMI) is a pure Java implementation
of remote objects without some of the limitations of the CORBA 2 model.
Dan concluded with a small Java banking example to show how remote objects
work. His slides are available in pdf format (2.8MB).