Acesse o conteúdo completo – Minutos de Desenvolvimento de Sistemas.
Introdução
Depois de uma pausa, vamos voltar a falar de temas de Desenvolvimento de Sistemas, uma das áreas mais técnicas de Tecnologia da Informação (TI). Prepare-se, porque o assunto de hoje é web services.
Apesar de todos os avanços vivenciados no mundo da TI, o universo de serviços continua presente nas empresas e instituições públicas. Por conseguinte, as bancas gostam de explorar o tema. Com isso, resolvemos trazer um overview de serviços hoje. Veja o que teremos pela frente:
- Importância dos Web Services
- Arquitetura Orientada a Serviços (SOA)
- Arquitetura de Microsserviços
- Mapa Mental
Direcionamos o artigo aos concurseiros da área de TI. Não é preciso ter noções de programação propriamente dita, mas é importante que tenha uma visão básica de arquitetura e desenvolvimento de software.
Mais uma vez, elaboramos o artigo cuidadosamente em formato reduzido, a fim de que você tenha acesso ao conteúdo com pouco tempo de leitura. Bom, chega de papo, porque é hora de começar.
Tempo de leitura aproximada: 5 a 10 minutos
Importância dos Web Services
Atualmente, existe uma infinidade de tecnologias e linguagens à disposição dos profissionais de TI. Mesmo que as organizações adotem convenções nesse sentido, é inevitável sair em algum momento da rota para fazer a solução funcionar.
Vamos ver um exemplo rápido. Suponha que uma organização somente trabalha com .NET, em todas as suas aplicações (ambiente 100% Microsoft). Um belo dia, ela precisa fazer uma integração com um sistema terceirizado, desenvolvido em Java. E agora?
A comunicação entre o .NET e o Java, relatada no exemplo fictício, é possível por meio de um web service. O serviço é uma solução intermediária, que fará com que as aplicações “conversem” entre si e troquem dados, mesmo que não tenham sido desenvolvidas na mesma linguagem.
Quando temos contextos diferentes, precisamos de algum tipo de padrão comum. De fato, isso é verdade. Existe uma arquitetura própria para a implementação de web services, que falaremos ao longo do artigo. Continue conosco, pois ainda temos muito assunto pela frente.
Arquitetura Orientada a Serviços (SOA)
Definição e Benefícios de Web Services com Arquitetura SOA
Primeiramente, SOA é uma arquitetura, um padrão para a construção de web services. Os serviços são construídos por meio de componentes de software, que se comunicam entre si e podem ser reaproveitados. Veja os principais benefícios da utilização de SOA:
Abordagem Simple Object Access Protocol (SOAP)
SOAP é a principal abordagem para SOA. Vamos começar apresentando uma figura, para você ter uma visão geral do todo e depois falaremos dos conceitos.
Provedor de Serviços (Service Provider): como o próprio nome diz, o provedor é quem cria e fornece o serviço.
Registro de Serviços (Service Register / Broker): consiste em um repositório, onde os serviços são inicialmente armazenados e posteriormente buscados na rede.
Consumidor de Serviços (Service Consumer): também bastante intuitivo, consumidor é o cliente que se interessa e vai utilizar o serviço.
Inicialmente, o Provedor de Serviços publica um serviço no Registro de Serviços, de forma que outros possam utilizá-lo. Pense em um anúncio, pois ficará fácil de entender. Assim, cada serviço é descrito por uma notação em Extensible Markup Language (XML), chamada Web Services Description Language (WSDL).
Você Sabia? De forma breve, XML é uma linguagem de marcação que define regras customizadas para o armazenamento e a estruturação de dados. Quando falamos de serviços, ela “cai como uma luva”, pois facilita bastante o processo de troca das informações.
O Registro de Serviços, que armazena os serviços, é representado como Universal Description, Discovery and Integration (UDDI). O Consumidor de Serviços precisa acessar esse repositório para buscar o que necessita, por meio do padrão WSDL.
Ok, mas onde entra o SOAP? Ele é o protocolo que permite a comunicação e a troca de informações entre as aplicações. O Consumidor não precisa falar com o Provedor, agora que já o encontrou? Ele fará esse contato utilizando o padrão SOAP, que também é baseado em XML.
Arquitetura de Microsserviços
Definição e Benefícios de Web Services com Arquitetura de Microsserviços
Como o próprio nome diz, os microsserviços são serviços divididos em partes menores, com maior independência. Na prática, eles são uma alternativa ao SOA, com foco em metodologia ágil e DevOps.
Você Sabia: Se quer ficar por dentro de tudo, não deixe de conferir o artigo que preparamos há algum tempo sobre DevOps. Segue o link: https://www.estrategiaconcursos.com.br/blog/temas-especiais-tecnologia-informacao-devops/.
Você Sabia: ++ Recomendamos também a leitura do artigo de metodologias de desenvolvimento de software, em que abordamos as metodologias ágeis. Segue o link: https://www.estrategiaconcursos.com.br/blog/engenharia-software-metodologias-desenvolvimento/.
Bom, chega de “merchan” e vamos falar agora das vantagens da utilização da arquitetura em microsserviços:
Abordagem Representation State Transfer (REST ou RESTful)
Existem algumas abordagens para a arquitetura de microsserviços, mas optamos por explorar o REST em razão de sua cobrança em provas. Assim como fizemos com o SOAP, vamos começar apresentando uma figura, para você ter uma visão geral do todo e depois falaremos dos conceitos.
Servidor de Web Service REST: quem vai fornecer o serviço (análogo ao nosso “velho conhecido” Provedor de Serviços).
Cliente: quem vai utilizar o serviço (análogo ao nosso “velho conhecido” Consumidor de Serviços).
REST é uma abordagem alternativa ao SOAP, conhecida por ser mais leve. Para começar, veja que só temos duas figuras no microsserviço: Servidor de Web Service REST e Cliente. Não há intermediários, armazenamentos e repositórios adicionais, nada disso.
O funcionamento do microsserviço é bem simples. O Cliente envia um pedido de requisição (HTTP Request) ao Servidor. Em contrapartida, o Servidor envia uma mensagem de resposta ao Cliente (HTTP Response).
Vale ressaltar que não estamos falando apenas de XML. Para ser mais leve, REST pode utilizar formatos mais leves também. Ou seja, ele pode trabalhar com XML, mas também pode usar um formato Javascript Object Notation (JSON), por exemplo.
Você Sabia? Como o próprio nome diz, JSON é uma notação baseada na linguagem Javascript, que permite representar tipos estruturados de maneira textual. Por ser mais leve, ele facilita ainda mais a troca de informações.
Mapa Mental
Já estamos quase ficando sem palavras e sem tempo, mas você sabe que a gente sempre reserva um momento para trazer o “resumo do resumo” para você. Aproveite, pois preparamos esse mapa mental exclusivamente para o Blog do Estratégia Concursos (ou seja, a concorrência não vai ler).
Se você achar que a visualização do mapa mental ficou pequena, diante da quantidade de informações que tentamos representar, recomendamos baixar a figura e dar um zoom. Alternativamente, você também pode ampliá-la diretamente do seu navegador.
Conclusão
O artigo de hoje apresentou um resumo de web services. Se você é um concurseiro que trabalha com serviços no dia a dia, acha que sabe tudo sobre o tema e não precisa estudá-lo, cuidado… Muitos desenvolvedores caem nessa armadilha.
A forma de cobrança das bancas pode ser diferente da realidade diária. Errar uma questão de um tópico que estudamos com afinco é complicado. Quando esse tópico faz parte da sua rotina de trabalho, a dor pode ser ainda maior. Estude e fique preparado, como qualquer outro assunto. Só depende de você.
O Estratégia oferece cursos em pdf, videoaulas e áudios para você ouvir onde quiser. Não deixe de aprofundar o conteúdo por meio dos nossos materiais. Descubra tudo no link: http://www.estrategiaconcursos.com.br/cursos/.
Porém, nem só de conteúdo vive o concurseiro. Você precisa fazer muitas questões para treinar o aprendizado e medir o seu desempenho. O acesso ao Sistema de Questões do Estratégia é feito pelo link: https://concursos.estrategia.com/.
Bons estudos e até a próxima!
Cristiane Selem Ferreira Neves é Bacharel em Ciência da Computação e Mestre em Sistemas de Informação pela Universidade Federal do Rio de Janeiro (UFRJ), além de possuir a certificação Project Management Professional pelo Project Management Institute (PMI). Já foi aprovada nos seguintes concursos: ITERJ (2012), DATAPREV (2012), VALEC (2012), Rioprevidência (2012/2013), TJ-RJ (2022), TCE-RJ (2022) e CGE-SC (2022/2023). Atualmente exerce o cargo efetivo de Auditora de Controle Externo – Tecnologia da Informação e integra o corpo docente da Escola de Contas de Gestão do TCE-RJ, além de ser produtora de conteúdo dos Blogs do Estratégia Concursos, OAB e Carreiras Jurídicas.
Concursos Abertos
Quer Saber Tudo de Concursos Previstos?
Confira Nossos Artigos
Concursos 2024
Fonte: Estratégia Concursos