Advanced Java Programming - Old Questions

12. What is CORBA? How is it different from RMI? (2+3)

5 marks | Asked in 2074

The Common Object Request Broker Architecture (CORBA) is a standard developed by the Object Management Group (OMG) to provide interoperability among distributed objects. The CORBA enables the exchange of information, independent of hardware platforms, programming languages, and operating systems. E.g. A client object written in C++ and running under windows can communicate with an object on a remote machine written in java running under UNIX.



Difference between RMI and CORBA

RMI

CORBA

RMI is a Java-specific technology. 

CORBA is independent of programming languages. It Can access foreign language objects.

It uses Java interface for implementation.

It uses Interface Definition Language (IDL) to separate interface from implementation.

RMI programs can download new classes from remote JVMs.

CORBA doesn't have this code sharing mechanism.

RMI passes objects by remote reference or by value.

CORBA passes objects by reference.

RMI uses the Java Remote Method Protocol as its underlying remoting protocol.

CORBA use Internet Inter- ORB Protocol (IIOP) as its underlying remoting protocol.

The responsibility of locating an object implementation falls on JVM.

The responsibility of locating an object implementation falls on Object Adapter either Basic Object Adapter or Portable Object Adapter.

Distributed garbage collection is available integrated with local collectors.

No distributed garbage collection is available

Generally simpler to use.

More complicated.

It is free of cost.

Cost money according to the vendor.

 

CORBA has better scalability.