RMI Interview Questions and Answers
Ques 6. How many types of protocol implementations does RMI have?
Ans. RMI has at least three protocol implementations: Java Remote Method Protocol(JRMP), Internet Inter ORB Protocol(IIOP), and Jini Extensible Remote Invocation(JERI). These are alternatives, not part of the same thing, All three are indeed layer 6 protocols for those who are still speaking OSI reference model.
Ques 7. Does RMI-IIOP support dynamic downloading of classes?Ans. No, RMI-IIOP doesn't support dynamic downloading of the classes as it is done with CORBA in DII (Dynamic Interface Invocation).Actually RMI-IIOP combines the usability of Java Remote Method Invocation (RMI) with the interoperability of the Internet Inter-ORB Protocol (IIOP).So in order to attain this interoperability between RMI and CORBA,some of the features that are supported by RMI but not CORBA and vice versa are eliminated from the RMI-IIOP specification.
Ques 8. Can RMI and Corba based applications interact ?Ans. Yes they can. RMI is available with IIOP as the transport protocol instead of JRMP.
Ques 9. What is Remote Procedure Calls, RPC?Ans. A request from one program that is located in one computer can be used by another computer in a network environment without understanding the underlying network details. This is done by a protocol called Remote Procedure Calls. In this client / server environment (network environment), the request is from a client to the server that provides the service from a server.
RPC is also called as inter-process communication. RPC extends the normal procedure calls across the network which is necessary in distributed computing models and for harnessing the power of the multiple processors.
In distributed systems, a client calls a procedure stored on a server. This is called calling a remote procedure stored on a server. Though, the call is made as if the procedure was stored on the local machine.
The steps in which a RPC is made are:
* The client calls the procedure
* The client stub builds the message.
* The message is sent over the network.
* The Server OS gives the message to the server stub.
* The server stub unpacks the message.
* The stub makes a local call to the procedure.
* The server does the work and returns the result to the server stub.
* The stub packs the message and traps to the kernel.
* The remote kernel sends the message the client kernel.
* The client kernel gives the message to the client stub.
* The client stub unpacks the result and gives to the client.
Ques 10. Explain the advantages and disadvantages of RPC.Ans. Advantages of RPC:
* Server independent
* Process-oriented and thread oriented models supported by RPC
* The development of distributed systems is simple because it uses straightforward semantics and easier.
* Like the common communications between the portions of an application, the development of the procedures for the remote calls is quite general.
* The procedure calls preserves the business logics which is apt for the application.
* The code re-writing / re-developing effort is minimized.
* Enables the usage of the applications used in the distributed environment, not only in the local environment.
* RPC provides interoperability between CORBA ORB implementations.
* A lightweight RPC protocol permits efficient implementations.
Disadvantages of RPC:
* Context switching increases scheduling costs
* RPC is not a standard – it is an idea that can be implemented in many ways
* RPC does not solve the most of the distribution creation problems
* RPC is only interaction based. This does not offer any flexibility in terms of hardware architecture.
* RPC implementations are not yet mature.
* It requires the TCP/IP protocol. Other transport protocols are not supported yet.
* Not yet proven over wide-area networks.
Most helpful rated by users: