Stub del cliente:
* Ubicación: Reside en la máquina del cliente.
* función: Actúa como un proxy para el procedimiento remoto. Cuando el cliente llama a un procedimiento remoto, en realidad llama a una función en el trozo del cliente.
* Responsabilidades:
* Marshalling: Empaca los argumentos del procedimiento en un formato adecuado para la transmisión a través de la red (por ejemplo, estructuras de datos de serialización).
* Comunicación de red: Envía los datos mariscales al servidor.
* Unmarshalling: Recibe la respuesta del servidor y la desempaqueta (desamparando) en un formato utilizable para el cliente.
* Manejo de errores: Maneja errores de red y otras excepciones que pueden ocurrir durante la comunicación.
* Presentación: Presenta el resultado de la llamada de procedimiento remoto a la aplicación del cliente como si fuera una llamada local.
Stub del servidor:
* Ubicación: Reside en la máquina del servidor.
* función: Actúa como un proxy para la implementación real del servidor del procedimiento remoto. Recibe solicitudes del trozo del cliente e interactúa con el servidor.
* Responsabilidades:
* Unmarshalling: Recibe los datos organizados del stub del cliente y lo desempaqueta (desactivado) en un formato adecuado para el procedimiento del servidor.
* Invocación del procedimiento: Llama a la implementación real del lado del servidor del procedimiento remoto con los argumentos solteros.
* Marshalling: Empaca el resultado del procedimiento (y cualquier información de error) en un formato adecuado para la transmisión al cliente.
* Comunicación de red: Envía la respuesta organizada al trozo del cliente.
Analogía:
Piense en un trozo de cliente y un trozo de servidor como dos operadores telefónicos. El Cliente (usted) habla con el STUB del Cliente (Operador 1), que luego transmite el mensaje al Servidor (Operador 2) en una línea telefónica diferente. El operador 2 luego interactúa con el servidor (la persona a la que llama) y le transmite la respuesta a través del Operador 1 para usted. No necesita preocuparse por los detalles de cómo funcionan las líneas telefónicas; Los operadores manejan todo eso para usted.
en esencia: Los trozos del cliente y el servidor manejan los detalles de la comunicación de la red, la serialización de datos y el manejo de errores, lo que permite a los desarrolladores centrarse en la lógica de sus aplicaciones en lugar de las complejidades de la computación distribuida. Proporcionan una interfaz limpia y abstracta a las llamadas de procedimientos remotos.