Buscar

Atividade Objetiva 2_ Sistemas Distribuídos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

Atividade Objetiva 2
Entrega 13 abr em 23:59 Pontos 1 Perguntas 5
Disponível 13 fev em 0:00 - 13 abr em 23:59 Limite de tempo Nenhum
Tentativas permitidas 2
Instruções
Este teste foi travado 13 abr em 23:59.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 10 minutos 1 de 1
Pontuação desta tentativa: 1 de 1
Enviado 2 abr em 13:29
Esta tentativa levou 10 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER
O QUESTIONÁRIO", no final da página.
0,2 / 0,2 ptsPergunta 1
Leia o texto abaixo:
 
RPC ou chamado de procedimento remoto é, essencialmente, o mesmo que chamar
uma função em JavaScript, PHP, Python ou outra linguagem, sempre usando o nome do
método e passando por parâmetro os argumentos.
Considerando as chamadas de procedimentos remotos (RPC) e comparando-o com
chamadas locais, avalie as afirmações abaixo:
 
I. Em RPC as variáveis globais devem ser declaradas utilizando o modificador de
acesso public, para que tais variáveis fiquem acessíveis à todas as classes.
II. Chamada de procedimento remoto (RPC) possui desempenho inferior as chamadas
locais devido a arquitetura cliente-servidor.
III. A vinculação dinâmica é o modo mais flexível para um processo encontrar um
procedimento em um servidor de nomes durante uma chamada local.
 
É correto o que se afirma em:
A+
A
A-
https://famonline.instructure.com/courses/27351/quizzes/143202/history?version=1
 II e III, apenas. 
 II, apenas. Correto!Correto!
A alternativa está correta, pois apenas a afirmação II é verdadeira.
A afirmação II é verdadeira, pois as chamadas de procedimentos remotos (RPC) são executadas em rede, logo,
pode sofrer atrasos inerentes a este meio de comunicação, sendo mais lento se comparado as chamadas
locais, as quais são executadas em um computador, diretamente na memória e barramentos do computador.
A afirmação I é falsa, pois o servidor não possui acesso ao espaço de memória do cliente (e o cliente não
possui acesso ao espaço de memória do servidor), deste modo, é inviável o uso de variáveis globais em RPC,
somente em chamadas locais de métodos.
A afirmação III é falsa, pois a vinculação dinâmica está relacionada a como um processo X encontra um
procedimento (método) em um servidor Y, e não está relacionado a chamadas locais como foi colocado na
afirmativa.
 I, apenas. 
 III, apenas. 
 I e III, apenas. 
0,2 / 0,2 ptsPergunta 2
Observe com atenção a figura a seguir:
Considerando a figura apresentadas, assinale a opção correta.
 
 
O stub é um objeto RMI que atua como um proxy, validando as respostas enviadas pelo
skeleton via camada de transporte.
A+
A
A-
 
A camada RRL é baseada em conexões TCP/IP e fornece conectividade básica entre as
camadas superior e inferior.
 
O skeleton é um objeto RMI que atua na camada proxy, recebendo as respostas vindas da
camada de transporte.
 
As camadas de Stub e Skeleton são as interfaces entre a camada de aplicativo e o resto do
sistema RMI
Correto!Correto!
A alternativa está correta, pois a camada Stub/Skeleton fica logo abaixo da visão do 
desenvolvedor. Esta camada é responsável por interceptar chamadas de métodos 
feitas pelo cliente para a interface e redirecionar essas chamadas para um Serviço 
RMI remoto. Stub está do lado do cliente, enquanto Skeleton está do lado do servidor.
 
O RMI permite que um objeto na aplicação cliente chame métodos em um objeto em
execução no servidor.
0,2 / 0,2 ptsPergunta 3
Observe com atenção
abaixo sobre o fluxo de uma chamada de procedimento remoto:
 a imagem 
 
Fonte: Elaborada pelo autor, 2021.
Nesta figura, temos um exemplo de chamada de procedimento remoto (RPC), a qual é
iniciada pelo cliente que envia uma mensagem ao servidor. Observe que o cliente fica
bloqueado e permanecerá neste estado até que
A+
A
A-
 o servidor receba uma requisição do cliente solicitando acesso à linha de execução. 
 
o servidor libere o processador para que o cliente possa executar suas instruções e
consultas.
 
o cliente receba uma resposta do servidor informando que o tempo limite de espera foi
atingido.
 
seja recebida uma resposta do servidor ou até que o tempo limite de espera seja atingido. 
Correto!Correto!
A alternativa está correta. Dentro do conceito de chamada de procedimento remoto ou 
RPC, esta chamada é iniciada pelo cliente (como podemos ver na figura). O cliente 
envia uma mensagem ao servidor remoto requisitando um procedimento específico, 
ficando então bloqueado (o cliente fica bloqueado e o servidor passa a ficar em 
execução). O cliente retomará sua execução apenas quando receber uma resposta 
do servidor (cenário ideal) ou quando o tempo limite de espera for atingido. Se 
nenhuma destas duas condições forem verdadeiras, o cliente continuará bloqueado.
 
o servidor envie uma resposta com uma flag autorizando o cliente a continuar a execução. 
0,2 / 0,2 ptsPergunta 4
Analise com atenção a definição de microsserviços segundo a Red Hat:
 
“Microsserviços são uma abordagem de arquitetura para a criação de aplicações. O que
diferencia a arquitetura de microsserviços das abordagens monolíticas tradicionais é
como ela decompõe a aplicação por funções básicas. Cada função é denominada um
serviço e pode ser criada e implantada de maneira independente. Isso significa que
cada serviço individual pode funcionar ou falhar sem comprometer os demais”
 
Fonte: REDHAT. O que são microsserviços? Disponível em:
https://www.redhat.com/pt-br/topics/microservices/what-are-microservices
(https://www.redhat.com/pt-br/topics/microservices/what-are-microservices) . Acesso em:
10 abr. 2021.
 
Considerando a definição apresentada sobre microsserviços, avalie as afirmações
abaixo:
 
I. Os microsserviços são fragmentados em vários componentes modulares e fracamente
acoplados.
A+
A
A-
https://www.redhat.com/pt-br/topics/microservices/what-are-microservices
II. Em uma arquitetura com 3 microsserviços, se um deles falhar, os outros 2 serão
bloqueados.
III. Um microsserviço aumenta a produtividade, porém é mais difícil de mantê-lo se
comparado a um sistema monolítico.
 
É correto o que se afirma em:
 II e III, apenas. 
 III, apenas. 
 I e II, apenas. 
 I, apenas. Correto!Correto!
A alternativa está correta, pois apenas a afirmação I é verdadeira.
A afirmação I é verdadeira, pois os microsserviços são desenvolvidos para fins
específicos, cada um com sua lógica de negócio e seu próprio banco de dados.
Devido a esta especialização, eles são fracamente acoplados, ou seja, um
microsserviço não tem conhecimento sobre outro microsserviço.
A afirmação II é falsa, pois como os serviços são fracamente acoplados, se um deles
parar (seja por falha ou outro problema qualquer), os outros dois serviços (demais
serviços) não serão afetados.
A afirmação III é falsa, pois um microsserviço é mais fácil de se manter ao compará-lo
com um sistema monolítico. Afinal, um sistema monolítico pode possuir diversos
módulos e funcionalidades, diferentemente dos microsserviços que são desenvolvidos
para um propósito específico.
 II, apenas. 
0,2 / 0,2 ptsPergunta 5
Leia o texto abaixo:
 
Os aplicativos distribuídos podem ser usados de várias maneiras, desde plataformas de
comércio eletrônico a aplicativos de desktop. Segundo Tanenbaum, Sistema Distribuído
é: “Uma coleção de elementos de computação autônomos que aparecem para seus
usuários como um único sistema coerente”.
 
(Fonte: TANENBAUM, A.; STEEN, M.. A brief introduction to distributed systems.
Computing 98, 967–1009 (2016). Disponível em: https://doi.org/10.1007/s00607-016-
0508-7 (https://doi.org/10.1007/s00607-016-0508-7) . Acesso em: 06 jul. 2021)
(Adaptado)
 
A+
A
A-
https://doi.org/10.1007/s00607-016-0508-7
 
Considerando o conceito de sistemas distribuídos, avalie as afirmações a seguir:
 
I. São exemplos de arquiteturas de sistema distribuídos: a Arquitetura Orientada a
Serviços e a Arquitetura Cliente-Servidor.II. Um aplicativo de padrão RMI é um sistema distribuído que usa componentes
desacoplados, por exemplo, o CORBA.
III. Os aplicativos distribuídos podem operar continuamente, mesmo que partes de seu
aplicativo falhem.
IV. Em um sistema RMI, o Stub é uma camada do lado do cliente responsável por
transportar dados para a aplicação remota.
 
É correto o que se afirma apenas em:
 I e IV. 
 III e IV. 
 I e III. Correto!Correto!
A alternativa está correta, pois apenas a afirmação I é III são verdadeiras.
A afirmação I é verdadeira, pois em sistemas distribuídos, existem três arquiteturas de aplicativos principais: a
arquitetura cliente-servidor, o padrão de broker ou a arquitetura orientada a serviços.
A afirmação III é verdadeira, pois este é o conceito de resiliência. Um microsserviço, por exemplo, por ser
fracamente acoplado, se falhar, não irá interferir nos demais microsserviços.
A afirmação II é falsa, pois RMI e CORBA são dois conceitos distintos. O RMI é um sistema de objetos
distribuídos centrado em Java, por outro lado, o CORBA foi projetado para ser independente do idioma. As
interfaces de objeto são especificadas em uma linguagem que é independente da linguagem de implementação
real.
A afirmação IV é falsa, pois o RMI é uma API que possibilita mecanismos para criar aplicativos distribuídos em
Java. Ele usa o Stub (lado do cliente) e o Skeleton (lado do servidor) para comunicação com o objeto remoto.
As camadas RMI são: stub/esqueleto, camada de referenciamento remoto e camada de transporte.
 II e IV. 
 I e II. 
Pontuação do teste: 1 de 1
A+
A
A-

Continue navegando