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

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

Programação Distribuída e Paralela Java Web Services 1 Java Web Services Daniel Barden – 0789/01-1 Leonardo Golob – 2029/01-?

Apresentações semelhantes


Apresentação em tema: "Programação Distribuída e Paralela Java Web Services 1 Java Web Services Daniel Barden – 0789/01-1 Leonardo Golob – 2029/01-?"— Transcrição da apresentação:

1 Programação Distribuída e Paralela Java Web Services 1 Java Web Services Daniel Barden – 0789/01-1 Leonardo Golob – 2029/01-?

2 Programação Distribuída e Paralela Java Web Services 2 Web Services l Web Services äO que é? äComo surgiram? äQuais suas vantagens? äComo são implementados? o XML o SOAP o UDDI o WSDL

3 Programação Distribuída e Paralela Java Web Services 3 Java Web Services l Java Web Services äQuais vantagens oferecem äPacotes para tratamento de XML äJava Web Services Developer Pack

4 Programação Distribuída e Paralela Java Web Services 4 Web Services l O que é? äModo de acessar Serviços Remotos äBaseada em troca de mensagens XML äModelo Cliente/Servidor äEvolução de RPC

5 Programação Distribuída e Paralela Java Web Services 5 Web Services äSão necessários três componentes: o Service Provider: Implementa o serviço e o publica o Service Repository: Publica o serviço o Service Requester: Busca o serviço no Repository e o utiliza

6 Programação Distribuída e Paralela Java Web Services 6 Web Services l Fluxo: ä1) Service Provider cria o serviço e o publica no Service Repository; ä2) Service Requester procura o serviço no Service Repository; ä3) Service Repository devolve as informações sobre o serviço; ä4) Service Requester manda a operação para o Service Provider; ä5) Service Provider devolve o resultado da operação;

7 Programação Distribuída e Paralela Java Web Services 7 Web Services l Como a informação é trocada äWSDL: Linguagem baseada em XML para descrever o serviço que está sendo oferecido; äSOAP: Linguagem baseada em XML, para troca de mensagem entre Requester e Provider äAmbas possuem mecanismos para efetuar validação (schemas); äLinguagens bem definidas.

8 Programação Distribuída e Paralela Java Web Services 8 Web Services l WSDL (Web Service Description Language) äDescreve como se comunicar com Web Service; äInformações como: o Definição de tipos de dados o Operações suportadas o Endereços de rede o Formatos de dados para entrada e saída o... äPode ser gerada automaticamente por ferramentas como o java2wsdl;

9 Programação Distribuída e Paralela Java Web Services 9 Web Services l SOAP (Simple Object Access Protocol) äFormato usado para troca de mensagens; äPossuem os dados que serão trocados pelos programas äNormalmente encapsulado em HTTP äPorém, outro protocolo poderia ser utilizado (ex: SMTP)

10 Programação Distribuída e Paralela Java Web Services 10 Web Services l Exemplo SOAP  POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "http://example.org/2001/06/quotes" DIS

11 Programação Distribuída e Paralela Java Web Services 11 Web Services l UDDI äUniversal Description, Discovery, and Integration äPadrão da indústria para registro de Web Services äVariante: o ebXML: Padrão aberto para registro

12 Programação Distribuída e Paralela Java Web Services 12 Web Services l Diferenças com RPC äDados são transmitidos via XML o Facilidade para o programador äDados são passados através de protocolos padrões, como HTTP äServiços bem definidos (chamadas, parâmetros...) äRepositório de Serviços bem definido

13 Programação Distribuída e Paralela Java Web Services 13 Web Services l Vantagens äMecanismos projetados antes de começarem a ser usados äInteroperabilidade äAplicações fracamente acopladas l Desvantagens äSegurança äPerformance

14 Programação Distribuída e Paralela Java Web Services 14 Java Web Services l Web Services são baseados em XML: äSOAP äWSDL äUDDI l Java procura prover soluções para lidar com XML l Ferramentas já desenvolvidas para desenvolver Java Web Services

15 Programação Distribuída e Paralela Java Web Services 15 Java Web Services l Conjunto de pacotes para facilitar o tratamento de XML: äJava API for XML Processing (JAXP) äJava Architecture for XML Binding (JAXB) äJava API for Messaging (JAXM) äSOAP with Attachments API for Java (SAAJ) äJava API for XML-based RPC (JAX-RPC) äJava API for XML Registries (JAXR)

16 Programação Distribuída e Paralela Java Web Services 16 Java Web Services

17 Programação Distribuída e Paralela Java Web Services 17 Java Web Services l Java API for XML Processing (JAXP) äAPI utilizada para interpretar e transformar XMLs äPossui mecanismos de validação äPermite uso de DOM, SAX e XSLT äAlgumas implementações: o Apache Xerces o Apache Crimson

18 Programação Distribuída e Paralela Java Web Services 18 Java Web Services l Java Architecture for XML Binding (JAXB) äProcura associar um schema XML ao código Java äBinding Compiler cria classes a partir de Schemas äAtravés do método de Marshall, lê um documento XML e o converte em uma hierarquia de objetos. äAtravés do método unmarshall, cria um documento XML a partir de uma hierarquia de objetos.

19 Programação Distribuída e Paralela Java Web Services 19 Java Web Services

20 Programação Distribuída e Paralela Java Web Services 20 Java Web Services l Java API for XML Messaging (JAXM) äPropõe uma solução leve para sistemas com troca de mensagens baseadas em XML äAbstrai protocolos de comunicação (HTTP, SMTP,...)

21 Programação Distribuída e Paralela Java Web Services 21 Java Web Services

22 Programação Distribuída e Paralela Java Web Services 22 Java Web Services l JAXM ä5 Modos de operação o Assícrona o Assíncrona com ACK o Síncrona o Síncrona com ACK o Fire and Forget

23 Programação Distribuída e Paralela Java Web Services 23 Java Web Services l SOAP with Attachments API for Java (SAAJ) äAPI para tratamento de mensagens SOAP äAntigamente fazia parte da JAXM äTroca de mensagens síncrona o JAXM normalmente usada para troca Assíncrona

24 Programação Distribuída e Paralela Java Web Services 24 Java Web Services l Java API for XML-based RPC (JAX-RPC) äEspecificação para realizar RPC via SOAP por HTTP äSimilar a RMI, porém com o poder de acessar Web Services que não são Java.

25 Programação Distribuída e Paralela Java Web Services 25 Java Web Services

26 Programação Distribuída e Paralela Java Web Services 26 Java Web Services l JAX-RPC äUtiliza serviço a partir de 3 passos: o Obter uma instância do Stub o Configurar o serviço que devemos utilizar o Chamar o método

27 Programação Distribuída e Paralela Java Web Services 27 Java Web Services l JAX-RPC 00 public class HelloClient { 01 public static void main(String[] args) { 02 try { 03 HelloIF_stub stub = 04 (HelloIF_stub)(new HelloWorld_Impl().getHelloIF() ); 05 stub.setProperty( javax.xml.rpc.Stub.ENDPOINT_ADDRESS_PROPERTY,args[0] ); 06 System.out.println(stub.sayHello("Duke!")); 07 } catch (Exception ex) { 08 ex.printStackTrace(); 09 } 10 } 11 }

28 Programação Distribuída e Paralela Java Web Services 28 Java Web Services l JAX-RPC äLinhas 3 e 4 buscam o stub e o instanciam äLinha 5 configura o web service desejado: args[0] representa a URL do web service; äLinha 6 chama o método.

29 Programação Distribuída e Paralela Java Web Services 29 Java Web Services l Java API for XML Registries (JAXR) äAPI que procura facilitar o acesso a repositórios de web services äSuporta ebXML (similar ao UDDI, porém um padrão aberto) e UDDI äPossui suporte tanto ao registro como a busca de web services

30 Programação Distribuída e Paralela Java Web Services 30 Java Web Services

31 Programação Distribuída e Paralela Java Web Services 31 Java Web Services l Java Web Services Developer Pack (JWSDP) äDistribuição da SUN para desenvolver Web Services äProvê pacotes que aumentam a segurança äTomcat para Servidor de Servlets; äJSTL äServidor de Registros

32 Programação Distribuída e Paralela Java Web Services 32 Java Web Services l Vantagens äPacotes proporcionam quase nenhum contato com o XML äPortabilidade de Java äJ2EE proporciona escalabilidade

33 Programação Distribuída e Paralela Java Web Services 33 Java Web Services l Ferramentas que auxiliam o desenvolvimento äEclipse Web Tools Plataform äStylos Studio äAltova XMLSpy

34 Programação Distribuída e Paralela Java Web Services 34 Java Web Services l Eclipse Web Tools Plataform äProporciona um pacote completo para J2EE: Editores HTML, JSP, CSS... äBrowser próprio äFerramentas de Teste äDesvantagem: Dependencia de outros pacotes (EMF, GMF) äNão está totalmente pronto para a versão final do Eclipse 3.1

35 Programação Distribuída e Paralela Java Web Services 35 Java Web Services l Stylos Studio äPossui editores para todos estilos de XML äPossui suporte a WSDL e SOAP äLeve äPossui um pequeno suporte a Java äPorém sua interface não é muito boa

36 Programação Distribuída e Paralela Java Web Services 36 Java Web Services l Altova XML Spy äPossui editores para todos estilos de XML äPossui suporte gráfico para montagem de XMLs SOAP e HTML äPossui suporte para depuração de mensagens SOAP

37 Programação Distribuída e Paralela Java Web Services 37 Java Web Services l Conclusão: äEclipse, por ser uma plataforma voltada para java, é a melhor opção. äXMLSpy provê um bom mecanismo de depuração baixo nível.


Carregar ppt "Programação Distribuída e Paralela Java Web Services 1 Java Web Services Daniel Barden – 0789/01-1 Leonardo Golob – 2029/01-?"

Apresentações semelhantes


Anúncios Google