How Java/RMI compares with COM/DCOM and CORBA ©2001 by Sachin Sood Is it your cup of coffee? How Java/RMI compares with COM/DCOM and CORBA ©2001 by Sachin Sood
Contents Comparisons Pros/Cons of Java/RMI Which is the best?
Object Oriented Middleware System Comparisons CORBA COM/DCOM JAVA/RMI Meta Object Model: Uses IDL Uses MIDL No IDL used Stub Generation: IDL generates C/S stubs MIDL generates C/S stubs Compiler (rmic) generates C/S stubs Location Transparency: Completely achieved Not fully achieved
Object Oriented Middleware System Comparisons CORBA COM/DCOM JAVA/RMI Access Transparency: Completely achieved Not fully achieved Language Independency: Achieved (IDL) Achieved (MIDL) Not achieved Multiple Inheritance Class: Yes No Multiple Interface Class:
Object Oriented Middleware System Comparisons CORBA COM/DCOM JAVA/RMI At-most-once semantics: Yes Polymorphism: Restricted (statically typed) Attributes: Treated as operations (implicit) Treated as operations (explicit)
Object Oriented Middleware System Comparisons CORBA COM/DCOM JAVA/RMI Failures: Standard exceptions and support type exception as part of IDL Defines HResult (32-bit integer) Standard exceptions and support type specific exception Binary Encapsulation: Yes Binary Compatibility:
Object Oriented Middleware System Comparisons CORBA COM/DCOM JAVA/RMI Object References: Supported Not supported Supported through rmic Passing executable code: Not allowed. Not allowed Allowed Inheritance: Yes. Root is Object Yes. Root is IUnknown Yes. Root is Remote.
Pros/Cons of Java/RMI Pros: Available since JDK 1.02 Hides the need to learn IDL from the user Portable across many platforms Can introduce new code to foreign JVMs
Pros/Cons of Java/RMI Cons: Works only with Java platform Limitations on functionality Security threats with remote code execution
So which is the best and which is the worst? GOD KNOWS!!!