22
Web Service Plínio Antunes Garcia Sam Ould Mohamed el Hacen Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

  • Upload
    lequynh

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Web Service Plínio Antunes Garcia

Sam Ould Mohamed el Hacen

Universidade Federal de Juiz de Fora

Ciência da Computação

Sistemas Distribuídos

Professor Ciro Barbosa

Page 2: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Sumário

• Introdução conceitual • O Web Service • Protocolo SOAP • Arquitetura

• Tutorial • Instalando um servidor (Apache Tomcat) • Implementando um Web Service • Criando um cliente (Java) • Criando um cliente (PHP)

Page 3: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

O Web Service

• Solução para comunicação entre aplicações via Internet

• Permite a utilização de serviços independente da

plataforma ou do sistema

• Instituições responsáveis pela padronização:

W3C e OASIS

• Ex.: Comércio eletrônico

Page 4: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Arquitetura

• Protocolo SOAP (Simple Object Access Protocol)

▫ Controla a transmissão (via HTTP) dos dados entre as aplicações

▫ Detalha como a informação deve ser organizada

▫ Monta e transmite o WSDL

• WSDL (Web Service Description Language)

▫ Documento em XML que descreve o serviço, como acessá-lo e quais métodos disponíveis

Page 5: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Arquitetura (modelo cliente/servidor)

Page 6: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Tutorial

• Objetivos:

▫ Instalar um servidor de web service

▫ Criar um Web Service simples em Java utilizando o protocolo SOAP (Simple Object Access Protocol)

▫ Implementar um cliente em Java e um cliente em PHP

(Fonte: JavaFree.com.br)

Page 7: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Instalando o servidor

• Será utilizado o servidor Tomcat para executar um framework de Web Service chamado Axis

• Axis: Framework da Apache que implementa o

protocolo SOAP

• 1) Baixe e instale o Tomcat (executável)

http://tomcat.apache.org/

• 2) Baixe o Axis (.zip ou .tar) http://axis.apache.org/axis/

Page 8: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Instalando o servidor

• 3) Descompacte a pasta do Axis e navegue até /webapps/axis

• 4) Mova a pasta axis para a pasta webapps do tomcat ▫ Ex.: (C:\Program Files\Apache Software

Foundation\Tomcat 6.0\webapps\axis)

• 5) Reinicie o Tomcat

• 6) Faça o teste: http://localhost:8080/axis/

Page 9: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Instalando o servidor

Page 10: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Criando um Web Service simples

• 1) Crie uma classe Java com os métodos de seu serviço e salve com a extensão .jws na pasta axis

Page 11: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Criando um Web Service simples

• 2) Teste http://localhost:8080/axis/Servico.jws

• O Axis cria de forma transparente os arquivos de definição WSDL (XML)

• Teste de um serviço via URL http://localhost:8080/axis/Servico.jws?method=fatorial&n=4

Page 12: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Criando um cliente em JAVA

• 1) A pasta lib do .zip Axis deve estar no classpath da

aplicação pois

utilizaremos as classes Service e Call do Axis

Page 13: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Criando um cliente em JAVA

• 2) Cliente.java

Page 14: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

import org.apache.axis.client.Service; import org.apache.axis.client.Call; public class Cliente { public static void main(String[] args) throws Exception { // Endereço, local onde encontra-se o Web Service String local = "http://localhost:8080/axis/Servico.jws"; // Criando e configurando o serviço Call call = (Call) new Service().createCall(); // Configurando o endereço. call.setTargetEndpointAddress(local); // Marcando o método a ser chamado. call.setOperationName("soma"); // Parâmetros da função soma. Object[] param = new Object[]{new Integer(25),new Integer(4)}; // Retorno da Função Integer ret = (Integer)call.invoke(param); // Imprime o resultado: System.out.println("Resultado da soma : " + ret); } }

Page 15: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Criando um cliente em PHP 1) Antes de tudo, é preciso um servidor PHP para

rodar o .php (exemplo: XAMPP e Vertrigo)

• Classe soapclient.php http://php.net/manual/en/class.soapclient.php

• No PHP 5 a classe já vem instalada

Page 16: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Criando um cliente em PHP

• 2) cliente.php _

<?php // Endereço, local onde encontra-se o Web Service $wsdl = "http://localhost:8080/axis/Servico.jws?wsdl"; $valor1 = 5; $valor2 = 234; // Instanciando um objeto soapclient $cliente = new soapclient($wsdl); print "<p>Resultado da soma $valor1 + $valor2: "; $ret = $cliente->__call('soma',array($valor1, $valor2)); print $ret; print "</p>"; ?>

Page 17: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Conclusão

• Mostramos a finalidade essencial de um Web Service: promover o acesso à serviços via web

independente da plataforma dos clientes.

Page 18: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Referências

• COLPANI, C. F., VALDAMERI, A. F., Web Services: estudo de caso envolvendo uma aplicação B2B,

FURB, 2003. < http://www.inf.furb.br/seminco/2003/artigos/94-vf.pdf>

• W3C WORLD WIDE WEB CONSORTIUM. Simple object access protocol (SOAP). Estados Unidos, maio 2000b. Disponível em <http://www.w3.org/XML>.

Page 19: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Questões sobre WS

Page 20: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Para que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como acessá-lo e quais métodos compõe o serviço. Qual o papel do SOAP no contexto de aplicações Web-Service? O protocolo SOAP (Simple Object Access Protocol)em Web-Services tem o papel de controlar a transmissão (via HTTP) dos dados entre as aplicações envolvidas. SOAP também é responsável por detalhar como a informação deve ser organizada além de montar e transmitir o WSDL do serviço.

Page 21: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Qual o ciclo de vida de um Web-Service? O ciclo de vida de um Web-Service compreende quatro estados distintos: Publicação, Descoberta, Descrição e Invocação. Publicação: Processo, opcional, através do qual o fornecedor do Web Service possa conhecer a existência do seu serviço, efetuando o registro do mesmo no repositório de Web Services (UDDI); Descoberta: Processo, opcional, através do qual uma aplicação cliente toma conhecimento da existência do Web Service pretendido pesquisando num repositório UDDI; Descrição: Processo pelo qual o Web Service expõem a sua API (documento WSDL); desta maneira a aplicação cliente tem acesso a toda a interface do Web Service, onde se encontram descritas todas as funcionalidades por ele disponibilizadas, assim como os tipos de mensagens que permitem processar as rotinas; Invocação: Processo pelo qual cliente e servidor interagem, através do envio de mensagens de entrada e de eventual recepção de mensagem de saída do Web Service.

Page 22: Web Service - UFJF | Universidade Federal de Juiz … que serve o WSDL no uso de Web-Services? WSDL é uma linguagem, baseada em XML, que descreve um Web-Service especificando como

Referência:

CAMPOS, M. C., Interoperabilidade Entre Sistemas Distribuídos Utilizando Web Services, UNIRONDON