tecnologia de programação web services 1º semestre 2009 > pucpr > bsi bruno c. de paula

36
Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Upload: internet

Post on 17-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

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

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

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

511/04/23

!

Page 6: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

711/04/23

!

Page 8: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

811/04/23

!

!

ProcessamentoDuplicado!

Page 9: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

911/04/23

Processamento

Page 10: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

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

Interoperabilidade sempre foi tentada!

1211/04/23

Page 13: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

SOAP

1411/04/23

Page 15: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

Ser humano

1511/04/23

Page 16: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

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 19: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

1911/04/23

Page 20: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

2011/04/23

Page 21: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

2111/04/23

Page 22: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

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

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

2511/04/23

Page 26: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

REST

2711/04/23

Page 28: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

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

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

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

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

SOAP X REST?

3311/04/23

Page 34: Tecnologia de Programação Web Services 1º Semestre 2009 > PUCPR > BSI Bruno C. de Paula

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

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

3611/04/23 3611/04/23

SOAP X REST

Complexo;Pesado.

3611/04/23

Simples e legível.