Web Services

Spread the love

Nos últimos meses me pediram a definição de Web-services em 3 processos seletivos diferentes, por mais simples que possa parecer definir conceitualmente pode ser mais complexo do que parece, sendo assim decidi fazer uma série de posts a respeito. Neles iremos aprender sobre os diferentes tipos de Web Services – ou simplesmente serviços. Pra começo de conversa um Serviço nada mais é que uma aplicação interoperável hospedada e acessada através da web através do protocolo HTTP por meio de um browser ou de diferentes tipos de clientes, como outras aplicações ou serviços. Deixando um pouco mais claro quando você cria um website em PHP a saída padrão é HTML e seu alvo é o browser e por extensão nós podemos visualizar a página no browser. Um web service não é direcionado para humanos e sim para outros programas.
O World Wide Web Consortium (W3C) define os web services como: aplicações cliente servidor que se comunicam pela World Wide Web’s (WWW) através do protocolo HTTP (HyperText Transfer Protocol) possibilitando a interoperabilidade entre softwares e aplicações executando em uma grande variedade de plataformas e frameworks. Caracterizam-se por sua grande interoperabilidade e extensibilidade podendo ser combinados de forma baixamente acoplada para executarem operações complexas. Programas proveem simples serviços que podem interagir uns com os outros gerando soluções sofisticadas.

Os serviços podem ser divididos em 2 grupos mais comumente conhecidos e usados, são eles:
eles:
REST (Representational State Transfer)
SOAP (Simple Object Access Protocol)
REST
JAX-RS 2.0 especificação que suporta a implementação para os serviços baseados RESTful no mundo Java.
● As principais implementações disponíveis para essa essa especificação são: Apache CXF, Spring MVC, JBoss RestEasy, Oracle Jersey (2.x) e Glassfish Jersey (2.x).
SOAP
JAX-WS 2.0 especificação que suporta a implementação para os serviços baseados em SOAP no mundo Java.
● As principais implementações disponíveis para essa essa especificação são: Apache CXF, JAX-WS, Apache Axis2 e Oracle WebLogic.
O diagrama abaixo representa bem essa “divisão” entre os 2 principais tipos de serviços.
image1
Nos próximos posts entraremos em maiores detalhes sobre a sopa de letrinhas REST, SOAP, SOA, API etc. Além disso iremos botar a mão na massa e codar um pouco.

Treinamentos relacionados com este post












Referências:

https://docs.oracle.com/javaee/6/tutorial/doc/gijvh.html

http://www.w3schools.com/webservices/ws_intro.asp

http://www.tutorialspoint.com/webservices/what_are_web_services.htm

http://stackoverflow.com/questions/226108/what-is-a-web-service-in-plain-english

Leandro

Leandro da Costa é especialista em inteligência artificial on-premise e desenvolvedor de software desde 2010, com mais de 15 anos de experiência em projetos nacionais e internacionais para empresas como Thomson Reuters, Unilever, PagSeguro e Hub Fintech, além de órgãos como CNPq, Ministério da Saúde e Ministério da Justiça. Trabalho com Java, Python, Kotlin, JavaScript, microsserviços, cloud (AWS, Azure, GCP) e Docker/Kubernetes — sempre em times ágeis, muitas vezes distribuídos globalmente. Já enfrentei desafios reais de escalabilidade e performance, como a modernização do sistema de análise de crédito do PagSeguro, onde reduzi o tempo de resposta de mais de 1 minuto para menos de 15 segundos. Sou Instrutor Parceiro na Udemy desde 2021 — reconhecimento concedido aos 200 melhores instrutores do mundo — com mais de 65.000 alunos em 136 países. Minha missão é compartilhar conhecimento validado na prática, ajudando desenvolvedores a acelerar suas carreiras e conquistar melhores oportunidades. Fora do teclado, gosto bastante de viajar além de esportes de aventura: rapel, tirolesa e trilhas. Apreciador de cervejas, fã de Rock'n Roll, ficção científica e geopolítica. Atualmente atuo como consultor na Erudio Training.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *