Hi Prashz, To put simply, Remote Method Invocation (RMI)facilitates object function calls between Java Virtual Machines (JVMs). JVMs can be located on separate computers - yet one JVM can invoke methods belonging to an object stored in another JVM. Methods can even pass objects allowing dynamic loading of new classes as required. Both RMI and CORBA are different approaches to Distributed Computing which require that computations running in different address spaces, potentially on different hosts, be able to communicate. Hope this helps !! Regards, Milind
Thanks for replying. But milind what makes corba diffrent from rmi is "RMI" java proprietory. I am very confused about corba some one said that corba is the future and has a lot of prospects. if know java, then is corba related to java.
posted 20 years ago
Hi Prashant, RMI is a 100% Pure Java solution for remote objects, providing all the advantages of Java. Servers and clients developed with Java RMI can be deployed anywhere on a network on any platform that supports the JRE. CORBA is based on OMG's (Object Management Group) specifications. It is an industry standard for remotely invoking objects written in any supported programming language. CORBA provides a way to connect to legacy applications that were written in other languages. It is possible to use CORBA objects from Java programming language using Java IDL. RMI and Java IDL use different protocols for communicating between objects on different platforms. Java IDL uses the IIOP, this protocol is shared by all the CORBA-compliant Object Request Brokers. Together with IDL, IIOP enables objects residing on diverse platforms and written in diverse languages to interact in standard ways. RMI uses the Java Remote Messaging Protocol (JRMP)--a protocol developed specifically for Java's remote object capabilities. Yes, there is a great demand for people who can write such distributed computing protocols. Hope this helps !! Regards, Milind
[This message has been edited by Milind Kulkarni (edited June 04, 2000).]
Another point with CORBA: RMI requires that the naming service be on the same server as the method you are attempting to invoke. CORBA does not have this limitation. This means that the client only needs to know the location of the naming service and CORBA will then determine which server that service is actually located on. This can be a huge benefit in a very large distributed environment.