RMI (Remote Method Invocation)
RMI (Remote Method Invocation)
It is an API that provides a mechanism to
create distributed application in Java.
The RMI allows an object to invoke methods
on an object running in another JVM.
It provides remote communication between
the applications using two objects stub and
skeleton.
stub
The stub is an object, acts as a gateway for
the client side.
All the outgoing requests are routed through
it.
It resides at the client side and represents
the remote object.
Cont.
When the caller invokes method on the stub object, it
does the following tasks:
It initiates a connection with remote Virtual Machine
(JVM),
It writes and transmits (marshals) the parameters to the
remote Virtual Machine (JVM),
It waits for the result
It reads (un-marshals) the return value or exception,
and
skeleton
The skeleton is an object, acts as a gateway for the
server side object.
All the incoming requests are routed through it.
When the skeleton receives the incoming request, it
does the following tasks:
It reads the parameter for the remote method
It invokes the method on the actual remote object
It writes and transmits (marshals) the result to the
caller.
Cont.