CORBA
CORBA
Object Diverse languages Only Java language can be Specification is at the binary
Implementation can be used as long applied, because the Java level. Diverse languages like
as the IDL can be Object Serialization usage. C++, Java, Delphi, and even
mapped to that COBOL can be used.
language.
Client/Server The client stub is The client stub is called The client stub is called
Interface called astub, and the a stub, and the server side a proxy, and the server side is
server side is skeleton. called stub.
isskeleton.
Remote Internet Inter-ORB Java Remote Method Object Remote Procedure
Protocol Protocol(IIOP) Protocol(JRMP) Call(ORPC)
Object Object A remote server object is Interface pointer is used as a
Identification references(objref) assigned with anObjID as unique identifier for a remote
are used as the its identification. server object.
object handle at run-
time.
Object The ORB is used to The object location and Use the Service Control
Location and locate an object, activation are onJava Manager(SCM) to locate and
Activation andObject Virtual Machine (JVM) activate an object.
Adapter is used for
activation.
Inheritance Support multiple Support multiple inheritance Supports multiple interfaces
inheritance at the at the interface level. Every for objects. Every object
interface level. object implementsIUnknown.
Every interface implementsjava.rmi.Remote
inherits
fromCORBA.Object
On-demand A client can bind to A client can do A client can do
Activation a naming or a trader a lookup() on the remote aCoCreateInstance()to activate
service to activate a server object’s URL name a server object.
server object by to obtain the object
obtaining a server reference.
reference.
Exception Exceptions are Exceptions are thrown at the Exceptions are thrown out
Handle thrown at the interface definition. toHRESULT to be handled.
interface definition. Exceptions are serialized For richer exception handling,
Exception handling and marshaled back across it uses Error Objects,
is taken care of the wire. andISupportErrorInfointerface
by Exception has to be implemented.
Objects.
Garbage Does not attempt to Attempts to perform Attempts to perform
Collection perform general distributed garbage distributed garbage collection
purpose distributed collection of remote server on the wire by pinging. The
garbage collection. objects using the DCOM wire protocol uses a
mechanisms bundled in the Pinging mechanism to garbage
JVM. collect remote server object
references.
Table 2: CORBA, RMI, and DCOM comparison table