Open In App

Difference between RMI and CORBA

Improve
Improve
Like Article
Like
Save
Share
Report

1. Remote Method Invocation (RMI) :
RMI applications offers two separate programs, a server and a client. There are some tasks which are performed by the server program i.e., to creates some remote objects, to make references to this objects and also wait for the clients so that they invoke methods on these objects. A client program obtains a remote reference to one or more remote objects on a server and invokes methods on them. Basically, RMI provides the mechanism through which server and client can communicate and pass information back and forth. The RMI consists of three layers :

  • Stub/Skeleton layer
  • Remote Reference layer
  • Transport layer

The relationship among these layers is as shown in the following figure :

Figure – RMI Architecture

2. Common Object Request Broker Architecture (CORBA) :
It is the standard developed by the Object Management Group to provide interoperability among distributed objects. It is the world’s leading middleware solution. It enables the exchange of information, independent hardware platforms, programming languages and operating systems. It is often defined as “software bus” because it is a software based communication interface through which the objects are located and accessed.

Figure – CORBA Architecture



Difference between RMI and CORBA :

RMI CORBA
RMI is a Java-specific technology. CORBA has implementation for many languages.
It uses Java interface for implementation. It uses Interface Definition Language (IDL) to separate interface from implementation.
RMI objects are garbage collected automatically. CORBA objects are not garbage collected because it is language independent and some languages like C++ does not support garbage collection.
RMI programs can download new classes from remote JVM’s. CORBA does not support this code sharing mechanism.
RMI passes objects by remote reference or by value. CORBA passes objects by reference.
Java RMI is a server-centric model. CORBA is a peer-to-peer system.
RMI uses the Java Remote Method Protocol as its underlying remoting protocol. CORBA use Internet Inter- ORB Protocol 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.


Last Updated : 27 Dec, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads