Objective 3.1: Distinguish appropriate from inappropriate techniques for providing access to a legacy system from Java code given an outline description of that legacy system
RMI
Scenario: 
A Java application needs to communicate with a remote system also written in Java.
Possible architecture: 
Use RMI to communicate with the other system.
Pros:
- Native Java technology to communicate with distributed objects
 - RMI-IIOP allows access by CORBA clients as well
 
Cons:
- RMI-IIOP loses some of the features of normal RMI
 
Sun recommendation
Java IDL should be used when accessing existing CORBA servers is the main purpose, 
whereas RMI-IIOP should be used when serving requests from CORBA clients is the main purpose.
RMI
Remote Method Invocation
Java specific approach to access distributed objects.
The standard protocol used is JMRP. It is a Java to Java only technology but by using JNI communication with objects written in other languages is possible
RMI-IIOP
Remote Method Invocation technology that uses IIOP instead of JMRP.
This means that the objects can be accessed by CORBA clients
Also, under some restrictions, RMI-IIOP can access a CORBA server.
RMI-IIOP is the standard for EJB.