Uma empresa implementou um sistema de gerenciamento distribu...

Próximas questões
Com base no mesmo assunto
Q3328458 Arquitetura de Software
Uma empresa implementou um sistema de gerenciamento distribuído utilizando o conceito de Remote Procedure Call (RPC). Com isso, os desenvolvedores podem invocar funções que são executadas em servidores remotos, mas que aparentam ser locais para o cliente. Qual das seguintes afirmações é verdadeira sobre o funcionamento do RPC?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito Comentado:

A alternativa correta é a B - O RPC permite que funções remotas sejam chamadas como se fossem funções locais.

Vamos agora compreender o tema central da questão:

O conceito de Remote Procedure Call (RPC) é fundamental em sistemas distribuídos, pois ele permite que programas de computador executem chamadas de funções em servidores remotos de maneira quase transparente, como se essas funções fossem executadas localmente. Isso simplifica bastante o desenvolvimento de aplicações distribuídas, pois os desenvolvedores não precisam se preocupar com a complexidade de comunicação entre os processos remotos.

O RPC funciona encapsulando a chamada de função, os parâmetros e os resultados no cliente, transmitindo-os através da rede até o servidor, onde a função é executada e o resultado é retornado ao cliente. Para mais detalhes teóricos sobre RPC, uma leitura recomendada é o livro “Distributed Systems: Principles and Paradigms” de Andrew S. Tanenbaum.

Justificativa da Alternativa Correta:

A alternativa B está correta porque expressa precisamente a principal característica do RPC: a capacidade de fazer com que chamadas de funções remotas se comportem como se fossem locais. Isso é realizado através de uma camada de abstração que oculta os detalhes da comunicação de rede para o desenvolvedor.

Análise das Alternativas Incorretas:

A - O RPC exige que todos os dados sejam transmitidos de forma assíncrona. Esta alternativa está incorreta. Embora o RPC possa ser implementado de forma assíncrona, ele não exige isso. RPCs podem ser síncronos, onde o cliente espera pelo resultado, ou assíncronos, onde a comunicação é não-bloqueante.

C - O RPC é usado exclusivamente para aplicações que requerem transmissão de vídeo. Esta alternativa está errada. O RPC é uma tecnologia de propósito geral que pode ser utilizada em diversos tipos de aplicações, não se limitando a transmissão de vídeo.

D - O RPC garante que todas as chamadas de função sejam criptografadas automaticamente. Esta alternativa está incorreta porque a criptografia não é uma funcionalidade embutida do RPC. A segurança das chamadas deve ser implementada de maneira independente, por exemplo, através de protocolos seguros como SSL/TLS.

E - É um procedimento que permite ao servidor realizar uma conexão a um cliente remotamente. Esta declaração está errada. O RPC é projetado para que clientes invoquem procedimentos em servidores, não o contrário. O que esta alternativa descreve é mais próximo de um conceito de Reverse RPC, que não é um padrão comum.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo