Sistemas distribuídos rpc
FLUMINENSE
RPC
Remote Procedure Call
RPC
Chamada de Procedimento Remoto
Define um modelo de interação assimétrico entre duas entidades, semelhante a uma chamada de procedimento.
RPC
Chamada de Procedimento Remoto É muito utilizado em programas estruturais. Permite a passagem de funções remotas, com parâmetros de tipo primitivo (wrappers) como inteiros, caracteres, booleanos. Não oferece recurso a chamada a métodos de Objetos remotos.
RPC
Chamada de Procedimento Remoto Utiliza-se do modelo Cliente/Servidor, onde a aplicação local, solicita um recurso de uma outra aplicação distribuída em qualquer site, os quais podem estabelecer uma conexão TCP, os dados podem trafegar através do protocolo UDP, para tal utiliza-se Stubs e Skeletons, que são interfaces que permitem essa comunicação. Não é Orientado a Objeto!
VANTAGENS
Lógica muito simples e nível muito baixo, dá para o programador muita liberdade para implementar mecanismos diferentes em cima dele. Pode ser implementado por qualquer idioma (incluindo C!). RPC existe desde 1976, pelo que a sua maturidade e solidez são indubitável.
DESVANTAGENS
Dificuldade para transferências de Objetos entre processos remotos. Obrigatoriedade na utilização da Interface Definition Language (IDL). Um monte de código é necessário para aplicações até mesmo simples.
Exemplo de implementação RPC
1. Chamada local a um procedimento 2. Construção da mensagem com os parâmetros “marshalling” ou “serialização” Passagem para o
transporte 3. Passagem pela rede (em modo ligação ou não) 4. Envio para o stub servidor, onde é decomposto. “unmarshalled” 5. Chamada (no modo usual) a rotina do servidor.
Exemplo de implementação RPC
6. A rotina do servidor retoma normalmente. É feita a serialização dos resultados. 7. A mensagem é enviada para transporte. 8. Passa pela rede 9. É enviada para o stub cliente. É decomposta, “unmarshalled” 10. E é