Web Services 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula
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;
Vamos usar web services quando precisarmos comunicar nosso programa em ASP.NET com outra plataforma 3 13/1/2014
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 !
Web Service não é: Site para Web Genérico que disponibilize um serviço 10
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... 11
Interoperabilidade sempre foi tentada! 12
Modelos de Web Service: SOAP x REST 13
SOAP 14
Ser humano 15
Web Service também é acessível via URL! 16
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. 17
Exemplo de serviço em.Net es/valida.asmx?op=valida_cpf es/valida.asmx?op=valida_cpf 18
19
20
21
HTTP Protocolo de transferência de hipertexto; Conexão, Requisição, Resposta, Fechamento. 22
WSDL Descrição de quais métodos um certo serviço responde;
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. 24
25
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). 26
REST 27
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. 28
Modelo tradicional 29 Clientes Premier Clientes Regulares Reserva de Passagem Resposta Automática Premier Customer Representative Regular Customer Representative
Modelo REST 30 Clientes Premier Clientes Freqüentes Clientes Regulares Premier Premier Customer Representative F.F. Customer Representative Regular Customer Representative Frequent Reservation
Modelo REST 31 Clientes Premier Clientes Freqüentes Clientes Regulares client Premier Member Reservation Service Frequent Flyer Reservation Service Regular Member Reservation Service
Exemplo de chamada a um serviço 32 Mais exemplos: &city=Curitiba
SOAP X REST? 33
SOAP X REST Grande suporte; 70% Fortune Suporte médio;
35 SOAP X REST Codificação rápida; Com WSDL. 35 Codificação menos produtiva; Sem WSDL.
36 SOAP X REST Complexo; Pesado. 36 Simples e legível.