Sie sind auf Seite 1von 2


Communication module
Key terms :
1) request-reply protocol
2) Client side communication module (request id, message type, remote
object reference)
3) Server side communication module(calling the dispatcher class,gets
local object ref from remote
reference module)
We can see this communication module on both the client side and the server side.
These communication modules will cooperate with each other through a request
reply protocol i.e the client is used to send the request message through request
where as the server side communication module is used to send the reply message.
Client side communication module
Communication module on the client side specifies 1) message type 2) request id 3)
remote reference of the object to be invoked.
Server side communication module
Server side communication module calls the dispatcher class of the object on which
the method has to be invoked while doing this it passes the local reference of the
object which it gets from the remote reference module

2.Remote Reference module

Key terms:
1) Translation and creation
2) Remote object table
3) An entry for all remote objects
4) An entry for each local proxy, example for entries
5) Passing a remote object for first time(argument or result)
6) passing the remote object reference in request or reply message
Remote reference module is responsible for creating remote object references as
well as translation between local and remote object references.
Every remote reference module of a process maintains a table called remote
object table which records correspondence between local object references and
remote object references.

The remote object table maintains an entry for all remote objects held by a process.
For example the remote object table on the server side maintains an entry for the
remote object B held by that process.
An entry for each local proxy is also maintained for example an entry for the proxy
for B will be maintained in the remote object table on the client side.
Whenever a remote object is passed as an argument or as a result for the first time
the remote reference module will create a remote object reference and adds this
reference to the remote object table
Whenever the remote object reference is passed in a request or a reply message
the remote reference module will be asked for its corresponding local object
reference, which may refer either a proxy or a remote object

3. Servants
Key terms
1) Definition? ( a servant can be defined as an instance of a class which provided
the body of the
Remote object)
2) Where they live and when they are created?( they live in server processes
and they are created
when ever a remote class is instantiated and
lives till
they are not referenced and finally garbage

4.RMI software( proxy,skeleton,dispatcher)

1) What an rmi software contains?( it contains a software layer between
application level
objects and communication and remote reference
2)role of proxy ?( maintaining transparency from client and creates illusion that
clients are actually
calling their local methods,marshalling,unmarshalling etc)
3)role of skeleton?(maintaining transparency regarding unmarshalling
arguments,marshalling result etc)
4)role of dispatcher?(gets request message from the communication module
uses method id and calls
the corresponding method in the skeleton)