Bruno C. de Paula Tecnologia de Programação Web Services 1º Semestre 2009 > 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 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. Requisição Cliente X Servidor 05/11/2015 3 Resposta do Servidor ao Cliente 05/11/2015 4 ! 05/11/2015 5 A situação anterior é péssima situação! Necessidade de criação de N respostas diferentes, dependendo do número de tipos de cliente! ! 05/11/2015 7 ! Processamento Duplicado! ! 05/11/2015 8 Processamento 05/11/2015 9 Web Service não é: Site para Web Genérico que disponibilize um serviço 05/11/2015 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... 05/11/2015 11 Interoperabilidade sempre foi tentada! 05/11/2015 12 Modelos de Web Service: SOAP x REST 05/11/2015 13 SOAP 05/11/2015 14 Ser humano 05/11/2015 15 Web Service também é acessível via URL! 05/11/2015 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. 05/11/2015 17 Exemplo http://www.bronzebusiness.com.br/webservic es/valida.asmx?op=valida_cpf 05/11/2015 18 05/11/2015 19 05/11/2015 20 05/11/2015 21 HTTP Protocolo de transferência de hipertexto; Conexão, Requisição, Resposta, Fechamento. 05/11/2015 22 WSDL Descrição de quais métodos um certo serviço responde; http://www.bronzebusiness.com.br/webservices/valida .asmx?WSDL 05/11/2015 23 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. 05/11/2015 24 05/11/2015 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). 05/11/2015 26 REST 05/11/2015 27 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. 05/11/2015 28 Modelo tradicional Premier Customer Representative Clientes Premier Reserva de Passagem Clientes Regulares 05/11/2015 Resposta Automática Regular Customer Representative 29 Modelo REST 1-800Premier Clientes Premier Clientes Freqüentes 1-800Frequent 1-800Reservation Clientes Regulares 05/11/2015 Premier Customer Representativ e F.F. Customer Representativ e Regular Customer Representativ e 30 Modelo REST client http://www.kingsair/reservations/premier Clientes client http://www.kings-air/reservations/frequentflyer Clientes Freqüentes client Clientes Regulares 05/11/2015 http://www.kingsair/reservations/regular Premier Member Reservatio n Service Frequent Flyer Reservatio n Service Regular Member Reservatio n Service 31 Exemplo de chamada a um serviço Mais exemplos: http://local.yahooapis.com/MapsService/V1/mapImage?appid=YD-4g6HBf0_JX0yq2Isd http://json-random.appjet.net/?num=5&min=10&max=20&callback=randomcallback http://iplocationtools.com/ip_query_country.php?ip=74.125.45.100 http://www.spore.com/static/model/500/226/147/500226147573.xml ... 05/11/2015 32 SOAP X REST? 05/11/2015 33 SOAP X REST Grande suporte; 70% Fortune 500. 05/11/2015 Suporte médio; 34 SOAP X REST Codificação rápida; Com WSDL. 05/11/2015 Codificação menos produtiva; Sem WSDL. 35 SOAP X REST Complexo; Pesado. 05/11/2015 Simples e legível. 36