Prévia do material em texto
1. A internet está repleta de arquiteturas e protocolos na construção das aplicações. Por conter uma grande diversidade de aplicações e sistemas, é importante o trabalho dos especialistas em arquitetura de soluções. Esse profissional é responsável por escolher o melhor conjunto de tecnologias a ser utilizado para o problema específico. Dentre essas tecnologias, podemos citar a linguagem Java para o back-end e uma arquitetura baseada em serviços. Considerando o que está apontado acima, em qual cenário é altamente recomendado o uso de web services? Sua resposta está correta. Alternativa correta. Os sistemas de integração entre as empresas precisam de uma interface bem definida e uma solução que aceite diferentes linguagens e implementações, compartilhando somente as formas de receber e enviar dados. • Nas redes de sensores sem fio em localidades isoladas. ✓ Na integração de negócios entre empresas, ou seja, B2B. • Nas aplicações que exigem alto grau de acoplamento entre os componentes. • Na autenticação de aplicações financeiras, principalmente os bancos. • Nos sistemas que precisam acessar a mesma base de dados. 2. Dado o grande aumento nas velocidades de conexões com a internet, a popularização dessas altas velocidades e a enorme quantidade de dados que as aplicações trocam na internet, surge um problema: como trafegar esses dados para que sejam acessados por diferentes aplicações que usam diferentes linguagens e plataformas? Para reduzir o prejuízo causado por esse problema, as aplicações usam padrões de armazenamento de dados, permitindo que o dado seja enviado em um formato conhecido pelas aplicações comunicantes. Considerando o que está acima, assinale a alternativa que contém formatos de dados usados nos web services. Sua resposta está correta. Alternativa correta. O XML (Extensible Markup Language) e JSON (JavaScript Object Notation) são formatos de dados amplamente usados para o tráfego de informações na camada de aplicação pelos sistemas comunicantes. O JSON é muito usado por possuir boa compactação e legibilidade. • XML (Extensible Markup Language) e WSDL (Web Services Description Language). ✓ XML (Extensible Markup Language) e JSON (JavaScript Object Notation). • JSON (JavaScript Object Notation) e WSDL (Web Services Description Language). • JSON (JavaScript Object Notation), apenas. • JSON (JavaScript Object Notation) e HTTP (Hypertext Transfer Protocol). 3. Com o crescimento da internet, a diversificação das aplicações e o surgimento de milhões de novos sistemas, a comunicação entre sistemas tornou-se um problema no desenvolvimento de software. É perceptível que um sistema precisa se comunicar com vários outros para prover uma melhor experiência de uso ao cliente. Por exemplo, o sistema de email pode enviar notificações para o sistema gerenciador do calendário para incluir eventos como viagens ou reuniões automaticamente no seu calendário. Para permitir essa troca de informações, é comum o uso de Remote Procedure Call (RPC), Remote Method Invocation (RMI) e web services. Com base no apresentado, analise as asserções a seguir e a relação proposta entre elas. I. Os web services são uma evolução dos Remote Procedure Call (Chamada Remota de Procedimentos, RPC). PORQUE II. Melhoraram a dependência de tecnologia que havia na RPC, em que os servidores precisavam implementar ou conhecer a mesma tecnologia. A respeito dessas asserções, assinale a opção correta. Sua resposta está correta. Alternativa correta. A asserção I é uma proposição verdadeira, pois os web services são uma evolução das chamadas remotas de procedimentos (RPC) e do Remote Method Invocation (RMI), dado as limitações impostas pelo RPC e RMI surgiram os web services. A asserção II é uma proposição verdadeira, pois os web services supriram algumas das limitações dos RPC e RMI por permitirem a comunicação entre sistemas totalmente desacoplados, somente enviando e recebendo dados de forma estruturada, sem acessar o código da outra aplicação. Ainda, a asserção II é uma justificativa correta da I, pois há uma relação direta entre o RPC, RMI e os web services, com o avanço e diversificação das tecnologias, os web services se tornaram mais atrativos para as organizações. • As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. • A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. ✓ As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. • As asserções I e II são proposições falsas. • A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. 4. A comunicação entre os sistemas na internet é altamente dependente da troca de mensagens entre os sistemas. Essa troca de mensagens deve ser estruturada por um protocolo ou formato de dados que permite que todos os sistemas se entendam. Seria muito difícil se cada sistema usasse uma estrutura própria para formatação e envio dos dados para a rede. Por isso, há alguns padrões que podem ser seguidos pelas aplicações, como linguagens, formato de dados, protocolos de transmissão de mensagens etc. Com base no texto apresentado, avalie as afirmações a seguir. I. HTTP: é um protocolo da camada de aplicação que segue o modelo cliente/servidor para facilitar a transferência de conteúdo. II. XML: é uma linguagem de formatação usada para compartilhar informações entre diferentes computadores e processos, oferecendo uma sintaxe flexível e extensível. III. SOAP: Service Oriented Architecture Protocol é um protocolo de transferência de mensagens em formato XML projetado para ambientes distribuídos. IV. WSDL: é um documento em formato XML chamado Web Services Description Language, que descreve as operações oferecidas pelo web service. É correto o que se afirma em: Sua resposta está correta. Alternativa correta. A afirmativa I está correta, pois o HTTP é um protocolo usado em quase todas as aplicações que rodam na internet, seguindo o modelo cliente-servidor. A afirmativa II está correta, pois o XML é uma linguagem usada para formatar os dados que trafegam na rede, similar ao JSON. A afirmativa III está correta, pois o SOAP é muito usado em sistemas distribuídos por permitir a comunicação entre as máquinas, permitindo enviar mensagens em XML. A afirmativa IV está correta, pois WSDL é um documento que usa o formato XML para estruturar os dados e descrever os serviços que um determinado servidor oferece, permitindo a consulta por clientes na internet. • I, apenas. ✓ I, II, III e IV. • I, II e III, apenas. • I e IV, apenas. • I e III, apenas. 5. A computação em nuvem consegue fornecer maior poder computacional ao agregar o poder de computação de recursos simples ao interligá-los e gerenciar essa conexão para distribuição do trabalho e síntese dos resultados processados. Usar esse tipo de arquitetura é mais barato do que construir grandes servidores. Por usar recursos simples, a infraestrutura é mais barata e de fácil acesso. Os clusters e os grids são formações de recursos que objetivam funcionalidades diferentes. Com base no texto apresentado, avalie as afirmações a seguir. I. Os clusters possuem seus nós ligados fisicamente para permitir menor latência, ou seja, redução do tempo de resposta. II. Os grids possuem recursos distribuídos geograficamente e se comunicam por redes, geralmente usando redes de alta velocidade. III. O cluster de alta disponibilidade garante a disponibilidade contínua dos serviços, mesmo em caso de falhas em um ou mais nós. IV. O cluster de balanceamento de carga distribui a carga de trabalho de forma equilibrada entre os nós, evitando sobrecarga. É correto o que se afirma em: Sua resposta está correta. Alternativa correta. A afirmativa I está correta, pois os clusters são ligados fisicamente por redes de alta velocidade, permitindo menorlatência na troca de informações. Por isso, é usado para aplicações que necessitam de alto poder de CPU. A afirmativa II está correta, pois os grids são máquinas conectadas de forma virtual por redes de comunicação, podendo usar a internet. Por dependerem da rede, esse tipo de aglomeração de computadores possui uma maior latência quando comparado aos clusters. A afirmativa III está correta, pois há tipos de clusters, cada tipo focado para um determinado uso. Por exemplo, o cluster de alta disponibilidade é montado de uma forma que possui redundância nos recursos, permitindo que o fluxo de dados seja redirecionado caso um nó falhe. A afirmativa IV está correta, pois o cluster de balanceamento de carga é usado para distribuir de forma eficiente a quantidade de trabalho que precisa ser executado entre os nós do cluster. Este processo é necessário para não sobrecarregar nenhum nó e deixar outros ociosos. • I, apenas. ✓ I, II, III e IV. • I, II e III, apenas. • I e IV, apenas. • I e III, apenas. 6. As nuvens públicas já possuem uma fatia significativa das aplicações executadas atualmente na internet. Além disso, estão crescendo de forma acelerada, incluindo muitas aplicações que antes eram executadas em servidores dedicados, instalados fisicamente no prédio das organizações. Neste cenário, existem modelos de implantação de aplicações nas nuvens públicas, podendo ser a disponibilização de infraestrutura, plataformas e aplicativos ou serviços. Com base no texto apresentado, avalie as afirmações a seguir. I. O modelo de Infraestrutura como Serviço (IaaS) fornece servidores e rede, permitindo que os usuários gerenciem e implantem seus próprios aplicativos e sistemas. II. O modelo de Plataforma como Serviço (PaaS) fornece uma plataforma para o desenvolvimento e implantação de aplicativos. III. O modelo de Software como Serviço (SaaS) disponibiliza aplicativos completos pela internet, sem a necessidade de instalação local. IV. O modelo de Infraestrutura como Serviço (IaaS) tem como característica o gerenciamento dos aplicativos pela nuvem. É correto o que se afirma em: Sua resposta está correta. Alternativa correta. A afirmativa I está correta, pois o modelo de Infraestrutura como Serviço (IaaS) é usado quando a empresa deseja ter controle mais detalhado sobre tudo o que executa na infraestrutura, sendo disponibilizado pela nuvem somente a infraestrutura e o acesso aos servidores. A afirmativa II está correta, pois o modelo de Plataforma como Serviço (PaaS) está um nível de abstração acima do IaaS, fornecendo aplicações em vez de somente infraestrutura. Neste modelo, a infraestrutura e parte da instalação das aplicações são gerenciadas pela nuvem. A afirmativa III está correta, pois o modelo de Software como Serviço (SaaS) disponibiliza um nível mais abstrato do que o PaaS, fornecendo serviços e aplicações sem o gerenciamento do cliente, somente o serviço executando. A afirmativa IV está incorreta, pois no modelo de Infraestrutura como Serviço (IaaS) somente o gerenciamento da infraestrutura é feito pela nuvem, todos os outros níveis acima são feitos pelo cliente. • I, apenas. • I e II, apenas. ✓ I, II e III, apenas. • I e IV, apenas. • I e III, apenas. 7. Lais é coordenadora técnica na DatSolutions e nas últimas semanas se deparou com um problema de adequação da empresa a novas tecnologias provenientes de uma parceria. A empresa parceira possui uma demanda por alto poder de processamento para analisar imagens de satélites e descobrir se há sinais de água nas imagens coletadas. Para realizar essa análise, demanda-se a execução de algoritmos complexos que exigem muito poder de processamento da CPU e memória, sendo necessário processar em diversas máquinas para paralelizar as tarefas. Considerando o que está apontado acima, qual é a tecnologia mais adequada para resolver o problema descrito? Sua resposta está correta. Alternativa correta. O problema exige muito poder computacional de CPU e memória, sendo o cluster a melhor opção por possuir seus nós ligados fisicamente por redes de alta velocidade, não havendo latência considerável da rede. • Grid, por permitir uso dos recursos ociosos. ✓ Cluster, por executar grandes quantidades de dados. • Banco de dados, por permitir armazenamento confiável. • S3, por permitir o armazenamento de terabytes de dados. • BigQuery, por executar pesquisas em Big Data. 8. A nuvem da Amazon Web Services (AWS) oferece centenas de serviços na nuvem que podem ser usados por diferentes nichos de empresas. Alguns dos serviços mais utilizados são: armazenamento de dados (S3), instâncias de servidores (EC2), bancos de dados (RDS, Redshift etc.), dentre outros. Em específico sobre os bancos de dados, há diversos que podem ser utilizados, desde o banco de dados relacional até o banco não relacional e baseado em documentos. Além disso, com a grande quantidade de processamento e armazenamento de dados que temos atualmente, o Redshift se tornou uma excelente opção, pois é um banco de dados Big Data distribuído que oferece armazenamento distribuído e gerenciado pela nuvem. Considerando o que está apontado acima, qual a nomenclatura mais adequada para o banco de dados distribuído Redshift da AWS? Sua resposta está correta. Alternativa correta. Por possuir distribuição de dados nos nós do cluster e isso ser transparente ao cliente, torna-se um PaaS, pois a nuvem fornece a plataforma do banco de dados, abstraindo as dificuldades técnicas de distribuição e gerenciamento interno dos dados. • Infrastructure as a Service (IaaS) — infraestrutura como serviço. ✓ Platform as a Service (PaaS) — plataforma como serviço. • Software as a Service (SaaS) — software como serviço. • CPU as a Service (CaaS) — CPU como serviço. • Storage as a Service (StaaS) — armazenamento como serviço. 9. Na internet atualmente, há muitos sistemas escritos na linguagem de programação Java, usando diferentes arquiteturas de software. Por exemplo, há sistemas que usam a cliente- servidor, outros que usam a hexagonal e alguns que usam arquiteturas baseadas em serviços. Neste cenário, os web services são funcionalidades bem definidas que são oferecidas pelo servidor na rede e permitem que outros sistemas acessem através de mensagens com formato bem definido. Considerando o que está apontado acima, qual é a anotação usada para definir que o método é compartilhável no web service na linguagem de programação Java? Sua resposta está correta. Alternativa correta. @WebMethod é a anotação correta usada no Java para definir que o método pode ser acessado de forma remota por outras máquinas, ou seja, tornando-o compartilhável. Cada método que será compartilhado deve conter a anotação. • @WebService. ✓ @WebMethod. • @Shared. • @RMI. • @SIB. 10. A definição de web services em Java é facilitada pelo uso de anotações que podem ser inseridas no próprio código Java e, no momento da compilação, a anotação é substituída por código Java para a execução da funcionalidade desejada. Por exemplo, é possível usar uma anotação acima do método ou do web service em Java para definir que aquele trecho faz parte de um método compartilhável ou de um web service. Com base no texto apresentado, avalie as afirmações a seguir, de acordo com a sintaxe correta para a definição de métodos compartilháveis. I. @WebMethod double somar (int x, int y);. II. @Web double subtrair (int x, int y);. III. @WebService double multiplicar (int x, int y);. IV. @RMIMethod double dividir (int x, int y);. É correto o que se afirma em: Sua resposta está correta. Alternativa correta. A afirmativa I está correta, pois a forma correta de definir um método que pode ser compartilhado na definição do web service é @WebMethod, sendo a @WebService usada para definir o serviço que contém os métodos. A afirmativa II está incorreta, pois a anotação@Web não é usada para a definição de métodos compartilháveis, a forma correta é usando a @WebMethod acima da declaração do método, dentro do web service. A afirmativa III está incorreta, pois a anotação @WebService não é usada para a definição de métodos compartilháveis, a forma correta é usando a @WebMethod acima da declaração do método, dentro do web service. A anotação @WebService é usada para definir o serviço que contém os métodos. A afirmativa IV está incorreta, pois a anotação @RMIMethod não é usada para a definição de métodos compartilháveis, a forma correta é usando a @WebMethod acima da declaração do método, dentro do web service. Além disso, o RMI não é usado juntamente com o SOAP, em que a declaração @WebMethod é usada. ✓ I, apenas. • I e II, apenas. • I, II e III, apenas. • I e IV, apenas. • I e III, apenas.