Baixe o app para aproveitar ainda mais
Prévia do material em texto
02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 1/10 PROVA ON-LINE Entrega Sem prazo Pontos 60 Perguntas 10 Limite de tempo 60 Minutos Tentativas permitidas Sem limite Instruções Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 16 minutos 60 de 60 Pontuação desta tentativa: 60 de 60 Enviado 2 abr em 18:32 Esta tentativa levou 16 minutos. ATENÇÃO: Verifique em "Notas" se você não atingiu o aproveitamento necessário nesta disciplina. Caso você já tenha realizado uma prova anterior e opte por uma nova tentativa, será identificado como uma prova extra e resultará em pagamento de taxa extra. INSTRUÇÕES DA AVALIAÇÃO ON-LINE A prova tem a duração de 60 minutos. Ao clicar em PROVA ON-LINE, no menu “Testes” você iniciará a prova. A partir daí não será possível desistir de realizá-la. A prova é composta de 10 questões objetivas, cada uma no valor de 6 pontos. Ao final do teste não se esqueça de enviá-lo, clicando no botão “ENVIAR TESTE”. Só utilize esse botão quando tiver finalizado a avaliação. Se necessário, durante a prova, entre em contato pelo link “Atendimento”. ATENÇÃO: Todas as provas iniciadas e que não houverem sido submetidas serão automaticamente encerradas pelo sistema transcorridos os 60 minutos de duração. Boa Prova! Fazer o teste novamente 6 / 6 ptsPergunta 1 https://pucminas.instructure.com/courses/90089/quizzes/336456/history?version=1 https://pucminas.instructure.com/courses/90089/quizzes/336456/take?user_id=166255 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 2/10 A tecnologia .NET evolui muito no seu lado servidor e possui alternativas como o WCF, o ASP.NET, o ASP.NET Core Web API ou o Azure Service Fabric para a criação de microsserviços. Sobre essas tecnologias, pode-se dizer que: O WCF, similar ao JAX-RS, é a tecnologia mais apropriada para a criação de microsserviços em .NET. O Azure Service Fabric está mais preparado para operar em modelo de microsserviços que o ASP.NET Core operando on-premises. Isso porque ele opera sobre a nuvem Azure e suporta serviços de infraestrutura para suportar serviços de negócio. Esses serviços de infraestrutura incluem tolerância a falhas, registro, descoberta dinâmica, escalabilidade vertical e horizontal. Correto!Correto! O ASP.NET Core e o ASP.NET tradicional possuem o mesmo nível de facilidade para suportar o estilo de microsserviços. 6 / 6 ptsPergunta 2 Os provedores de nuvens e ambientes de microcontêineres ofertam tecnologias interessantes para os estilos de APIs, microsserviços e funções como serviços (FAAS). Sobre esses arranjos tecnológicos, É INCORRETO dizer que: O AWS API Gateway e o AWS Lambda podem ser usados para criar APIs governadas que expõem microsserviços de funções como serviços. 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 3/10 O Google Cloud Functions possui tarifação em tempo de CPU e espaço de memória usado pelos microsserviços. O Docker já é suportado pelo Visual Studio 2017 para empacotar aplicações .NET Core em contêineres isolados e com isso facilitar a implantabilidade de aplicações .NET. O Docker e o Google Kubernetes não podem ser usados para criar enxames de microsserviços que operem em clusters horizontais ou verticais. Correto!Correto! 6 / 6 ptsPergunta 3 Microsserviços normalmente possuem seus próprios repositórios de dados e isso traz implicações sobre o desenho de transações de sistemas distribuídos. Sobre transações em microsserviços pode-se dizer que: Eles suportam os aspectos C, A e P do teorema de CAP. Eles suportam os aspectos C e A do teorema de CAP. Eles não suportam transações distribuídas e trabalham com o paradigma chamado de consistência eventual. Correto!Correto! Eles suportam os aspectos C e P do teorema de CAP. 6 / 6 ptsPergunta 4 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 4/10 A Internet das coisas tem trazido a necessidade de aplicações com escalabilidade sob demanda e um estilo de computação chamada de Reactive Architectutures tem se popularizado. Neste contexto, Funções como serviços (FAAS) podem ser usados para responder a vários tipos de eventos para arquiteturas reativas. Alguns dos eventos normalmente suportados por funções como serviços (FAAS) incluem: Renderização de HTML, chamadas HTTP e alterações em filas de mensagens. Movimentação de mouse e teclado, alterações em filas de mensagens e chamadas HTTP. Alterações em banco de dados, alterações em filas de mensagens e entrada de dados de teclados. Chamadas HTTP, alterações em filas de mensagens e alterações em banco de dados. Correto!Correto! 6 / 6 ptsPergunta 5 “Para começar a explicar o estilo de microsserviços, é útil compará-lo com o estilo de aplicativo monolítico, construído como uma única unidade. Aplicativos corporativos geralmente são construídos em três partes principais: a interface de usuário do lado do cliente (que consiste em páginas HTML e JavaScript executadas em um navegador na máquina do usuário) um banco de dados (que consiste em muitas tabelas inseridas em um sistema de gerenciamento de banco de dados comum, geralmente relacional), e um aplicativo do lado do servidor. O aplicativo do lado do servidor lida com as solicitações HTTP, executa a 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 5/10 lógica do domínio, recupera e atualiza dados do banco de dados, e seleciona e preenche as visualizações HTML a serem enviadas para o navegador. Esse aplicativo do lado do servidor é monolítico - um executável lógico único. Quaisquer mudanças no sistema envolvem criação e deploy de uma nova versão do aplicativo no lado do servidor. O servidor monolítico é o caminho natural para abordar a construção de um sistema desse tipo. Toda a sua lógica para lidar com uma solicitação é executada em um único processo, o que lhe permite usar os recursos básicos de sua linguagem para dividir a aplicação em classes, funções e namespaces. Com um pouco de cuidado, você pode executar e testar o aplicativo no laptop de um desenvolvedor, usando um pipeline de deploy para garantir que as mudanças sejam devidamente testadas e colocadas em produção. Você pode escalar um aplicativo monolítico horizontalmente, executando muitas instâncias atrás de um balanceador de carga. Aplicativos monolíticos podem funcionar bem, mas cada vez mais as pessoas estão se frustrando com eles, especialmente à medida que mais aplicativos vem tendo seus deploys na nuvem. Ciclos de alterações são vinculados - uma alteração feita uma pequena parte do monolito requer que todo ele seja reconstruído e que o deploy seja refeito. Ao longo do tempo muitas vezes é difícil manter uma boa estrutura modular, o que dificulta mantermos as alterações que devem afetar apenas um módulo de dentro do módulo. Escalar requer o redimensionamento de todo o aplicativo, ao invés de partes que exigem mais recursos. Essas frustrações levaram à criação do estilo de arquitetura de microsserviços: construir aplicativos como suites de serviços. Assim como os serviços têm deploy independente e são escaláveis, cada serviço também possui um limite de módulo firme, que permite inclusive que diferentes serviços sejam escritos em diferentes linguagens de programação. Eles também podem ser gerenciados por equipes diferentes.”, James Lewis e Martin Fowler, 2014. Sobre a comparação do estilo de microsserviços com o estilo monolítico, É CORRETO dizer que: Microsserviços tem a manutenibilidade, disponibilidade de mão de obra e a testabilidade simplificada, comparativamente a arquiteturas monolíticas. 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End(2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 6/10 Microsserviços tem testabilidade simplificada, comparativamente a arquiteturas monolíticas. Microsserviços tem a implantabilidade e manutenibilidade simplificadas, comparativamente a arquiteturas monolíticas. Correto!Correto! Microsserviços tem uma manutenção de código mais simples, pois são menores. E são mais simples para serem implantados em produção. Mas a sua testabilidade é difícil e a mão de obra ainda é escassa. Microsserviços tem testabilidade e implantabilidade simplificada, comparativamente a arquiteturas monolíticas. 6 / 6 ptsPergunta 6 A plataforma .NET é uma das plataformas mais conhecidas para a montagem de arquiteturas de back-end e microsserviços. Ela possui diversas tecnologias para a criação de aplicações servidoras de serviços. É INCORRETO dizer que sobre tecnologias de back-end do .NET: É possível criar aplicações com estilo arquitetural MVVM com o ASP.NET tradicional e também com o ASP.NET Core. Aplicações ASP.NET Core são tecnologias mais apropriadas para a criação de microsserviços que aplicações ASP.NET tradicionais. Isso porque elas podem operar fora do IIS, tem suporte facilitado para Docker e podem ser executadas em Windows, Linux e OS/X. 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 7/10 O .NET Core traz o ASP.NET Web API como uma parte integrante obrigatória. O WCF (Windows Communication Framework) se tornou obsoleto com a chegada do ASP.NET Web API e foi removido do framework ASP.NET do Windows. Correto!Correto! 6 / 6 ptsPergunta 7 “O termo "Arquitetura de Microsserviços (Microservice Architecture)" surgiu nos últimos anos para descrever uma maneira específica de desenvolver software como suites de serviços com implantação independente. Embora não exista uma definição precisa desse estilo de arquitetura, há certas características comuns em relação à organização, à capacidade de negócios, ao deploy automatizado, à inteligência nos terminais e ao controle descentralizado de linguagens e de dados.”, James Lewis e Martin Fowler, 2014. É CORRETO dizer sobre esse estilo arquitetural: Microsserviços podem ser implementados em tecnologias como Go e Eerlang. Correto!Correto! A linguagem de implementação não importa para o desenvolvimento de aplicativos SOA Microsserviços compartilham um único banco de dados, que facilita a comunicação de dados e fornece consistência transacional entre eles. O WCF não pode ser usado para criar uma arquitetura de microsserviços na plataforma .NET. 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 8/10 Ele é um novo nome para o estilo arquitetural SOA. 6 / 6 ptsPergunta 8 Uma API representa um conjunto de serviços que podem ser consumidos por diferentes dispositivos e plataformas tecnológicas. Na plataforma Microsoft, o WCF e o ASP.NET Web API são tecnologias que podem suportar o desenvolvimento de APIs. É CORRETO dizer sobre essas tecnologias: O ASP.NET WEB API não suporta operação sobre soquetes seguros (SSL). O WCF suporta protocolos síncronos e assíncronos. Correto!Correto! O ASP.NET Web API opera diretamente com protocolo UDP. O WCF não suporta protocolos UDP. 6 / 6 ptsPergunta 9 Uma API representa um conjunto de serviços que podem ser consumidos por diferentes dispositivos e plataformas tecnológicas. Na plataforma Microsoft, Servlets, EJB, o JAX-RS e o JAX-WS são algumas das tecnologias que podem suportar o desenvolvimento de APIs. Sobre essas tecnologias, É INCORRETO dizer: O JAX-WS suporta SOAP. EJBs não suportam a operação sobre protocolo JMS. Correto!Correto! 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 9/10 O JAX-RS suporta protocolo HTTP e tem sido muito adotado para a montagem de aplicações RESTful em Java. Servlets podem ser usados como despachantes de requisições HTTP, filtros de segurança e controladores Web. 6 / 6 ptsPergunta 10 A escolha de estilos e componentes de backend é uma importante habilidade do arquiteto de software. Componentes, APIS, microsserviços e funções como serviços são algumas das escolhas atualmente disponíveis para arquitetos em diversos tipos de projetos. Quando comparamos e combinamos APIs e microsserviços, pode-se dizer que: Funções como serviços surgem como alternativas que irão tornar obsoletos o estilo de microsserviços. Microsserviços substituem a oferta de APIs para a disponibilização de funcionalidades servidoras. APIs não podem ser usadas para expor funções como serviços, pois essas últimas são orientadas a eventos e, portanto, reativas. APIs permitem expor microsserviços de forma ativa através de fachadas organizadas com acesso seguro e governado. Correto!Correto! 02/04/2023, 18:32 PROVA ON-LINE: 07 - Arquitetura de Back-End (2022) https://pucminas.instructure.com/courses/90089/quizzes/336456 10/10 Pontuação do teste: 60 de 60
Compartilhar