Prévia do material em texto
<p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 1/10</p><p>PROVA ON-LINE</p><p>Entrega Sem prazo Pontos 60 Perguntas 10</p><p>Limite de tempo 60 Minutos Tentativas permitidas Sem limite</p><p>Instruções</p><p>Histórico de tentativas</p><p>Tentativa Tempo Pontuação</p><p>MAIS RECENTE Tentativa 1 12 minutos 48 de 60</p><p>Pontuação desta tentativa: 48 de 60</p><p>Enviado 3 out em 2:15</p><p>Esta tentativa levou 12 minutos.</p><p>ATENÇÃO: Verifique em "Notas" se você não atingiu o aproveitamento necessário nesta</p><p>disciplina.</p><p>Caso você já tenha realizado uma prova anterior e opte por uma nova tentativa, será</p><p>identificado como uma prova extra e resultará em pagamento de taxa extra.</p><p>INSTRUÇÕES DA AVALIAÇÃO ON-LINE</p><p>A prova tem a duração de 60 minutos.</p><p>Ao clicar em PROVA ON-LINE, no menu “Testes” você iniciará a prova. A partir daí não será</p><p>possível desistir de realizá-la.</p><p>A prova é composta de 10 questões objetivas, cada uma no valor de 6 pontos.</p><p>Ao final do teste não se esqueça de enviá-lo, clicando no botão “ENVIAR TESTE”. Só utilize</p><p>esse botão quando tiver finalizado a avaliação.</p><p>Se necessário, durante a prova, entre em contato pelo link “Atendimento”.</p><p>ATENÇÃO: Todas as provas iniciadas e que não houverem sido submetidas serão</p><p>automaticamente encerradas pelo sistema transcorridos os 60 minutos de duração.</p><p>Boa Prova!</p><p>Fazer o teste novamente</p><p>6 / 6 ptsPergunta 1</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766/history?version=1</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766/take?user_id=164361</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 2/10</p><p>Microsserviços normalmente possuem seus próprios repositórios</p><p>de dados e isso traz implicações sobre o desenho de transações de</p><p>sistemas distribuídos.</p><p>Sobre transações em microsserviços pode-se dizer que:</p><p>Eles suportam os aspectos C e A do teorema de CAP.</p><p>Eles não suportam transações distribuídas e trabalham com o</p><p>paradigma chamado de consistência eventual.</p><p>Correto!Correto!</p><p>Eles suportam os aspectos C, A e P do teorema de CAP.</p><p>Eles suportam os aspectos C e P do teorema de CAP.</p><p>6 / 6 ptsPergunta 2</p><p>“O termo "Arquitetura de Microsserviços (Microservice Architecture)"</p><p>surgiu nos últimos anos para descrever uma maneira específica de</p><p>desenvolver software como suites de serviços com implantação</p><p>independente. Embora não exista uma definição precisa desse estilo de</p><p>arquitetura, há certas características comuns em relação à</p><p>organização, à capacidade de negócios, ao deploy automatizado, à</p><p>inteligência nos terminais e ao controle descentralizado de linguagens</p><p>e de dados.”, James Lewis e Martin Fowler, 2014.</p><p>É CORRETO dizer sobre esse estilo arquitetural:</p><p>Microsserviços compartilham um único banco de dados, que facilita</p><p>a comunicação de dados e fornece consistência transacional entre</p><p>eles.</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 3/10</p><p>Microsserviços podem ser implementados em tecnologias como Go</p><p>e Eerlang.</p><p>Correto!Correto!</p><p>A linguagem de implementação não importa para o</p><p>desenvolvimento de aplicativos SOA</p><p>Ele é um novo nome para o estilo arquitetural SOA.</p><p>O WCF não pode ser usado para criar uma arquitetura de</p><p>microsserviços na plataforma .NET.</p><p>6 / 6 ptsPergunta 3</p><p>O uso de microsserviços requer o aporte de tecnologias específicas</p><p>que facilitam o trabalho e gerenciamento desses serviços.</p><p>Pode-se dizer que as seguintes tecnologias são muito usadas em</p><p>microsserviços, EXCETO:</p><p>Netflix Hystrix, Netflix Eureka e Docker.</p><p>ASP.NET Core, Netflix Eureka e Docker.</p><p>Netflix Hystrix, IBM WAS e Docker. Correto!Correto!</p><p>O IBM WAS Websphere Application Server não é apropriado</p><p>para microsserviços.</p><p>ASP.NET Core, SpringBoot e Docker.</p><p>0 / 6 ptsPergunta 4</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 4/10</p><p>Plataformas governamentais no Brasil ainda são fortemente</p><p>baseadas em SOAP. E para esse suporte temos tecnologias como o</p><p>JAX-WS ou o WCF, que foram criadas para que desenvolvedores</p><p>pudessem criar serviços Web baseados em SOAP/HTTP, SOAP/JMS,</p><p>XML e JSON e outras combinações de protocolos de transporte e</p><p>dados.</p><p>É CORRETO dizer sobre essas tecnologias:</p><p>O WCF e o JAX-WS suportam o protocolo WS-Security. esposta corretaesposta correta</p><p>O JAX-WS suporta o protocolo IIOP. ocê respondeuocê respondeu</p><p>O WCF foi integrado no .NET Core a partir de 2017</p><p>O JAX-WS foi removido da especificação Java EE 7 e substituído pelo</p><p>JAX-RS, mais moderno e mais eficiente.</p><p>6 / 6 ptsPergunta 5</p><p>As arquiteturas de back-end e microsserviços são baseados no</p><p>protocolo HTTP. Esse protocolo, sem estado e orientado a</p><p>conexões, é a peça fundamental através da qual serviços e APIs</p><p>operam.</p><p>É CORRETO dizer sobre o protocolo HTTP:</p><p>Os métodos INCLUDE e POST podem ser usados para criar novos</p><p>recursos em servidores Web.</p><p>O método POST processa parâmetros somente através da Query</p><p>String.</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 5/10</p><p>Os métodos GET e POST são seguros.</p><p>Os métodos PUT, DELETE e GET são considerados idempotentes.</p><p>Correto!Correto!</p><p>8.1.3 (https://tools.ietf.org/html/rfc7231#section-</p><p>8.1.3) . Registrations</p><p>The "Hypertext Transfer Protocol (HTTP) Method Regis</p><p>try" has been</p><p>populated with the registrations below:</p><p>+---------+------+------------+---------------+</p><p>| Method | Safe | Idempotent | Reference |</p><p>+---------+------+------------+---------------+</p><p>| CONNECT | no | no | Section 4.3.6 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.6) |</p><p>| DELETE | no | yes | Section 4.3.5 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.5) |</p><p>| GET | yes | yes | Section 4.3.1 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.1) |</p><p>| HEAD | yes | yes | Section 4.3.2 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.2) |</p><p>| OPTIONS | yes | yes | Section 4.3.7 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.7) |</p><p>| POST | no | no | Section 4.3.3 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.3) |</p><p>| PUT | no | yes | Section 4.3.4 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.4) |</p><p>| TRACE | yes | yes | Section 4.3.8 (http</p><p>s://tools.ietf.org/html/rfc7231#section-4.3.8) |</p><p>https://tools.ietf.org/html/rfc7231</p><p>6 / 6 ptsPergunta 6</p><p>O Java EE é uma das plataformas mais conhecidas para a</p><p>montagem de arquiteturas de Back-end e microsserviços. Ela</p><p>possui diversas tecnologias para a criação de aplicações servidoras</p><p>de serviços.</p><p>É INCORRETO dizer sobre tecnologias de back-end do Java EE:</p><p>https://tools.ietf.org/html/rfc7231#section-8.1.3</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.6</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.5</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.1</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.2</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.7</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.3</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.4</p><p>https://tools.ietf.org/html/rfc7231#section-4.3.8</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 6/10</p><p>O JAX-WS, padrão moderno e introduzido no Java EE 6, tornou o JAX-</p><p>RS obsoleto.</p><p>Correto!Correto!</p><p>O JAX-WS foi introduzido no Java EE 1.4. E ele não tornou o JAX-</p><p>RS obsoleto.</p><p>O JCA (Java Connector Architecture) é usado para permitir a</p><p>conectividade de Java a sistemas legados como por exemplo SAP</p><p>ECC ou COBOL.</p><p>O JAX-WS suporta o protocolo de envelopamento SOAP e suporta</p><p>diversos protocolos de transporte tais como HTTP, JMS ou TCP-IP.</p><p>O JAX-RS pode ser usado para trafegar dados</p><p>em formato JSON e</p><p>também em XML.</p><p>6 / 6 ptsPergunta 7</p><p>“Para começar a explicar o estilo de microsserviços, é útil compará-</p><p>lo com o estilo de aplicativo monolítico, construído como uma</p><p>única unidade. Aplicativos corporativos geralmente são</p><p>construídos em três partes principais: a interface de usuário do</p><p>lado do cliente (que consiste em páginas HTML e JavaScript</p><p>executadas em um navegador na máquina do usuário) um banco</p><p>de dados (que consiste em muitas tabelas inseridas em um sistema</p><p>de gerenciamento de banco de dados comum, geralmente</p><p>relacional), e um aplicativo do lado do servidor. O aplicativo do lado</p><p>do servidor lida com as solicitações HTTP, executa a lógica do</p><p>domínio, recupera e atualiza dados do banco de dados, e seleciona</p><p>e preenche as visualizações HTML a serem enviadas para o</p><p>navegador. Esse aplicativo do lado do servidor é monolítico - um</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 7/10</p><p>executável lógico único. Quaisquer mudanças no sistema envolvem</p><p>criação e deploy de uma nova versão do aplicativo no lado do</p><p>servidor. O servidor monolítico é o caminho natural para abordar a</p><p>construção de um sistema desse tipo. Toda a sua lógica para lidar</p><p>com uma solicitação é executada em um único processo, o que lhe</p><p>permite usar os recursos básicos de sua linguagem para dividir a</p><p>aplicação em classes, funções e namespaces. Com um pouco de</p><p>cuidado, você pode executar e testar o aplicativo no laptop de um</p><p>desenvolvedor, usando um pipeline de deploy para garantir que as</p><p>mudanças sejam devidamente testadas e colocadas em produção.</p><p>Você pode escalar um aplicativo monolítico horizontalmente,</p><p>executando muitas instâncias atrás de um balanceador de carga.</p><p>Aplicativos monolíticos podem funcionar bem, mas cada vez mais</p><p>as pessoas estão se frustrando com eles, especialmente à medida</p><p>que mais aplicativos vem tendo seus deploys na nuvem. Ciclos de</p><p>alterações são vinculados - uma alteração feita uma pequena parte</p><p>do monolito requer que todo ele seja reconstruído e que o deploy</p><p>seja refeito. Ao longo do tempo muitas vezes é difícil manter uma</p><p>boa estrutura modular, o que dificulta mantermos as alterações</p><p>que devem afetar apenas um módulo de dentro do módulo.</p><p>Escalar requer o redimensionamento de todo o aplicativo, ao invés</p><p>de partes que exigem mais recursos.</p><p>Essas frustrações levaram à criação do estilo de arquitetura de</p><p>microsserviços: construir aplicativos como suites de serviços. Assim</p><p>como os serviços têm deploy independente e são escaláveis, cada</p><p>serviço também possui um limite de módulo firme, que permite</p><p>inclusive que diferentes serviços sejam escritos em diferentes</p><p>linguagens de programação. Eles também podem ser gerenciados</p><p>por equipes diferentes.”, James Lewis e Martin Fowler, 2014.</p><p>Sobre a comparação do estilo de microsserviços com o estilo</p><p>monolítico, É CORRETO dizer que:</p><p>Microsserviços tem a implantabilidade e manutenibilidade</p><p>simplificadas, comparativamente a arquiteturas monolíticas.</p><p>Correto!Correto!</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 8/10</p><p>Microsserviços tem uma manutenção de código mais simples,</p><p>pois são menores. E são mais simples para serem implantados</p><p>em produção. Mas a sua testabilidade é difícil e a mão de obra</p><p>ainda é escassa.</p><p>Microsserviços tem testabilidade simplificada, comparativamente a</p><p>arquiteturas monolíticas.</p><p>Microsserviços tem a manutenibilidade, disponibilidade de mão de</p><p>obra e a testabilidade simplificada, comparativamente a</p><p>arquiteturas monolíticas.</p><p>Microsserviços tem testabilidade e implantabilidade simplificada,</p><p>comparativamente a arquiteturas monolíticas.</p><p>6 / 6 ptsPergunta 8</p><p>A tecnologia .NET evolui muito no seu lado servidor e possui</p><p>alternativas como o WCF, o ASP.NET, o ASP.NET Core Web API ou o</p><p>Azure Service Fabric para a criação de microsserviços.</p><p>Sobre essas tecnologias, pode-se dizer que:</p><p>O WCF, similar ao JAX-RS, é a tecnologia mais apropriada para a</p><p>criação de microsserviços em .NET.</p><p>O ASP.NET Core e o ASP.NET tradicional possuem o mesmo nível de</p><p>facilidade para suportar o estilo de microsserviços.</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 9/10</p><p>O Azure Service Fabric está mais preparado para operar em modelo</p><p>de microsserviços que o ASP.NET Core operando on-premises. Isso</p><p>porque ele opera sobre a nuvem Azure e suporta serviços de</p><p>infraestrutura para suportar serviços de negócio. Esses serviços de</p><p>infraestrutura incluem tolerância a falhas, registro, descoberta</p><p>dinâmica, escalabilidade vertical e horizontal.</p><p>Correto!Correto!</p><p>0 / 6 ptsPergunta 9</p><p>O estilo Serverless, ou FaaS (Function as a Service) ou Plataforma de</p><p>Função como Serviço está sendo disseminado por provedores</p><p>de Cloud Computing, como por exemplo a Amazon, Microsoft e</p><p>Google.</p><p>Esse serviço faz parte de uma arquitetura de computação</p><p>orientada a eventos. A plataforma foi concebida para permitir aos</p><p>desenvolvedores e outros profissionais de TI a criação e execução</p><p>de aplicativos sem se preocupar com as funções realizadas pelas</p><p>máquinas virtuais. A plataforma Serverless permite aos</p><p>desenvolvedores ficarem livres do trabalho de gerenciar a</p><p>infraestrutura de servidores.</p><p>Quando comparamos o estilo de computação serverless como</p><p>microsserviços, É CORRETO dizer que:</p><p>FAAS é um tipo de PAAS, onde a plataforma é agora dada como</p><p>funções.</p><p>ocê respondeuocê respondeu</p><p>Microsserviços são tipos particulares de funções como serviços.</p><p>Funções como serviços são tipos particulares de microsserviços e</p><p>são chamados por alguns autores de nanosserviços</p><p>esposta corretaesposta correta</p><p>Microsserviços e funções como serviços não são comparáveis.</p><p>03/10/2021 02:15 PROVA ON-LINE: 08 - Arquitetura de Back End (2021)</p><p>https://pucminas.instructure.com/courses/65067/quizzes/236766 10/10</p><p>6 / 6 ptsPergunta 10</p><p>A plataforma .NET é uma das plataformas mais conhecidas para a</p><p>montagem de arquiteturas de back-end e microsserviços. Ela</p><p>possui diversas tecnologias para a criação de aplicações servidoras</p><p>de serviços.</p><p>É INCORRETO dizer que sobre tecnologias de back-end do .NET:</p><p>Aplicações ASP.NET Core são tecnologias mais apropriadas para a</p><p>criação de microsserviços que aplicações ASP.NET tradicionais. Isso</p><p>porque elas podem operar fora do IIS, tem suporte facilitado para</p><p>Docker e podem ser executadas em Windows, Linux e OS/X.</p><p>É possível criar aplicações com estilo arquitetural MVVM com o</p><p>ASP.NET tradicional e também com o ASP.NET Core.</p><p>O .NET Core traz o ASP.NET Web API como uma parte integrante</p><p>obrigatória.</p><p>O WCF (Windows Communication Framework) se tornou obsoleto</p><p>com a chegada do ASP.NET Web API e foi removido do framework</p><p>ASP.NET do Windows.</p><p>Correto!Correto!</p><p>Pontuação do teste: 48 de 60</p>