Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Entendendo o 
protocolo HTTP e 
o conceito de web 
services
Protocolo que permite a obtenção 
de recursos, como documentos 
HTML. É a base de qualquer troca 
de dados na Web e um protocolo 
cliente-servidor, o que significa que 
as requisições são iniciadas pelo 
destinatário, geralmente um 
navegador da Web.
HTTP
Clientes e servidores trocam mensagens 
individuais (ao contrário de um fluxo de 
dados). As mensagens enviadas pelo 
cliente são chamadas de solicitações 
(requests) e as mensagens enviadas pelo 
servidor chamadas de respostas 
(responses).
Protocolo 
cliente-servidor
HTTP é sem estado: não existe 
uma relação entre duas 
requisições sendo feitas 
através da mesma conexão.
HTTP não 
tem estado
Etapas da 
requisição 
http(s)
Etapas da requisição http
cliente servidor
request{http://www.google.com}
response{html+css+js}
 
nslookup google.com
Use esse comando via 
terminal
 
DNS
Sistema de Nomes de 
Domínio
Etapas da requisição http
cliente servidor
request{ 172.217.28.238}
response{html+css+js}
DNS
172.217.28.238www.google.com
E as portas?
80
443
22
3306
Porta 80 
http
Porta 443 
https
 
URL
localizador uniforme de recursos
URL Completa
protocolo:://domínio:porta/caminho/recurso?query_string
https://www.w3sc.com:443/js/tryit.asp?file=myfirst 
Domínio
Como registrar?
registro e manutenção dos nomes 
de domínios que usam o .br
registro.br
http(s) stateless
Se as requisições são independentes uma 
das outras, como um sistema web 
consegue lembrar?
Sistemas web utilizam os recursos 
de sessões e registros em cookies 
do navegador para lembrar
Sessões e 
Cookies
E se algo der 
errado na 
requisição?
Sistemas web classificam as 
respostas de acordo com a 
situação
Status Code
 
Status Code
2xx
requisição/resposta 
bem sucedida 
3xx
É necessário 
redirecionamento 
5xx
Erro no servidor
4xx
Erro no Cliente
Eu sou {Fulano} 
Como enviar dados junto a requisição?
https://github.com/login
https://github.com/search?q=google
GET
POST
Integrando Sistemas 
E quando é preciso buscar informação 
de outro sistema web?
 
SOA 
Arquitetura Orientada a Serviços, define 
uma maneira de tornar os componentes 
de software reutilizáveis por meio de 
interfaces de serviço. Essas interfaces 
utilizam padrões de comunicação comuns 
de tal modo que eles podem ser 
rapidamente incorporados a novos 
aplicativos sem a necessidade de realizar 
uma integração sempre.
Aplicação I
Banco
Aplicação II Aplicação III Aplicação I
Banco
Aplicação II Aplicação III
Interface
Qual seria uma solução 
de interface para essa 
integração?
API
Application Programming Interface é uma interface que 
é consumida por uma aplicação e não por um usuário, 
permitindo que recursos sejam acessados sem 
conhecimento de sua implementação.
 
Contrato entre 
Aplicações
As APIs funcionam como se fossem contratos, 
com documentações que representam um 
acordo entre as partes interessadas. Se uma 
dessas partes enviar uma solicitação remota 
estruturada de uma forma específica, isso 
determinará como a aplicação da outra parte 
responderá.
APIs que se comunicam por meio de redes 
e podem ser combinados para a execução 
de operações complexas, utilizando 
principalmente o protocolo HTTP
Web 
Services
servicodados.ibge.gov.br/api/docs/localidades
cidades.ibge.gov.br
Sistema Web
Web Service
Para facilitar a comunicação em Web 
Services precisamos estabelecer 
padronizações nas mensagens 
trocadas
Duas padronizações utilizadas 
são o SOAP e o REST
SOAP é um protocolo 
baseado em XML para troca 
de informações em um 
ambiente distribuído. 
Independente de 
linguagem, plataforma e 
protocolo de transporte
Sendo um protocolo, possui 
um conjunto de regras mais 
rígidas, mas traz diversas 
vantagens. Exemplos são a 
extensibilidade de padrões e 
tratamento de erros 
integrado
Dado a abrangência e a maior rigidez do protocolo SOAP, é 
adicionada à mensagem um overhead considerável, tanto 
por ser em XML quanto por adicionar muitas tags de 
meta-informação. Além disso, a serialização e 
desserialização das mensagens pode consumir um tempo 
considerável.
Rest é um estilo arquitetural com 
regras mais flexíveis, utiliza apenas 
o protocolo http para comunicação, 
aproveitando-se dessa limitação 
para simplificar a comunicação
Desta forma, como iremos 
trabalhar com Web Services, 
iremos adotar a 
padronização REST para 
comunicação entre sistemas. 
Uma API que segue os 
conceitos REST é considerada 
uma API Restful

Mais conteúdos dessa disciplina