Prévia do material em texto
Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS4DA_2401-2401-695392 2401-SISTEMAS DISTRIBUÍDOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário LARA CAROLINA FONSECA DE SENA Curso 2401-SISTEMAS DISTRIBUÍDOS Teste Clique aqui para iniciar o Quiz Iniciado 07/06/24 11:23 Enviado 07/06/24 11:33 Data de vencimento 19/06/24 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 9 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 As aplicações têm papel fundamental em sistemas distribuídos e dentro do protocolo TCP/IP são representadas como a camada superior (camada de aplicação), pelo fato de estar mais próxima dos usuários. A camada de aplicação tornou-se um repositório para todas as aplicações que não se ajustam às camadas inferiores, um dos exemplos clássicos são o correio eletrônico e a transferência de arquivos. Assinale a alternativa que contextualiza a camada de aplicação em relação as camadas inferiores do modelo TCP/IP. Resposta Selecionada: d. As camadas inferiores transmitem os dados enviados pela camada de aplicação, garantindo a transmissão com sucesso, enquanto a camada de aplicação fornece os serviços. Sala de Aula Tutoriais 1 em 1 pontos LARA CAROLINA FONSECA DE SENA 3 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 1/11 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_241615_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_241615_1&content_id=_10947612_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout Respostas: a. As camadas inferiores fornecem os serviços, enquanto a camada de aplicação é responsável pela transmissão dos dados, garantindo a transmissão com sucesso. b. As camadas inferiores e de aplicação são consideradas uma abstração teórica e na prática não oferecem nenhuma relação, pois o objetivo é a transmissão dos dados com sucesso. c. A camada de aplicação refere-se à padronização de interfaces elétricas, mecânica e de sinalização. Enquanto as camadas inferiores são responsáveis pela semântica, compressão/descompressão, criptografia, tradução dos dados, além de realizar a interface com o usuário. d. As camadas inferiores transmitem os dados enviados pela camada de aplicação, garantindo a transmissão com sucesso, enquanto a camada de aplicação fornece os serviços. e. A camada de aplicação está relacionada com a arquitetura cliente/servidor, enquanto as camadas inferiores estão associadas a objetos em sistemas distribuídos. Comentário da resposta: A resposta correta é a alternativa D. Os protocolos de aplicação gerenciam o diálogo entre as portas lógicas e mantêm a separação dos dados de diferentes aplicações. Trata da semântica, compressão/descompressão, criptografia, tradução dos dados, além de realizar a interface com o usuário.No modelo TCP/IP, o protocolo de camada física refere-se à padronização das interfaces elétricas, mecânica e de sinalização. O protocolo de camada de rede, IP (Internet Protocol), define e gerencia o endereçamento lógico da rede. O protocolo de transporte provê a comunicação confiável (Transmission Control Protocol – TCP), ou não confiável (User Datagram Protocol – UDP), e executa a checagem de erros antes da transmissão. Pergunta 2 O RPC (Remote Procedure Call) é um middleware que fornece uma camada de abstração para facilitar a comunicação entre processos. Para isso, parte do princípio da existência de um protocolo de transporte (TCP). Uma aplicação prática desse modelo é a solicitação, através de uma central de processamento meteorológico, para todas as cidades que fazem parte do seu 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 2/11 campo de atuação, para que assim possa ter a visão do todo. Escolha a alternativa que caracteriza a implementação do RPC. Resposta Selecionada: b. É uma forma na qual um programa pode solicitar um serviço de um outro programa localizado em um computador remoto, sem tem que conhecer os detalhes da rede. Respostas: a. É um serviço implementado, no qual a sua estrutura é executada em um cliente e a chamada realizada por um servidor. b. É uma forma na qual um programa pode solicitar um serviço de um outro programa localizado em um computador remoto, sem tem que conhecer os detalhes da rede. c. É um serviço implementado, no qual a sua estrutura é executada tanto em um cliente como em um servidor. d. É um serviço implementado, no qual a sua estrutura e chamadas são executadas localmente. e. É uma forma na qual um programa pode solicitar um serviço de um outro programa localizado na mesma rede, sendo mandatório que o cliente e o servidor conheçam os detalhes da rede. Comentário da resposta: A resposta correta é a alternativa B. A caracterização de um RPC é ser um serviço implementado por meio de um procedimento cujo corpo é executado em um servidor e o cliente recebe apenas a assinatura do procedimento. Pergunta 3 Um arquiteto de solução fez um sistema para uma casa inteligente. O sistema proposto controla as luzes da casa, a temperatura e o consumo de água. O sistema demonstrou ser muito bom, porém, os clientes não fecham contrato com ele devido ao alto custo de ter um servidor/serviço dedicado para a solução. Analisando a tendência do mercado, o arquiteto de solução se deparou com a computação em nuvem, a qual diminuiu drasticamente os custos operacionais e 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 3/11 de implementação da sua solução, tornando-a acessível para qualquer cliente por uma pequena quantia por mês. Dos três modelos de computação em nuvem (IaaS, Paas ou SaaS), qual é o que melhor se adequa à solução proposta e por quê? Resposta Selecionada: c. Software como serviço (SaaS), pois permite o acesso por diversas plataformas e o consumidor não tem controle gerencial sobre o recurso. Respostas: a. Infraestrutura como serviço (IaaS), pois permite o gerenciamento dos recursos computacionais e a implementação da aplicação. b. Plataforma como serviço (PaaS), pois permite ao consumidor o controle sobre a implementação da aplicação. c. Software como serviço (SaaS), pois permite o acesso por diversas plataformas e o consumidor não tem controle gerencial sobre o recurso. d. Infraestrutura como serviço (IaaS), pois permite ao consumidor o controle sobre a implementação da aplicação. e. Software como serviço (SaaS), pois permite ao consumidor o controle sobre a implementação da aplicação. Comentário da resposta: A resposta correta é a alternativa C. Software como serviço (SaaS): utilização de aplicações de modo acessível por diversas plataformas, sendo que o consumidor não tem controle gerencial algum sobre os recursos computacionais. Exemplos desse tipo de serviço são o Microsoft Office 365, SalesForce.com e Google Apps. Pergunta 4 A figura a seguir demonstra a comunicação entre um cliente com o servidor web através do SOAP. 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 4/11 Assinale a alternativa correta em relação ao WSDL. RespostaSelecionada: c. O WSDL, além do descritivo do serviço, contém a forma de acesso e quais são as operações disponíveis para utilização. Respostas: a. O WSDL é uma linguagem de marcação que pode, adicionalmente, trabalhar como uma linguagem de definição. b. O WSDL é uma arquitetura para estabelecer e simplificar a troca de dados entre diferentes sistemas. c. O WSDL, além do descritivo do serviço, contém a forma de acesso e quais são as operações disponíveis para utilização. d. O WSDL é uma interface de programação que permite a execução de procedimentos remotos em aplicações desenvolvidas em Java. e. O WSDL é um componente do servidor web, sendo necessário em qualquer comunicação SOAP, XML ou HTTP. Comentário da resposta: A resposta correta é a alternativa C. O WSDL (Web Service Description Language) é uma linguagem de definição baseada em XML, sendo usada para descrever a funcionalidade de um serviço web baseado em SOAP, ou seja, além do descritivo do serviço, contém a forma de acesso e quais são as operações disponíveis para utilização (BASHAM; SIERRA; BATES, 2005). Pergunta 5 Na comparação do uso de um data center local em relação à computação em nuvem, podem-se identificar diversas vantagens na implementação da computação em nuvem. 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 5/11 Escolha a alternativa correta em relação às vantagens do uso da computação em nuvem. Resposta Selecionada: c. Capacidade de expansão (vertical ou horizontal) e preço baseado na utilização com pagamento conforme o uso. Respostas: a. Risco de paralisação próximo de zero e data center único. b. Infraestrutura exige altos investimentos e capacidade de expansão (vertical ou horizontal). c. Capacidade de expansão (vertical ou horizontal) e preço baseado na utilização com pagamento conforme o uso. d. Hardware personalizável, sistemas desenvolvidos para propósito específico e risco de paralisação quase zero. e. Data center único e hardware personalizável, sistemas desenvolvidos para propósito específico. Comentário da resposta: A resposta correta é a alternativa C. A capacidade de expansão vertical ou horizontal não é possível de ser realizada em um data center local, bem como o preço baseado na utilização. Ambas são possíveis somente na computação em nuvem. Isso acontece pelo fato de a escalabilidade ser um dos pontos fundamentais na computação em nuvem, podendo ser vertical ou horizontal. A expansão vertical é uma arquitetura dimensionada para possibilitar de maneira econômica e simples a adição de recursos do sistema nele próprio. Ou seja, adicionar mais recursos conforme a demanda de uso. Já a expansão horizontal está relacionada com a capacidade de adicionar mais processamento ou máquinas físicas ao seu ambiente. Ambas são muito utilizadas na computação em nuvem. De forma que o preço baseado em uso é quando a precificação pode variar levando em consideração diversos aspectos, tais como: uso de processador, memória, quantidade de equipamentos, velocidade do link, etc. Pergunta 6 A programação em sistemas distribuídos é um item importante, portanto, conhecê- la e utilizá-la de forma apropriada é fundamental. Existem diversas linguagens de programação, como o Python, por exemplo, e todas elas possuem suas próprias 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 6/11 características, mas baseiam-se em uma definição única. Entre as opções, escolha a correta definição de linguagem de programação. Resposta Selecionada: a. Trata-se de um método padronizado e estruturado, com regras claras de implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. Respostas: a. Trata-se de um método padronizado e estruturado, com regras claras de implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. b. Trata-se de um método não estruturado, com regras definidas pelo utilizador e variando de programador para programador, para a criação de um código-fonte que pode ser compilado e transformado em um programa de computador. c. Trata-se de uma série de instruções que permitem que o programador escreva um conjunto limitado de instruções para a criação de um programa. d. Trata-se de um método não padronizado para expressar instruções para um computador na implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. e. Trata-se de método não estruturado e não padronizado para a implementação de um código-fonte que pode ser compilado e transformado em um programa de computador. Comentário da resposta: A resposta correta é a alternativa A. Uma linguagem de programação é uma forma padronizada, e com regras bem definidas, que tem como objetivo principal enviar instruções aos computadores. O seu estágio inicial é a elaboração de um código-fonte, que após compilado é transformado em um programa. Pergunta 7 Em bancos de dados transacionais, podemos definir uma transação como uma unidade ou sequência lógica, sendo importante controlar essas transações através dos seguintes comandos: COMMIT, ROLLBACK, SAVEPOINT e SET TRANSACTION. Em relação ao comando COMMIT, escolha a alternativa correta. 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 7/11 Resposta Selecionada: e. Comando utilizado para salvar transações no banco de dados. Respostas: a. Comando utilizado para desfazer transações que ainda não foram salvas no banco de dados. b. Comando utilizado para remover transações no banco de dados. c. Especificar se uma transação pode ser somente leitura ou leitura e gravação. d. É um ponteiro utilizado para reverter a transação para um determinado ponto sem reverter toda a transação. e. Comando utilizado para salvar transações no banco de dados. Comentário da resposta: A resposta correta é a alternativa E. COMMIT é um comando utilizado para salvar transações no banco de dados. Pergunta 8 Analise o script a seguir: import SOAPpy def hello(): return "Hello World" server = SOAPpy.SOAPServer(("localhost", 8080)) server.registerFunction(hello) server.serve_forever() Escolha a alternativa correta que define o script. Resposta Selecionada: a. Foi empregada uma biblioteca chamada SoAPpy para utilizar os recursos do SOAP para Python no lado servidor e ativando a porta 8080 para comunicação com o cliente. Respostas: a. Foi empregada uma biblioteca chamada SoAPpy para utilizar os recursos do SOAP para Python no lado servidor e ativando a porta 8080 para comunicação com o cliente. 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 8/11 b. Trata-se de uma função SoAPpy para utilizar os recursos do SOAP para Python no lado servidor e ativando a porta 8080 para comunicação com o cliente. c. Foi empregada uma biblioteca chamada SoAPpy para utilizar os recursos do SOAP para Python no lado cliente e ativando a porta 8080 para comunicação com o servidor. d. Trata-se de uma função SoAPpy para utilizar os recursos do SOAP para Python no lado cliente e ativando a porta 8080 para comunicação com o servidor. e. Trata-se de um script em Python para a utilização de um Remote Procedure Call (RPC) para comunicação na porta 8080 entre o cliente e o servidor. Comentário da resposta: A resposta correta é a alternativa A. A biblioteca SOAPpy foi empregada para utilizar os recursos do SOAPpara Python. Essa biblioteca fornece um recurso simples com interação dinâmica entre clientes e servidores. O exemplo escolhido é o programa disponível no site oficial do SOAPpy, que mostra a mensagem “Hello World” na tela do cliente.Para isto é necessário criar o script no lado do servidor: import SOAPpy def hello(): return "Hello World" server = SOAPpy.SOAPServer(("localhost", 8080)) server.registerFunction(hello) server.serve_forever() Pergunta 9 Em sistemas distribuídos, temos um problema conhecido como condição de corrida ou concorrência (race condition), sendo necessária a implementação de mecanismos de proteção para evitar esse tipo de problema. Os mecanismos que evitam esse tipo de problema são conhecidos como? Resposta Selecionada: a. Exclusão mútua, com o uso de mutex e semáforos. Respostas: a. Exclusão mútua, com o uso de mutex e semáforos. 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_10947… 9/11 b. Uso de processos e threads. c. Memória compartilhada em sistemas concorrentes. d. Sistemas distribuídos. e. Arquitetura cliente-servidor. Comentário da resposta: A resposta correta é a alternativa A. A implementação de mutex e semáforo é um mecanismo de proteção para evitar que dois processos ou threads tenham acesso simultâneo a um recurso compartilhado, protegendo, portanto, as regiões críticas em sistemas distribuídos. Este problema é conhecido como condição de corrida (race condition). Pergunta 10 CORBA é um padrão para fornecer interoperabilidade entre objetos distribuídos e baseia-se no princípio de que o cliente faz a chamada para interface IDL (Interface Definition Language) e esta encaminha para o ORB (Object Request Broker), que por sua vez encaminha para a interface IDL do destinatário, o qual após a execução retorna para o solicitante, seguindo os mesmos passos definidos anteriormente. Tendo a descrição como referência, escolha a alternativa que define o CORBA. Resposta Selecionada: c. É essencialmente uma especificação de design para um Object Request Broker (ORB), no qual um ORB fornece o mecanismo necessário para objetos distribuídos se comunicarem entre si, seja localmente ou em dispositivos remotos. Respostas: a. É um mecanismo de comunicação utilizada através de um buffer, que é compartilhado entre os processos para as operações de escrita e leitura. Na operação de escrita, o processo grava dados no buffer somente quando este estiver vazio. Já na operação de leitura, um processo lê dados no buffer quando existe algo. b. É um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente. c. É essencialmente uma especificação de design para um Object Request Broker (ORB), no qual um ORB fornece o mecanismo necessário para objetos distribuídos se comunicarem entre si, seja localmente ou em dispositivos remotos. 1 em 1 pontos 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_1094… 10/11 Sexta-feira, 7 de Junho de 2024 11h33min47s BRT d. É o envio de uma requisição a um outro componente por meio de uma chamada de procedimento local, funcionando com objeto em vez de aplicações. e. É o envio de mensagens (publicar/subscrever) para pontos lógicos de contato. Comentário da resposta: A resposta correta é a alternativa C. A arquitetura CORBA define como objetos devem interoperar em um ambiente distribuído. Possui também uma linguagem para definição de interface (Interface Definition Language – IDL), cuja principal função é especificar as interfaces dos objetos distribuídos de maneira que possam solicitar serviços a eles. Toda a chamada entre os objetos deve ser feita pelo Object Request Broker (ORB), que é responsável pela comunicação, de modo que, para o solicitante, os serviços são atendidos de forma transparente, e para o objeto distribuído, todas as solicitações se comportam da mesma forma. ← OK 07/06/24, 11:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_38150707_1&course_id=_241615_1&content_id=_1094… 11/11