Bruno C. de Paula
Web Services
1º Semestre 2010 > PUCPR > BSI
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;
Até agora, nós construímos nossas
aplicações web para pessoas
acessarem;
Web services permitem que outros
programas acessem a sua aplicação
web;
05/11/2015
Vamos usar web services quando
precisarmos comunicar nosso
programa em ASP.NET com outra
plataforma
3
Cenário de motivação para
uso de web services
5
Requisição Cliente X Servidor
6
Resposta do Servidor ao Cliente
7
!
A situação anterior é
péssima!
Necessidade de criação de N
respostas diferentes,
dependendo do número de tipos de
cliente!
A próxima situação melhora um
pouco
9
!
10
Web Service não é:
Site para Web Genérico que
disponibilize um serviço
11
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...
Interoperabilidade sempre foi
tentada!
12
13
Modelos de Web Service:
SOAP x REST
14
SOAP
15
Ser humano
16
Web Service também é acessível via
URL!
17
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.
18
Exemplo de serviço em .Net
 http://www.bronzebusiness.com.br/webservic
es/valida.asmx?op=valida_cpf
19
20
21
22
HTTP
 Protocolo
de transferência de hipertexto;
 Conexão, Requisição, Resposta, Fechamento.
23
WSDL
 Descrição
de quais métodos um certo
serviço responde;
 http://www.bronzebusiness.com.br/webservices/valida
.asmx?WSDL
24
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.
25
26
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).
27
REST
28
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.
29
Modelo tradicional
Premier
Customer
Representative
Clientes
Premier
Reserva de
Passagem
Clientes
Regulares
Resposta
Automática
Regular
Customer
Representative
30
Modelo REST
1-800Premier
Premier
Customer
Representative
Clientes
Premier
Clientes
Freqüentes
Clientes
Regulares
1-800Frequent
F.F.
Customer
Representative
1-800Reservation
Regular
Customer
Representative
31
Modelo REST
http://www.kings-air/reservations/premier
client
Clientes
Premier
http://www.kings-air/reservations/frequent-flyer
client
Clientes
Freqüentes
http://www.kings-air/reservations/regular
client
Clientes
Regulares
Premier
Member
Reservation
Service
Frequent
Flyer
Reservation
Service
Regular
Member
Reservation
Service
32
Exemplo de chamada a um serviço
Mais exemplos:
http://local.yahooapis.com/MapsService/V1/mapImage?appid=YD-4g6HBf0_JX0yq2Is
&city=Curitiba
http://search.twitter.com/search.atom?q=PUCPR
http://search.twitter.com/search.json?q=PUCPR&callback=exibirResultados
http://maps.google.com/maps/api/geocode/json?address=1155+Imaculada+Conceicao
http://iplocationtools.com/ip_query_country.php?ip=74.125.45.100
http://www.spore.com/static/model/500/226/147/500226147573.xml
...
33
SOAP X REST?
34
SOAP X REST
 Grande
suporte;
 70%
Fortune
500.
Suporte
médio;
35
SOAP X REST
 Codificação
rápida;
 Com WSDL.
Codificação
menos
produtiva;
Sem WSDL.
35
36
SOAP X REST
 Complexo;
Simples e legível.
 Pesado.
36
Download

apresentação relacionada à aula