Bruno C. de Paula Web Services 2º Semestre 2009 > PUCPR > Pós em BD.

Download Report

Transcript Bruno C. de Paula Web Services 2º Semestre 2009 > PUCPR > Pós em BD.

Bruno C. de Paula
Web Services
2º Semestre 2009 > PUCPR >
Pós em BD
Resumo da aula
Trabalharemos hoje com o
conceito de Web
Services;
Vamos aprender como
representar de maneira
mais eficiente e fácil de
construir as nossas
interfaces Web.
Requisição Cliente X Servidor
07/11/2015
3
Resposta do Servidor ao Cliente
07/11/2015
4
!
07/11/2015
5
A situação anterior é péssima
situação!
Necessidade de criação de N
respostas diferentes,
dependendo do número de
tipos de cliente!
!
07/11/2015
7
!
Processamento
Duplicado!
!
07/11/2015
8
Web Service não é:
Site para Web Genérico que
disponibilize um serviço
07/11/2015
9
Web Service é:
Arquitetura para criação de aplicações
que podem ser acessadas a partir de
diferentes plataformas
(interoperabilidade);
Identificado através de uma URL;
Aplicação que recebe e retorna
mensagens em formatos padrão:
– XML;
– XML/SOAP;
– XML/RSS;
– JSON...
07/11/2015
10
Interoperabilidade sempre foi
tentada!
07/11/2015
11
Modelos de Web Service:
SOAP x REST
07/11/2015
12
SOAP
07/11/2015
13
Ser humano
07/11/2015
14
Web Service também é acessível
via URL!
07/11/2015
15
Padrões
XML (eXtensible Markup Language):
– Metalinguagem;
– Linguagem para construir linguagens.
SOAP (Simple Object Access Protocol):
– Gramática de envio e resposta;
– Descrição do formato da mensagem;
Duas partes:
– Cabeçalho e Payload.
07/11/2015
16
Exemplo
http://www.bronzebusiness.com.br/webservic
es/valida.asmx?op=valida_cpf
07/11/2015
17
07/11/2015
18
07/11/2015
19
07/11/2015
20
HTTP
Protocolo de transferência de
hipertexto;
Conexão, Requisição, Resposta,
Fechamento.
07/11/2015
21
WSDL
Descrição de quais métodos um certo
serviço responde;
 http://www.bronzebusiness.com.br/webservices/valida
.asmx?WSDL
07/11/2015
22
UDDI
Universal Discovery, Description and
Integration;
Diretório de Web Services;
Lista que permite que se encontre de
forma fácil um Web Service de acordo
com o interesse.
07/11/2015
23
07/11/2015
24
Analogia com restaurante!
Você busca nas páginas amarelas
(UDDI) um restaurante para comer;
Chegando lá, recebe um cardápio
(WSDL) com as opções de comida;
Faz o pedido ao garçom (SOAP) que
andando, leva à cozinha (HTTP);
Lá na cozinha, você não sabe o que tem
dentro (e não importa), o Cozinheiro
prepara a comida (Sistema);
Depois de pronto, recebe uma
resposta (SOAP).
07/11/2015
25
REST
07/11/2015
26
REST
Cada url deve representar um recurso;
Geralmente, via método GET, cada
recurso deve ser diferenciável;
NÃO TEM WSDL e nem UDDI!
Retorno livre:
– XML;
– JSON;
– Etc.
07/11/2015
27
Modelo tradicional
Premier
Customer
Representative
Clientes
Premier
Reserva de
Passagem
Clientes
Regulares
07/11/2015
Resposta
Automática
Regular
Customer
Representative
28
Modelo REST
1-800Premier
Clientes
Premier
Clientes
Freqüentes
1-800Frequent
1-800Reservation
Clientes
Regulares
07/11/2015
Premier
Customer
Representativ
e
F.F.
Customer
Representativ
e
Regular
Customer
Representativ
e
29
Modelo REST
client
http://www.kingsair/reservations/premier
Clientes
client
http://www.kings-air/reservations/frequentflyer
Clientes
Freqüentes
client
Clientes
Regulares
07/11/2015
http://www.kingsair/reservations/regular
Premier
Member
Reservatio
n
Service
Frequent
Flyer
Reservatio
n
Service
Regular
Member
Reservatio
n
Service
30
Exemplo de chamada a um
serviço
Mais exemplos:
http://local.yahooapis.com/MapsService/V1/mapImage?appid=YD-4g6HBf0_JX0yq2Isd
http://json-random.appjet.net/?num=5&min=10&max=20&callback=randomcallback
http://iplocationtools.com/ip_query_country.php?ip=74.125.45.100
http://www.spore.com/static/model/500/226/147/500226147573.xml
...
07/11/2015
31
SOAP X REST?
07/11/2015
32
SOAP X REST
Grande
suporte;
70%
Fortune
500.
07/11/2015
Suporte
médio;
33
SOAP X REST
Codificação
rápida;
Com WSDL.
07/11/2015
Codificação
menos
produtiva;
Sem WSDL.
34
SOAP X REST
Complexo;
Pesado.
07/11/2015
Simples e
legível.
35