Title: Web Services
1Web Services
Bruno C. de Paula
- 1º Semestre 2010 gt PUCPR gt BSI
2Resumo 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
3Vamos usar web services quando precisarmos
comunicar nosso programa em ASP.NET com outra
plataforma
4Cenário de motivação para uso de web services
5Requisição Cliente X Servidor
métodos GET e POST
servidor web
cliente web
6Resposta do Servidor ao Cliente
servidor web
cliente web
HTML/CSS/JS
Fragmentos de HTML
Formatos
JSON
XML
etc...
7!
cliente web 1 (HTML)
servidor web
html
cliente web 2 (Flash)
...
flash
8A 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!
cliente web 1 (HTML)
web service
xml/json
cliente web 2 (Flash)
...
xml/json
10Web Service não é
- Site para Web Genérico que disponibilize um
serviço
11Web 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...
12Interoperabilidade sempre foi tentada!
13Modelos de Web ServiceSOAP x REST
14SOAP
15Ser humano
16Web Service também é acessível via URL!
17Padrõ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.
18Exemplo de serviço em .Net
- http//www.bronzebusiness.com.br/webservices/valid
a.asmx?opvalida_cpf
19(No Transcript)
20(No Transcript)
21(No Transcript)
22HTTP
- Protocolo de transferência de hipertexto
- Conexão, Requisição, Resposta, Fechamento.
23WSDL
- Descrição de quais métodos um certo serviço
responde - http//www.bronzebusiness.com.br/webservices/valid
a.asmx?WSDL
24UDDI
- 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(No Transcript)
26Analogia 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).
27REST
28REST
- 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.
29Modelo tradicional
Premier Customer Representative
Clientes Premier
Resposta Automática
Reserva de Passagem
Regular Customer Representative
Clientes Regulares
30Modelo REST
Premier Customer Representative
1-800-Premier
Clientes Premier
F.F. Customer Representative
1-800-Frequent
Clientes Freqüentes
Regular Customer Representative
1-800-Reservation
Clientes Regulares
31Modelo REST
Premier Member Reservation Service
http//www.kings-air/reservations/premier
client
Clientes Premier
Frequent Flyer Reservation Service
http//www.kings-air/reservations/frequent-flyer
client
Clientes Freqüentes
Regular Member Reservation Service
http//www.kings-air/reservations/regular
client
Clientes Regulares
32Exemplo de chamada a um serviço
Mais exemplos http//local.yahooapis.com/MapsServ
ice/V1/mapImage?appidYD-4g6HBf0_JX0yq2IsdnV1Ne9JT
pKxQ3Miew--cityCuritiba http//search.twitter.co
m/search.atom?qPUCPR http//search.twitter.com/se
arch.json?qPUCPRcallbackexibirResultados http/
/maps.google.com/maps/api/geocode/json?address115
5ImaculadaConceicao,Curitibasensorfalse http/
/iplocationtools.com/ip_query_country.php?ip74.12
5.45.100 http//www.spore.com/static/model/500/226
/147/500226147573.xml ...
33SOAP X REST?
34SOAP X REST
- Grande suporte
- 70 Fortune 500.
35SOAP X REST
- Codificação rápida
- Com WSDL.
- Codificação menos produtiva
- Sem WSDL.
35
36SOAP X REST
36
36