CORBA is the open standard for heterogeneous computing developed and standardized by Object Management Group ( OMG ) .CORBA is a mechanism in software that will allow the software module
to communicate with irrespective to where they are located ( private network / global internet).The first version of CORBA was released in 1991.Interface Definition Language (IDL) is the language used by CORBA to specify the interfaces that objects will present to the outside world.
Working
CORBA is mainly used for the communication between the client and server. Using the CORBA the client can remotely call the methods in the server. In CORBA architecture the client machine having a Object reference to the server code and a stub code. The client is communicating through the Object Request Broker. The Object Broker request will be in both client and in the server which enabling the client to server communication. The method implementation an the Generated skeleton code is residing in the server which is accessed by the client
The following picture giving an idea about the primary components in the OMG reference model architecture
Object Services :It is used Many distributed program because it is domain independent interfaces. For an example, a service for finding the other available service always necessary regardless of what the domain is. Mainly two object services that fulfilling the role are the naming service and the trading service
  • Naming Service – Client will find the object based on the name it have.
  • Trading Service – Client will find the object by checking the property of the object.
  • Common Facilities – These interface are horizontally-oriented,the main different from the Object service they are directed towards the end user applications. An example for this is DDCF( Distributed Document Component Facility).DDFC have the capability for presenting and interchanging object based on a document model. For example, helping the linking of a spreadsheet object into a report document.
    Domain Interfaces – Similar to the Object service and the Common facilities but the difference is these are oriented towards the specific application domain.
    Application Interfaces – These are application specific and OMG are not developing application these interfaces are not standardized.
    RMI vs CORBA
  • RMI is java oriented But CORBA is language independent
  • RMI is platform independent no matter which are the connected system because it is java applications. This is not possible in the CORBA
  • CORBA doesn’t need a commitment to a implementation language