![Page 1: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/1.jpg)
Tecnologia de Programação
Web Services
1º Semestre 2009 > PUCPR > BSI
Bruno C. de PaulaBruno C. de Paula
![Page 2: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/2.jpg)
Resumo da aulaTrabalharemos hoje com o conceito de Web Services;Vamos aprender como representar de maneira mais eficiente e fácil de depurar as nossas interfaces Web;Chega de usar páginas ASPX sem poder:• Criar classes;• Depurar facilmente.•Além disso, verificaremos como comunicar nossos programas C# com o Java.
![Page 3: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/3.jpg)
311/04/23
Requisição Cliente X Servidor
![Page 4: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/4.jpg)
411/04/23
Resposta do Servidor ao Cliente
![Page 5: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/5.jpg)
511/04/23
!
![Page 6: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/6.jpg)
A situação anterior é péssima situação!
Necessidade de criação de N respostas diferentes,
dependendo do número de tipos de cliente!
![Page 7: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/7.jpg)
711/04/23
!
![Page 8: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/8.jpg)
811/04/23
!
!
ProcessamentoDuplicado!
![Page 9: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/9.jpg)
911/04/23
Processamento
![Page 10: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/10.jpg)
Web Service não é:
Site para Web Genérico que disponibilize um serviço
1011/04/23
![Page 11: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/11.jpg)
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...
1111/04/23
![Page 12: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/12.jpg)
Interoperabilidade sempre foi tentada!
1211/04/23
![Page 13: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/13.jpg)
Modelos de Web Service:SOAP x REST
1311/04/23
![Page 14: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/14.jpg)
SOAP
1411/04/23
![Page 15: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/15.jpg)
Ser humano
1511/04/23
![Page 16: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/16.jpg)
Web Service também é acessível via URL!
1611/04/23
![Page 17: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/17.jpg)
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.
1711/04/23
![Page 18: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/18.jpg)
Exemplo
http://www.bronzebusiness.com.br/webservices/valida.asmx?op=valida_cpf
1811/04/23
![Page 19: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/19.jpg)
1911/04/23
![Page 20: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/20.jpg)
2011/04/23
![Page 21: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/21.jpg)
2111/04/23
![Page 22: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/22.jpg)
HTTP
Protocolo de transferência de hipertexto;
Conexão, Requisição, Resposta, Fechamento.
2211/04/23
![Page 23: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/23.jpg)
WSDL
Descrição de quais métodos um certo serviço responde;
http://www.bronzebusiness.com.br/webservices/valida.asmx?WSDL
2311/04/23
![Page 24: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/24.jpg)
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.
2411/04/23
![Page 25: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/25.jpg)
2511/04/23
![Page 26: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/26.jpg)
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).
2611/04/23
![Page 27: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/27.jpg)
REST
2711/04/23
![Page 28: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/28.jpg)
REST
Cada url deve representar um recurso;Via método GET, cada recurso deve ser
diferenciável;NÃO TEM WSDL e nem UDDI! Retorno livre:
–XML;– JSON;–Etc.
2811/04/23
![Page 29: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/29.jpg)
Modelo tradicional
2911/04/23
Clientes Premier
Clientes Regulares
Reserva de Passagem
Resposta Automática
PremierCustomer
Representative
RegularCustomer
Representative
![Page 30: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/30.jpg)
Modelo REST
3011/04/23
Clientes Premier
Clientes Freqüentes
Clientes Regulares
1-800-Premier
PremierCustomer
Representative
F.F.Customer
Representative
RegularCustomer
Representative
1-800-Frequent
1-800-Reservation
![Page 31: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/31.jpg)
Modelo REST
3111/04/23
Clientes
Clientes Freqüentes
Clientes Regulares
client
client
client
http://www.kings-air/reservations/premier
http://www.kings-air/reservations/frequent-flyer
http://www.kings-air/reservations/regular
PremierMember
Reservation
Service
FrequentFlyer
Reservation
Service
RegularMember
Reservation
Service
![Page 32: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/32.jpg)
Exemplo de chamada a um serviço
3211/04/23
Mais exemplos:http://local.yahooapis.com/MapsService/V1/mapImage?appid=YD-4g6HBf0_JX0yq2IsdnV1Ne9JTpKxQ3Miew--&city=Curitibahttp://json-random.appjet.net/?num=5&min=10&max=20&callback=randomcallbackhttp://iplocationtools.com/ip_query_country.php?ip=74.125.45.100http://www.spore.com/static/model/500/226/147/500226147573.xml...
![Page 33: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/33.jpg)
SOAP X REST?
3311/04/23
![Page 34: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/34.jpg)
SOAP X REST
Grande suporte;
70% Fortune 500.
3411/04/23
Suporte médio;
![Page 35: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/35.jpg)
3511/04/23
SOAP X REST
Codificação rápida;
Com WSDL.
3511/04/23
Codificação menos produtiva;
Sem WSDL.
![Page 36: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula](https://reader035.vdocuments.net/reader035/viewer/2022070310/552fc0fe497959413d8bba9f/html5/thumbnails/36.jpg)
3611/04/23 3611/04/23
SOAP X REST
Complexo;Pesado.
3611/04/23
Simples e legível.