Suponha que, devido à necessidade de sincronização de suas ...

Próximas questões
Com base no mesmo assunto
Q2383134 Programação
Suponha que, devido à necessidade de sincronização de suas páginas de serviço dinâmicos, o serviço de TI do Ipea precisará implantar um protocolo que permita que as APIs das suas páginas web possam funcionar com intercâmbio de recursos, de modo que um código remoto de uma página do Ipea possa ser usado por códigos localizados em outros computadores da rede web.
Nesse contexto, qual protocolo deve ser usado pelo serviço de TI do Ipea?
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - RPC (Remote Procedure Calls)

O tema da questão envolve a escolha de um protocolo apropriado para permitir que códigos remotos sejam utilizados por outros computadores na rede web. Para resolver essa questão, é necessário compreender o que é o RPC e o que ele possibilita em termos de comunicação entre diferentes sistemas em uma rede.

O RPC é um protocolo que permite a um programa executar uma função ou procedimento em um espaço de endereço diferente, que pode estar em um outro computador na rede. Isso é feito de forma que o processo de execução remota seja transparente para o usuário ou o programa que faz a chamada. Essencialmente, o RPC faz com que a execução de funções em um servidor remoto pareça ser local ao cliente.

A questão menciona a necessidade de "intercâmbio de recursos" e que um "código remoto de uma página do Ipea possa ser usado por códigos localizados em outros computadores da rede web". Isso se alinha perfeitamente com o que o RPC oferece, facilitando a execução de procedimentos remotos como se fossem locais, através de chamadas de procedimento e resposta.

A escolha do RPC é apropriada porque ele fornece a infraestrutura necessária para que o serviço de TI mencionado na questão possa implantar funcionalidades que exigem essa troca de informações e execução de código entre diferentes servidores e clientes na web.

As demais alternativas não atendem ao requisito especificado na questão:

  • SNMP (Simple Network Management Protocol) é um protocolo de gerenciamento de dispositivos em redes IP, não sendo adequado para execução remota de procedimentos.
  • RDRC (Remote Direct Memory Access) se refere ao acesso direto à memória de um sistema por outro sistema, sem a necessidade de envolver o sistema operacional do host, e não é um protocolo padrão para chamadas de procedimentos remotos.
  • SPDY/4 é um protocolo desenvolvido pelo Google para transportar conteúdo da web de maneira mais eficiente, mas não é específico para chamadas de procedimentos remotos.
  • Batching é um processo de agrupamento de operações para serem processadas juntas, o que não se encaixa na descrição de um protocolo para execução remota de código.

Portanto, a alternativa A - RPC está correta porque é o protocolo que permite a execução de procedimentos em um computador remoto, atendendo à necessidade descrita de sincronização de páginas de serviço dinâmicos com intercâmbio de recursos entre as APIs de diferentes computadores na rede web.

Clique para visualizar este gabarito

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

Comentários

Veja os comentários dos nossos alunos

RPC é um protocolo que permite fazer chamadas remotas em outra máquina como se estivesse na máquina local. o gRPC é um exemplo de implementação do RPC.

Para permitir que as APIs das páginas web do Ipea possam funcionar com intercâmbio de recursos e que um código remoto de uma página do Ipea possa ser usado por códigos localizados em outros computadores da rede web, o protocolo adequado é **RPC (Remote Procedure Call)**.

### Explicação

- **RPC (Remote Procedure Call)**:

- **Definição**: É um protocolo que permite que um programa de computador execute um procedimento (sub-rotina) em um endereço remoto, ou seja, em outro computador na rede, como se estivesse executando localmente.

- **Funcionamento**: O RPC oculta os detalhes de comunicação da rede, permitindo que o desenvolvedor chame funções remotas da mesma forma que chama funções locais. Ele facilita a integração e a interoperabilidade entre diferentes sistemas e serviços na rede.

- **Aplicabilidade**: Usado frequentemente para comunicação entre aplicações distribuídas, como a sincronização de serviços dinâmicos em páginas web, permitindo que APIs possam ser acessadas e utilizadas de forma remota.

### Outras Opções Mencionadas:

- **SNMP (Simple Network Management Protocol)**: É usado para gerenciamento de redes e dispositivos, não é adequado para intercâmbio de recursos via APIs web.

- **RDR (Remote Data Request)**: Não é um protocolo amplamente conhecido ou utilizado no contexto descrito.

- **SPDY/4**: É um protocolo de rede desenvolvido principalmente para melhorar a performance da web. Ele foi um precursor do HTTP/2, mas não é especificamente usado para intercâmbio de recursos via APIs.

- **Batching**: Refere-se a um método de processamento onde múltiplas operações são agrupadas e executadas juntas, não é um protocolo para intercâmbio de recursos via APIs.

### Correção e Consideração Adicional:

Embora RPC seja uma escolha válida, ele não é específico para web APIs modernas, que normalmente utilizam **HTTP** como base. Para APIs web especificamente, o protocolo padrão e mais adequado é **HTTP/HTTPS**, geralmente em combinação com **REST** (Representational State Transfer) ou **GraphQL**. Portanto, uma forma moderna de permitir intercâmbio de recursos via web APIs envolve o uso de **HTTP** e **RESTful APIs**.

A melhor resposta para a pergunta, considerando a prática moderna, seria focar em **HTTP/HTTPS** com **REST** ou **GraphQL**. Porém, dado o foco na questão de um protocolo específico mencionado nas opções, **RPC** é a melhor escolha direta entre as dadas.

### Conclusão

Para intercâmbio de recursos e funcionalidade das APIs das páginas web, a escolha adequada entre as opções fornecidas é:

**A: RPC (Remote Procedure Call)**

GAB LETRA A

RPC (Remote Procedure Call) é um protocolo que permite a execução de procedimentos ou funções em um computador remoto, como se fossem executados localmente. É uma técnica usada em redes para permitir que um programa faça chamadas de procedimento em outro programa que está em um servidor, frequentemente em outra máquina na rede.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo