What is RMI?
Remote Method Invocation (RMI) is the process of
activating a method on a remotely running object. RMI offers location
transparency in the sense that it gives the feel that a method is executed on a
locally running object.
What is the basic principle of RMI architecture?
The RMI architecture is based on one important principle: the
definition of behavior and the implementation of that behavior are separate
concepts. RMI allows the code that defines the behavior and the code that
implements the behavior to remain separate and to run on separate JVMs.
What are the layers of RMI Architecture?
The RMI is built on three layers.
a. Stub and Skeleton layer
This layer lies just beneath the view of the developer.
This layer intercepts method calls made by the client to the interface
reference variable and redirects these calls to a remote RMI service.
b. Remote Reference Layer.
This layer understands how to interpret and manage references made from clients
to the remote service objects. The connection is a one-to-one (unicast) link.
c. Transport layer
This layer is based on TCP/IP connections between
machines in a network. It provides basic connectivity, as well as some firewall
penetration strategies.
What is the role of Remote
Interface in RMI?
The Remote interface serves to identify interfaces whose methods
may be invoked from a non-local virtual machine. Any object that is a remote
object must directly or indirectly implement this interface. Methods that are
to be invoked remotely must be identified in Remote Interface. All Remote
methods should throw RemoteException.
What is the role java.rmi.Naming Class?
The Naming class provides methods for storing and obtaining
references to remote objects in the remote object registry.
What is the default port used by RMI Registry?
1099
What is meant by binding
in RMI?
Binding is a process of associating or registering a name
for a remote object that can be used at a later time to look up that remote
object. A remote object can be associated with a name using the Naming class’s
bind or rebind methods.
What is the difference between using bind() and rebind() methods of Naming Class?
bind method(String name) binds
the specified name to a remote object while rebind(String name) method rebinds
the specified name to a new remote object,any
existing binding for the name is replaced.
When is AlreadyBoundException thrown and by which method?
AlreadyBoundException is thrown by bind(String name) method when a remote object is already
registered with the registry with the same name.
Note: rebind method doesn’t throw AlreadyBoundException
because it replaces the existing binding with same name.
How to get all the registered objects in a
rmiregistry?
Using list method of Naming Class.
Can a class implementing a Remote interface have non remote methods?
Yes. Those methods behave as normal java methods operating
within the JVM.
What is the protocol used by RMI?
JRMP(java remote method
protocol)
What is the use of UnicastRemoteObject in RMI?
The UnicastRemoteObject class provides
support for point-to-point active object references using TCP streams. Objects
that require remote behavior should extend UnicastRemoteObject.
No comments:
Post a Comment