📝 ficha_componentes_rmi_rpc
← Volver

Ficha de Apuntes: Componentes RMI y RPC

Tabla resumen: Componentes RMI

Componente ¿Qué es? ¿Para qué sirve?
Stub (cliente) Objeto proxy en el cliente Representa al objeto remoto y envía la llamada al servidor
Skeleton (servidor) Intermediario en el servidor (en versiones antiguas) Recibe la llamada del stub y la dirige al objeto real
Capa de referencia remota (Remote Reference Layer) Capa intermedia Gestiona la comunicación entre JVMs y referencias a objetos remotos
Capa de transporte (Transport Layer) Nivel de red Se encarga de la comunicación física (TCP/IP) entre cliente y servidor

Tabla resumen: Componentes RPC

Componente ¿Qué es? ¿Para qué sirve?
Cliente (Client) Proceso que inicia la llamada Solicita la ejecución de un procedimiento remoto
Stub de cliente (Client Stub) Proxy en el cliente Convierte la llamada local en un mensaje (serializa parámetros)
Sistema RPC Middleware Gestiona la comunicación entre cliente y servidor
Stub de servidor (Server Stub) Intermediario en el servidor Recibe el mensaje y lo transforma en llamada local
Servidor (Server) Proceso remoto Ejecuta el procedimiento solicitado
Protocolo de transporte Nivel de red (TCP/UDP) Envía los datos entre cliente y servidor

Idea clave

RMI y RPC permiten invocar operaciones en otro proceso o máquina como si fueran locales.
La diferencia principal es que:


Esquema visual rápido

RPC
Cliente → Client Stub → Sistema RPC → Server Stub → Servidor
RMI
Cliente → Stub → Remote Reference Layer → Transport Layer → JVM remota → Objeto remoto

Componentes RMI explicados

1. Stub (cliente)

Es el representante local del objeto remoto.

Funciones

Idea rápida

El cliente no habla directamente con el objeto remoto, sino con el stub.

Cliente llama a un método → Stub captura la llamada → la envía al servidor

2. Skeleton (servidor)

Es un componente histórico de RMI, usado en versiones antiguas.

Funciones

⚠️ En implementaciones modernas de Java RMI, el skeleton explícito dejó de ser necesario, porque esa lógica quedó integrada en la infraestructura RMI.

3. Remote Reference Layer

Capa intermedia que gestiona la referencia al objeto remoto.

Funciones

Idea rápida

No solo importa enviar mensajes: también hay que saber qué objeto remoto concreto se está invocando.

4. Transport Layer

Es la capa inferior de comunicación.

Funciones

Idea rápida

Es la capa que hace posible el transporte físico de la petición remota.


Componentes RPC explicados

1. Cliente (Client)

Es el proceso que inicia la llamada remota.

Función

2. Stub de cliente (Client Stub)

Actúa como un proxy local.

Funciones

3. Sistema RPC

Es el middleware que coordina toda la llamada remota.

Funciones

4. Stub de servidor (Server Stub)

Es el intermediario en el extremo servidor.

Funciones

5. Servidor (Server)

Es el proceso remoto que ejecuta el procedimiento solicitado.

Función

6. Protocolo de transporte

Es la base de comunicación de red.

Funciones


Secuencia de funcionamiento

RPC

1. El cliente invoca una función.
2. El client stub serializa parámetros.
3. El sistema RPC envía el mensaje.
4. El server stub recibe y reconstruye la llamada.
5. El servidor ejecuta el procedimiento.
6. La respuesta vuelve en sentido inverso.

RMI

1. El cliente invoca un método sobre el stub.
2. El stub empaqueta la llamada remota.
3. La Remote Reference Layer identifica el objeto remoto.
4. La Transport Layer transmite la petición.
5. El servidor ejecuta el método en el objeto remoto.
6. El resultado retorna al cliente.

Tabla comparativa: RMI vs RPC

Aspecto RMI RPC
Modelo Orientado a objetos Orientado a procedimientos/funciones
Entorno típico Java Sistemas distribuidos en general
Elemento principal Objeto remoto Procedimiento remoto
Intermediario cliente Stub Client Stub
Intermediario servidor Skeleton (antiguo) / infraestructura RMI Server Stub
Capa lógica adicional Remote Reference Layer Sistema RPC
Transporte Transport Layer Protocolo de transporte
Abstracción Invocación de métodos Llamada a funciones

Relación conceptual entre ambos

RPC

Se basa en la idea de:

"Llamar a una función remota como si fuera local"

RMI

Amplía esa idea hacia objetos:

"Invocar métodos de un objeto remoto como si el objeto estuviera en local"

👉 Por tanto, RMI puede entenderse como una especialización orientada a objetos del paradigma de llamada remota.


Puntos que suelen caer en examen

RMI

RPC


Mapa mental rápido

RMI
├─ Stub
├─ Skeleton (antiguo)
├─ Remote Reference Layer
└─ Transport Layer

RPC
├─ Cliente
├─ Client Stub
├─ Sistema RPC
├─ Server Stub
├─ Servidor
└─ Protocolo de transporte

Resumen en 3 puntos

  1. RPC permite ejecutar procedimientos remotos; RMI permite invocar métodos de objetos remotos.
  2. En ambos modelos hay componentes intermediarios que traducen llamadas locales a mensajes de red y viceversa.
  3. La diferencia clave es la abstracción: RPC = funciones, RMI = objetos.