Um programa em um computador em uma rede usa (RPC) Remote Procedure Call para fazer uma solicitação de um programa em outro computador na rede sem saber os detalhes da rede.
O protocolo RPC é um modelo de programação de rede para comunicação ponto a ponto dentro ou entre aplicativos de software. Uma Remote Procedure Call também é conhecida como chamada de sub-rotina ou chamada de função.
Como funciona a Remote Procedure Call
Na Remote Procedure Call, o computador remetente faz uma solicitação na forma de uma chamada de procedimento, função ou método. O Remote Procedure Call converte essas chamadas em solicitações e as envia pela rede ao destino pretendido.
O destinatário RPC então processa a solicitação com base no nome do procedimento e na lista de argumentos e envia uma resposta ao remetente quando concluído.
Os aplicativos RPC geralmente implementam módulos de software chamados “proxies” e “stubs” que intermediam as chamadas remotas e fazem com que pareçam ao programador serem iguais às chamadas de procedimento local.
Os aplicativos de chamada RPC geralmente operam de forma síncrona, aguardando que o procedimento remoto retorne um resultado. No entanto, o uso de threads leves com o mesmo endereço significa que vários RPCs podem ocorrer simultaneamente.
Remote Procedure Call incorpora lógica de tempo limite para lidar com falhas de rede ou outras situações nas quais os RPCs não retornam.
RPC Technologies
Remote Procedure Call tem sido uma técnica de programação comum no mundo Unix desde os anos 1990. O protocolo Remote Procedure Call foi implementado no ambiente de computação distribuída da Open Software Foundation e nas bibliotecas Open Network Computing da Sun Microsystems, ambos amplamente implementados. Exemplos mais recentes de tecnologias RPC incluem Microsoft DCOM, Java RMI e XML-RPC e SOAP.