Baixe o app para aproveitar ainda mais
Prévia do material em texto
27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 1/10 Atividade Objetiva 2 Entrega 13 de out de 2022 em 23:59 Pontos 1 Perguntas 5 Disponível 8 de ago de 2022 em 0:00 - 13 de out de 2022 em 23:59 Limite de tempo Nenhum Tentativas permitidas 2 Instruções Este teste não está mais disponível, pois o curso foi concluído. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 9 minutos 1 de 1 Pontuação desta tentativa: 1 de 1 Enviado 2 de set de 2022 em 14:06 Esta tentativa levou 9 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 https://famonline.instructure.com/courses/24288/quizzes/110265/history?version=1 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 2/10 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 o servidor receba uma requisição do cliente solicitando acesso à linha de execução. o servidor envie uma resposta com uma flag autorizando o cliente a continuar a execução. o cliente receba uma resposta do servidor informando que o tempo limite de espera foi atingido. o servidor libere o processador para que o cliente possa executar suas instruções e consultas. seja recebida uma resposta do servidor ou até que o tempo limite de espera seja atingido. Correto!Correto! 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 3/10 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. 0,2 / 0,2 ptsPergunta 2 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) Considerando o conceito de sistemas distribuídos, avalie as afirmações a seguir: https://doi.org/10.1007/s00607-016-0508-7 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 4/10 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: II e IV. I e IV. I e II. I e III. Correto!Correto! 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 5/10 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. III e IV. 0,2 / 0,2 ptsPergunta 3 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. 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 6/10 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: III, apenas. I e III, apenas. II, apenas. Correto!Correto! 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 7/10 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. II e III, apenas. I, apenas. 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 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 8/10 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. 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: I, apenas. Correto!Correto! https://www.redhat.com/pt-br/topics/microservices/what-are-microservices 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 9/10 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. I e II, apenas. II e III, apenas. II, apenas. III, apenas. 0,2 / 0,2 ptsPergunta 5 Observe com atenção a figura a seguir: Considerando a figura apresentadas, assinale a opção correta. 27/02/2023, 08:39 Atividade Objetiva 2: Sistemas Distribuídos https://famonline.instructure.com/courses/24288/quizzes/110265 10/10 O RMI permite que um objeto na aplicação cliente chame métodos em um objeto em execução no servidor. O stub é um objeto RMI que atua como um proxy, validando as respostas enviadas pelo skeleton via camada de transporte. 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. A camada RRL é baseada em conexões TCP/IP e fornece conectividade básica entre as camadas superior e inferior. Pontuação do teste: 1 de 1
Compartilhar