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
CORBA
Scenario: 
A Java application needs to communicate with a remote system not written in Java.
This remote system is CORBA compliant.
Possible architecture: 
Use Java IDL to integrate with the remote CORBA server.
Pros:
- Industry standard for distributed connectivity between systems written in any CORBA compliant language.
 
Cons:
- Complex technology.
 - It requires an out-of-process remote call, which slows performance
 
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.
CORBA
Common Object Request Broker Architecture.
Unifying standard for distributed object systems and can be used with many platforms and languages.
In a CORBA architecture, objects communicate through ORBs, using IIOP as the protocol.
CORBA is managed by the Object Management Group (OMG).
IDL
Industry standard language neutral Interface Definition Language.
Each language that supports CORBA has its own IDL mapping.
Defined by the OMG.
Java IDL
A service that adds CORBA capabilities to the Java platform to provide interoperability using IDL.