Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAnderson Graça Veiga Alterado mais de 8 anos atrás
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!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.