Please enable JavaScript.
Coggle requires JavaScript to display documents.
Llamadas a Procedimiento Remoto - Coggle Diagram
Llamadas a Procedimiento Remoto
Soporte de aplicaciones basadas en RPC
Basado en Stubs
Hay 2 maneras que puedan ser desarrolladas :La primera de ellas es la generación de Stubs a medida
Consiste en definir de forma detalladaun protocolo RPC para una aplicación específica.
Basado en lenguajes
La generación de Stubses independiente del lenguaje de programación
es una alternativa para embeber las llamadas a procedimiento remoto dentro del lenguaje de programación
Ejemplos: RMI en java, RPyCen Python
Variaciones en RPC
RPC Asíncrono
RPC Asíncrono permite que el cliente no se bloqueey continúe trabajando
La respuesta del servidor actúa como una notificación al cliente que suele implementar callbackspara atender estas respuestas
En una llamada RPC convencional (síncrona), el cliente se bloquea hasta obtener una respuesta del servidor
RPC Multicast
Permite enviar una petición RPC a múltiples servidores
Los servidores procesan las peticiones en paralelo
Cuando los servidores devuelven el resultado, el cliente junta todos los datos y los ensambla en un solo bloque de datos
¿Qué es RPC?
Es un programa que utiliza una computadora para ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambas
Ventajas de RPC
Desventajas
Las interfaces están desactualizadas
Si la arquitectura de las máquinas no son iguales, pueden surgir errores
Si el Server Node tiene problemas, la llamada al procedimiento no procederá
Facilidad de uso
Transparencia de acceso
Robusto y probado
Transparencia de ubicación
Paso de parámetros
Esta transformación (empaquetado de parámetros para su envío) se conoce como marshaling
El proceso inverso se conoce como unmarshaling
Para evitar problemas de orden de secuencia de bytes (Little endianvs Big Endian) se utiliza una transformación de datos con formato independiente de la red
Operaciones básicas RPC(Pasos)
la maquina B implementa un Server Stub donde se recepcionan todas las llamadas del Client Stuby las transforma en llamadas locales
El Server Nodeejecuta el procedimiento y devuelve el resultado al Server Stubquien lo empaqueta y lo envía de vuelta a la maquina A
Las interfaces de los procedimientos remotos se colocan en la biblioteca del sistema operativo de la maquina local A (Client Stub)
Cuando el sistema operativo recibe el resultado, se lo pasa al Client Stub quien lo examina y prepara el resultado según el formato esperado por el Cliente Node