A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003.

Apresentações semelhantes


Apresentação em tema: "1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003."— Transcrição da apresentação:

1 1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003

2 2 Resumo Cenários problemáticos (45 m) Uma solução: Web Services (60 m) Um exemplo (45 m) Ferramentas (15 m)

3 3 Cenários Problemáticos Vamos tentar bolar soluções para aplicações corporativas avançadas –Cenário 1: Portal de Turismo –Cenário 2: Compra Automática –Cenário 3: Supply Chain Management –Cenário 4: Pesquisa Google via Programa

4 4 Cenário 1: Portal de Turismo Implemente um portal realmente automático em que: –O cliente lista seus desejos via HTML –O portal pesquisa alternativas escolhe as melhores faz todas as reservas fatura o cartão de crédito do cliente efetua todos os pagamentos... automaticamente, sem intervenção humana Queremos que programas naveguem na Web, não só humanos

5 5 Cenário 2: Compra automática Implemente uma aplicação para um distribuidor regional de remédios que: –Automaticamente detecte estoque baixo –Procure o melhor lugar no mundo para comprar os produtos Preço, prazo de entrega, etc. –Emita a ordem de compra eletronicamente

6 6 Cenário 3: Supply Chain Management Implemente aplicações de SCM que integrem sistemas de várias empresas (fornecedores, parceiros, clientes,...)

7 7 Cenário 4: Pesquisa Google via Programa Escreva um programa que recupere as primeiras 10 ocorrências de “web services” retornadas pelo Google

8 8 Características comuns aos cenários Todos são sistemas distribuídos Todos funcionam na Internet Vários envolvem achar (navegar) o que se quer antes de usar Todos envolvem domínios administrativos diferentes (empresas diferentes) –Não temos controle sobre a plataforma, linguagem, etc. do outro lado –O outro lado é essencialmente um sistema legado no qual não podemos mexer

9 9 Problemas técnicos resultantes 1.Como trocar informação em ambiente heterogêneo para que ambos os lados entendam? 2.Como acessar a funcionalidade remota? 3.Como achar o “outro lado”? 4.Como driblar firewalls na comunicação?

10 10 Uma Solução – Web Services 1.Como trocar informação em ambiente heterogêneo para que ambos os lados entendam? Usar XML para toda a comunicação Usar SOAP fazer RPC 2.Como saber que “métodos” podem ser chamados e com que parâmetros? –Usar uma arquitetura orientada a serviços –Descrever o serviço remoto usando WSDL –Definir ontologias 3.Como achar o “outro lado”? –Usar UDDI para localizar serviços 4.Como driblar firewalls na comunicação? Usar binding de SOAP para HTTP

11 11 Uma imagem vale 1000 palavras

12 12 Vamos descrever melhor a solução...

13 13 Usar uma arquitetura orientada a serviços Serviço oferece uma API na Internet

14 14 Usar XML para toda a comunicação Extended Markup Language (XML) Oferece um formato ASCII para trocar qualquer tipo de informação estruturada Usa o “estilo” HTML de markup com tags – Manga Maçã Uva Os tags podem ser definidos para criar uma “Aplicação XML” ou “Linguagem XML”

15 15 Usar SOAP fazer RPC SOAP é uma forma de fazer Remote Procedure Call (RPC) usando documentos XML

16 16 Descrever o serviço remoto usando WSDL WSDL = Web Services Description Language Pronunciado “wisdle” É uma linguagem XML que contém informação sobre a interface, a semântica, e outros detalhes de chamadas a um Web Service

17 17 Descrição WSDL inclui Descrição/formato de mensagens que podem ser passadas –Elementos, Semântica da passagem de mensagens (Request-only, request-response, response- only) –Dentro do elemento Uma codificação usando um transporte particular –Elemento O endpoint do serviço (uma URL) –Dentro do elemento Veremos um exemplo logo

18 18 Definir ontologias Precisamos saber o que as coisas significam Exemplo: como mandar uma ordem de serviço se não sei o que cada campo deve conter? Várias organizações definem e padronizam ontologias –ebXML –Oasis

19 19 Usar UDDI para localizar serviços UDDI = Universal Description, Discovery, and Integration Permite cadastrar serviços e localizá- los Não é necessário usar UDDI se o cliente já tiver o documento WSDL –Não usaremos UDDI no exemplo que segue

20 20 Usar binding de SOAP para HTTP O binding sobre HTTP, SMTP, etc. permite driblar firewalls com mais facilidade Qualquer outro protocolo de transporte pode ser usado

21 21 Finalmente... O que é um Web Service? Um Web Service é um ponto de acesso a funcionalidade que pode ser –Localizado dinamicamente –Ter sua interface descoberta automaticamente, porque o serviço sabe se descrever –Ser chamado na Web

22 22 Um Exemplo – Google http://www.google.com/apis/ contém tudo que você precisa para acessar o Google como Web Servicehttp://www.google.com/apis/ Primeiro, vamos rodar o exemplo –Execute o comando: go “web services” –Compare a saída com o uso do Google pelo browser –(se você não estiver na Web, veja resultados em google\resultados-search)

23 23 Google - WSDL Examine GoogleSearch.wsdlGoogleSearch.wsdl Preste atenção aos elementos – e (formatos) – (define 3 operações ou “métodos”) – (usa SOAP sobre HTTP) – (URL para obter serviço)

24 24 Google – main Examine o programa GoogleAPIDemo.java GoogleAPIDemo.java Mostra como usar a classe GoogleSearch para acessar o Web Service

25 25 Ferramentas - Como desenvolver Web Services? Tem ferramentas da Sun –JWSDP com muitas APIs: JAXP, JAXB, JAX-RPC, SAAJ, JAXR, JWSDL Tem ferramentas da IBM Tem ferramentas da Microsoft (.NET) Tem ferramentas de outros lugares –Axis do projeto Apache WSDL2Java converte WSDL para Java –SOAP::Lite para Perl –etc.

26 26 Obrigado!


Carregar ppt "1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003."

Apresentações semelhantes


Anúncios Google