RMI uses a layered architecture; every of the layers could be increased or replaced without affecting the rest of the system. The details of layers can be summarised as follows:
1. Application Layer: The client and server program
2. Stub & Skeleton Layer: Intercepts method calls made by the client/redirects these calls to a remote RMI service.
3.Remote Reference Layer: Understands how to interpret and handle references made from clients to the remote service objects.
4.Transport layer: Based on TCP/IP connections among machines in a network. It gives basic connectivity, as well as some firewall penetration strategies.