Architecture of an RMI Application
In an RMI application, we write two programs, a server program (resides on the
server) and a client program (resides on the client).
Inside the server program, a remote object is created and reference of that
object is made available for the client (using the registry).
The client program requests the remote objects on the server and tries to
invoke its methods.
The following diagram shows the architecture of an RMI application.
Let us now discuss the components of this architecture.
Transport Layer − This layer connects the client and the server. It manages
the existing connection and also sets up new connections.
Stub − A stub is a representation (proxy) of the remote object at client. It
resides in the client system; it acts as a gateway for the client program.
Skeleton − This is the object which resides on the server
side. stub communicates with this skeleton to pass request to the remote
object.
RRL(Remote Reference Layer) − It is the layer which manages the
references made by the client to the remote object.