Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Web Services Tema: Palestrantes: João Araújo Chabuca José Vanilson De Araújo Zacarias Jorge Torrezão System Architecture And Integration TÓPICOS Introdução á Web Services (Serviços Web) Definição Padrões tecnológico que estruturam os Web Services Exemplos de utilização dos Web Services INTRODUÇÃO Os web services se tornaram comuns e presentes nos projetos de software atuais. Eles são amplamente usados e constituem a base da arquitetura orientada a serviços (SOA)¹, portanto é natural que o tema tenha ganhado tanta importância. 1. Service-Oriented Architecture (SOA), pode ser traduzido como arquitetura orientada a serviços, e é um estilo de arquitetura de software cujo princípio fundamental prega que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. Service-Oriented Architecture (SOA), pode ser traduzido como arquitetura orientada a serviços, e é um estilo de arquitetura de software cujo princípio fundamental prega que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. Frequentemente estes serviços são conectados através de um "barramento de serviços" (enterprise service bus, em inglês) que disponibiliza interfaces, ou contratos, acessíveis através de web services ou outra forma de comunicação entre aplicações. A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços. 3 O Que São Os Web Services? Web Services (WS) - é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Assim novas aplicações podem interagir eficientemente com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. O XML (eXtencible Markup Language) é utilizado para a especificação do Web Service, permitindo que um web service desenvolvido em uma determinada linguagem possa ser consumido por aplicações desenvolvidas em linguagens diferentes. Podemos entender que o Web Service é uma interface que precisa ser implementada por uma aplicação independente de linguagem e de sistema operacional para viabilizar a troca de informações entre aplicações. Ex. Tenho um web service desenvolvido em .net e uma aplicação costruida em Java ou Delphi consegue consumir este mesmo web service, isso graças ao uso do padrão xml que é um padrão multi-plataforma 4 Principais Padrões Tecnológicos Que Estruturam O WS O XML é usado como linguagem de base para a especificação dos principais padrões que estruturam os Web Services: SOAP - Simple Object Access Protocol Responsável pela codificação das mensagens num formato XML, de modo a serem facilmente interpretadas pelas aplicações. WSDL - Web Service Description Language Responsável pela descrição da interface publica do serviço. UDDI - Universal Definition Discovery Interface Responsável pela centralização dos serviços, simplificando a sua publicação/descoberta. SOAP – Simple Object Access Protocol SOAP é um protocolo simples baseado em XML para a troca de informação entre aplicações via o protocolo HTTP. O protocolo HTTP é utilizado como método de comunicação do tipo request/response (pedido/resposta) seguindo as regras de estruturação do tipo SOAP. Um pedido SOAP utiliza as regras de binding do HTTP que identifica se o pedido é do tipo POST ou GET. O SOAP define: A estrutura das mensagens Um modelo de processamento que descreve como as mensagens devem ser processadas pelo serviço. Seus Antecessores: CORBA, DCOM e RPC Por vezes não são eficientes por questões configurações de segurança, de dependências ou decompatibilidade entre as aplicações. O SOAP é o meio de comunicação onde circulam mensagem simples e é utilizado para aceder a um Web Service e interagir com ele. 6 Estrutura Do SOAP Uma mensagem SOAP contém informação estruturada em XML e obedecendo a seguinte estrutura: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <!-- opcional --> <!-- o bloco de cabeçalho vem aqui... --> </soap:Header> <soap:Body> <!-- elemento payload or Fault vem aqui... --> </soap:Body> </soap:Envelope> Estrutura Do SOAP <soap:Envelope> Elemento raiz de uma mensagem SOAP. Contém um Header opcional e um Body obrigatório <soap:Header> usado para codificar informação adicional da mensagem – header blocks <soap:Body> contém o conteúdo principal da mensagem a enviar e deve ser um documento XML válido. <soap:Fault> trata os erros de um modo centralizado, permitindo ao servidor comunicar ao cliente os erros encontrados no processamento da mensagem Exemplo Da Mensagem SOAP – Web Service Para Somar Dois Números Codificação da chamada Add(3,5) <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Add xmlns="http://w2kslosaw/DemoService/"> <x>3</x> <y>5</y> </Add> </soap:Body> </soap:Envelope> [WebMethod ] public int Add(int x, int y) {return x+y;} Exemplo Da Mensagem SOAP – Web Service Para Somar Dois Números Codificação da Resposta/Response <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddResponse xmlns="http://w2kslosaw/DemoService/"> <AddResult> 8 </AddResult> </AddResponse> </soap:Body> </soap:Envelope> WSDL - Web Service Description Language O WSDL é uma especificação para descrever um Web Service e a forma de interagir com eles, num vocabulário XML. É um documento XML que descreve: A interface pública descrevendo todas as funções disponibilizadas pelo serviço A informação dos tipos de dados para as mensagens de chamada/resposta dos serviços A informação sobre o protocolo de transporte a usar A informação sobre a localização do serviço Representa um “contrato” entre o cliente do serviço e o fornecedor do serviço . 11 Estrutura De Um Documento WSDL <definitions> é o elemento raíz do documento WSDL <types> especifica o tipo de dados usados no serviço que serão referenciados pelas mensagens. <message> especifica as mensagens do serviço. <portType> especifica as <operation> ( interface) do serviço. É onde é feita todas as operações do web service e o seu tipo. <binding> especifica o formato das mensagens e um protocolo de transporte. Existem 4 tipos de operações diferentes <operation>: 1. One-Way (só recebe uma mensagem) 2. Request-Response (recebe uma mensagem e envia uma resposta) (Figura 4.24) 3. Solicit-Response (envia uma mensagem e espera uma resposta) 4. Notification (envia uma mensagem) <service> especifica a localização para invocar o serviço <port>. 12 UDDI - Universal Definition Discovery Interface O UDDI corresponde a um repositórioonde se pode registar ou pesquisar serviços. Possui um conjunto dedocumentos WSDL que permitem identificar e localizar os web services que correspondem aos requisitos de uma determinada funcionalidade. Criado inicialmente por Microsoft, IBM e Ariba 13 O ciclo de registo e invocação de um webservice O ciclo de registo e invocação de um webservice tem 5 etapas : O web service é disponibilizado por um Service Provider que o regista num diretório ou repositório (UDDI) para o efeito. O Service Consumer Consulta o repositório Identifica um web service compatível com as funcionalidades desejadas Invocação do Web Service diretamente ao seu fornecedor. Devolução das respostas pretendidas. Exemplos de utilização dos Web Services Utilização de Google Maps em um site de arrendamento e vendas de imoveis Utilização de XML Soccer (http://xmlsoccer.com) em sites de noticias desportivas Utilização de PayPal em um E-Commerce para gerenciar pagamentos e emitir faturas Utilização do Twillio (https://www.twilio.com) para o envio de notificações de devolução de livros por SMS através de um sistema de gerenciamento de biblioteca. Duvidas?
Compartilhar