Un programa en una computadora en una red utiliza una Llamada de Procedimiento Remota para hacer una solicitud de un programa en otra computadora en la red sin conocer los detalles de la red. El protocolo RPC es un modelo de programación de red para la comunicación punto a punto dentro o entre aplicaciones de software. Una RPC también se conoce como llamada a una subrutina o llamada a una función.
Cómo funciona la RPC
En RPC, el ordenador emisor realiza una solicitud en forma de llamada a un procedimiento, función o método. El RPC traduce estas llamadas en peticiones y las envía a través de la red al destino deseado. El destinatario de la EPR procesa la solicitud basándose en el nombre del procedimiento y la lista de argumentos, y envía una respuesta al remitente cuando está completo. Las aplicaciones RPC típicamente implementan módulos de software llamados «proxies» y «stubs» que intermedian las llamadas remotas y las hacen parecer al programador que son iguales a las llamadas de procedimiento local.
Las aplicaciones de llamada RPC normalmente funcionan de forma sincrónica, a la espera de que el procedimiento remoto devuelva un resultado. Sin embargo, el uso de hilos ligeros con la misma dirección significa que se pueden producir varios RPCs simultáneamente. El RPC incorpora una lógica de tiempo de espera para manejar las fallas de la red u otras situaciones en las que los RPCs no regresan.
Tecnologías RPC
RPC ha sido una técnica de programación común en el mundo Unix desde los años 90. El protocolo RPC se implementó tanto en el entorno de computación distribuida de la Open Software Foundation como en las bibliotecas de computación de red abierta Sun Microsystems, ambas ampliamente implementadas. Los ejemplos más recientes de tecnologías RPC incluyen Microsoft DCOM, Java RMI, XML-RPC y SOAP.