She mentioned the Java Spaces talk and said that CORBA is being extended into a subset of RMI.
There are changes to RMI with JDK V. 1.2. You can hold an activation of a class regardless of whether the server is running. If it is not running, a new instance will be created. You can group activations one VM per group.
The interface is MarshalledObject; you include any bootstrap stuff in here. This creates the copies and downloads classes. The socket types allow for SSL communication and a creation factory. There is a tutorial that will come along with the docs for 1.2. They've added a UnicastRemoteObject, the RMI is 100% faster than its first incarnation. Futures include authentication and access control.
The meat of the talk - RMI over IIOP. Yes, they really mean a CORBA interface to a subset of RMI. In JDK 1.1, you can do a large subset of RMI with CORBA interactivity; with JDK 1.2, they use Java IDL to build RMI over IIOP classes. There is a new compile switch to select IIOP vs. JRMP which is the default for RMI currently. This is not byte code tunneling. This takes advantage of the new object-by-value standards for CORBA. There is no distributed GC, but this might be added to CORBA at some time in the future. Early access is slated for this summer (summer 1998).
Simon Nash then presented some of the details of RMI over IIOP. A new type, WStringValue, was added to Java; this allowed for the way null is used in Java and sharing of string instances. All parameters are "IN" parameters. Value classes implement Serializable or Externalizable. When you see #pragma in the slide presentation, it represents a 64-bit integer hash code. The compiler, rmic, has new options; if you are using C++, make a Java interface class and pass that to rmic (one change is to take interfaces in addition to full classes in rmic). RMI on IIOP uses tie-style skeletons, and the inheritence is through javax.rmi.CORBA. The sequence for starting up an RMI on IIOP session is: