Profrª Everlin Marques Profrª Cinara Menegazzo filePrograma “Conhecendo Padrões Abertos para...

of 77/77
Programa “Conhecendo Padrões Abertos para Interoperabilidade” Oficina I: Curso de Web Services Profrª Everlin Marques Profrª Cinara Menegazzo
  • date post

    29-Oct-2018
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of Profrª Everlin Marques Profrª Cinara Menegazzo filePrograma “Conhecendo Padrões Abertos para...

  • Programa Conhecendo Padres Abertos para Interoperabilidade

    Oficina I: Curso de Web Services

    Profr Everlin Marques Profr Cinara Menegazzo

  • 2

    SOA; Tecnologias SOA;

    WS; Conceitos; Funcionamento; Arquitetura; Componentes;

    SOAP; XML; WSDL; UDDI;

    Exemplos de projetos; Vantagens e Problemas (tecnologias relacionadas);

    Exemplos Prticos; Referncias Bibliogrficas

    Web Service - Sumrio

  • 3

    Web Service (WS) Interoperabilidade

    Interoperabilidade: capacidade de comunicar, de maneira transparente, o usurio com qualquer software,hardware ou SO, de qualquer fabricante, em uma mesma rede.

    Servio: Blocos de construes independentes que unidos representam um ambiente de aplicao

    Aplicao: ambiente de execuo de seqncias de instrues para execuo de uma atividade.So protocolos da camada sete OSI-ISO(HTTP, SMTP, FTP)

  • 4

    Web Service Arquitetura SOA

    SOA (Service Oriented Arquitecture)

    Arquitetura para construir aplicaes que encapsula seus processos e comunica seus componentes de

    forma independente.

    (ERL, 2004)

  • 5

    Web Service Arquitetura SOA

    Requisitos Componentes independentes, multiplataforma, em rede e com alta disponibilidade.

    Conseqncia Comunicao mais lenta e menos segura do que apenas a invocao de cdigo e compartilhamento de memria (local).

  • 6

    SOA uma forma de arquitetura de sistema distribudo caracterizado por (W3C,2007):

    Viso lgica: o servio uma abstrao( viso lgica do processo de negcio,banco de dados, programas);

    Orientado a mensagem o servio definido em termos de mensagem, no interessa a implementao do agente provedor ou requisitor;

    Orientado a descrio o servio descrito por metadados que so publicados naturalmente pela SOA, esta descrio deve conter uma referncia semntica do servio

    Web Service Arquitetura SOA- Caractersticas

  • 7

    Granularidade o servio tende a usar um pequeno nmero de operaes relativamente grandes e com mensagens complexas;

    Orientado a rede o servio tende a ser usado atravs da rede, mas no obrigado;

    Plataforma neutra as mensagens so enviadas por plataformas neutras com formatao padro determinadas pelas interfaces, XML a mais utilizada.

    Web Service Arquitetura SOA- Caractersticas

    SOA Sistemas distribudos

  • 8

    Os sistemas distribudos tem seus problemas, como:

    Uso simultneo de recursos;

    Latncia no transporte;

    Compartilhamento de memria;

    Falhas parciais, dentre outros.

    Web Service Arquitetura SOA

  • 9

    Programa Cliente Stub

    Programa servidor Estrutura

    Camada de comunicao de

    interface, dedicada

    Web Service Arquitetura SOA

    Figura 1 Arquitetura Cliente Servidor stub/estrutura (RPC)

  • 10

    Web Service Arquitetura SOA

    Aplicao Cliente

    Servidor Web

    1) A conexo HTTP envia requisies de dados e quaisquer parmetros

    2) O servio envia resposta como dados XML ou HTML

    Dados recebidos pelo cliente, conexo fechada

    Figura 2 Processo de transao HTTP

  • 11

    Solues com tecnologias baseados em SOA como:

    EDI (Eletronic Document Interchange)CORBA (Common Object Request Broker Architecture)DCOM(Distributed Common Object Model) (M$)

    JavaRMIRPC (Remote Procedure Call)

    Servlets,JSP,ASP, PHP transacionais (HTTP)

    Web Services ()

    Web Service Arquitetura SOA

    Baseadas em stub/estrutura (RPC)

  • 12

    Uso simultneo de recursos;

    Necessidade de protocolos especficos;

    Plataformas proprietrias;

    Mensagens em padres especficos;

    Dependentes de fornecedores;

    Implementao complexa;

    Disponibilidade;

    Independncia dos componentes;

    Problemas com firewall.

    Web Service Arquitetura SOAPor que uma tecnologia alternativa:

  • 13

    Um consrcio de empresas (M$, IBM, Xerox e Sun) hoje chamado de WS-I (Web Services Interoperability Organization) para atender as necessidades de interoperabilidade entre aplicaes, utilizou-se das caractersticas da SOA para propor uma estrutura de websites, alterando o foco de disponibilidade de informaes para disponibilidade de dados.

    Web Service - Evoluo

    Website+SOA+disponibilidade de dados = WS

  • 14

    2000 W3C aceita a submisso do SOAP (Simple Object Access Protocol);

    2001 W3C publica a especificao WSDL (Webservices Description Language) (nova implementao do XML fornece uma linguagem para descrever a interface dos WS);

    UDDI ( Universal Description, Discovery and Integration) mecanismo padro para descoberta dinmica de descries de servios.

    Web Service - Evoluo

  • 15

    Interoperabilidade;

    Reaproveitamento de sistemas legados;

    Encapsulamento de processos;

    Modular;

    Independncia de plataforma.

    Web Service Caractersticas(vantagens)

  • 16

    Web Service Conceitos (1/2)

    Arquitetura para criar interoperabilidade de aplicaes de forma estruturada (Coulouris et al., 2003)

    um sistema planejado para suportar interoperabilidade na interao entre aplicaes sobre uma rede (Erl,2004)

  • 17

    Web Service Conceitos (2/2)

    Uma aplicao de software identificada por uma URI (Uniform Resource Identifier), cuja interface e ligao so capazes de serem definidas, descritas e descobertas por artefatos do XML suportando interaes diretas com outras aplicaes de software utilizando mensagens baseadas em XML via protocolos baseados na Internet.(W3C,2007)

  • 18

    Web Service - Estabelecimento

    Figura 3 - Estabelecimento da primeira plataforma WS, (Erl,2004)

  • 19

    Web Service Componentes

    Interface (Web Services Description Language-WSDL) - descrio abstrata, contendo todas as propriedades de um WS;

    Mensagem (Simple Object Access Protocol- SOAP) formalizao de documentos em XML usado para troca de informaes entre aplicaes que usam qualquer padro web;

    Registro (Universal Description Discovery and Intregration-UDDI) permite a publicao de WS por provedores e a localizao por consumidores.

  • 20

    Web Service Componentes

    Figura 4 Protocolos de Comunicao de Web Services(Zavalik, et.al., 2004)

  • 21

    Figura 5 Processo geral de um WS (W3C,2007)

    Web Service Componentes

  • 22

    SOA

    Web Services Componentes

    Figura 7 -Modelo Terico da SOA para WS (Erl,2004)

  • 23

    WS-I Fundao de especificaes e padres diferentes mas cooperantes. As especificaes de software que compe o WS so:

    HTTP/1.1;

    RFC 2965: HTTP State Management Mechanism(cookies);

    XML 1.0 (segunda edio);

    XML Schemas;

    SOAP 1.1 e 1.2 ;

    WSDL 1.1 e 2.0;

    UDDI 2.0 e 3.0.

    Web Services Componentes Tecnolgicos

  • 24

    Computador Cliente

    Web Services Interaes entre Componentes

    WS de correo de CEP

    Documento WSDL

    Registro UDDI da Microsoft

    Sistema de correo CEP (Java)

    Apache Tomcat

    Apache Axis

    Dispatcher

    Registro UDDI da IBM

    Programa em PHP

    Parser SOAP

    GUI

    Requisio SOAP

    Consulta

    DescobreRegistra

    MSG Duplicao UDDI

    Baixa o WSDL

    Resposta SOAP em HTTPResposta

    SOAP

    Chamada de funo

    Retorno de funo

    CorpoSOAP

    Pacote SOAP

  • 25

    Web Service - Arquitetura

    Figura 6 Arquitetura dos Web Services (DallOglio, 2003)

  • 26

    W3C Responde pelas especificaes do SOAP, WSDL,XML, XML Schema e HTTP e, o documento WS-Architecture;

    OASIS Controla as especificaes de UDDI, WS-Security;

    WS-I licenciada para promover interoperabilidade de WS com plataformas, SO e linguagens de programao.

    Web Service Controle das Especificaes

  • 27

    Web Services Fundamentos de comunicao

    Os WS se comunicam utilizando a pilha de protocolos TCP/IP, fazendo um handshake HTTP;

    Qualquer protocolo de aplicao poderia ser usado para comunicao entres as aplicaes (HTTP,SMTP,FTP);

  • 28

    Web Services SOAP Conceito

    Descreve um padro de especificao de mensagens em XML;

    um formato de mensagem que permite que, um documento com dados ou com chamadas de mtodos, sejam enviadas, em um formato XML, de um computador para outro. (W3C,2007)

  • 29

    Web Services SOAP Funcionamento

    Programa clienteA

    Camada do documento SOAP-Processador SOAP

    Camada do documentoXML-Parser

    Camada do documentode caractere-Apache

    Camada HTTP - Internet

    Programa do provedor de servio - B

    Camada do doc. SOAP-Processador

    Camada do documentoXML-Parser

    Camada do documentode caractere Apache

    Figura 9 - Funcionamento do SOAP

  • 30

    Web Services SOAP Gramtica

    Corpo SOAP

    Envelope SOAP

    Cabealho SOAP

    Figura 10 - Gramtica SOAP

  • 31

    Web Services SOAP Gramtica

  • 32

    Web Services SOAP Gramtica -ENV

  • 33

    Web Services SOAP Gramtica - Corpo

  • 34

    Web Services SOAP Gramtica - Header

    admin

    rover

    myNS: authentication = sem significado padromustUndestand=1 gera erro se o parceiro no processa campos no headerActor:especifica quem deve processar o cabealho Header no suporta sesso, transao ou autenticao.

  • 35

    Web Services-WSDL(Webservices Description Language)

    Especificao em nvel abstrato para uma infra-estrutura de computao distribuda baseada em XML.(ERL,2004)

    Proporciona um fcil entendimento, por ser metadados;

    Possibilita que se descubra qual servio est sendo disponibilizado pelo WS (esquema), assim como, se o WS satisfaz um cliente;

    Descreve a interface do requisitor e do requerente e a localizao dos servios disponveis;

    Descreve a instncia de dados na resposta SOAP;

  • 36

    Web Services - WSDL

    WSDL basicamente usado para localizar, vincular e publicar o ws (operaes bsicas do wsdl).

    Diretrio de ws Provedor de ws

    Consumidor de ws (cliente)

    Figura 11 USO do WSDL

    WSDL via SOAPWSDL via SOAP

    WSDL via SOAP

  • 37

    Web Services WSDL Diviso lgica

    Descries abstratas (funcionais) so elementos orientados a descrever as capacidades do ws (funcionalidades).

    Abstrata Servidor=funcionalidades do WS

    Descries concretas(fsicas) so elementos que vinculam, fisicamente, o cliente ao servio (conexo fsica);

    Concreta=Cliente Servidor

  • 38

    Web Services WSDL-Elementos XML Abstratos

    declarao de tipos do wsdl

    chamada de mtodo/funo/sub-rotina

    comunicao simplex(request/replay)

    porta de contato do ws para clientes

  • 39

    Web Services WSDL-Elementos XML Abstratos

    Instncia de Customer

    1001

    Cinara

    Menegazzo

    Avelino Marcante

    Joinville

    Joinville

    Brazil

  • 40

    Web Services WSDL-Elementos XML Abstratos

  • 41

    Uma operao pode ter apenas trs mensagens e uma mensagem pode ter apenas uma entrada e uma sada;

    Mensagem de entrada (input) define os dados que o WS/cliente espera receber;

    Mensagem de sada (output) define os dados que o WS/cliente espera enviar em resposta;

    Mensagem de falha (fault) Define as mensagens de erro que podem ser retornadas pelo WS;

    Web Services wsdl:operation (1/3)

    Semelhante :

    Mtodo em Java ou sub-rotina em Visual Basic ou funo em PHP

  • 42

    Tipos de operaes que podem ser declaradas em um documento WSDL:

    Requisio Resposta cliente WS

    Solicitao Resposta WS cliente

    Sentido nico um cliente envia uma mensagem ao WS mas no espera uma resposta.

    Notificao o servidor WS envia uma notificao ao cliente

    Web Services wsdl:operation (2/3)

  • 43

    Requisio/Resposta

    Web Services wsdl:operation (3/3)

  • 44

    Mensagem do cliente WS

    Mensagem do WS cliente (sucesso)

    Mensagem do WS cliente (falha)

    Web Services WSDL-Elementos XML Abstratos

  • 45

    agrupamento de operaes (conteiner) que o ws disponibiliza

    Web Services WSDL-Elementos XML Abstratos

  • 46

    Web Services - WSDL-Elementos XML concretos

    Vnculo entre abstrato e concreto

    Continer de informaes (protocolo (http) e estilo da requisio(rpc) )

    Localizao da informao

    Continer para todas as portas

  • 47

    Web Services - WSDL-Elementos XML concretos

    O elemento binding mapeia os elementos operation em um elemento portType, para um protocolo especifico. Ele associa o elemento portType ao protocolo SOAP, utilizando-se de um elemento de extenso SOAP chamado , atravs de dois parmentos: protocolo de transporte e o estilo da requisio (rpc ou document).

  • 48

    Web Services - WSDL-Elementos XML concretos

    transport="http://schemas.xmlsoap.org/soap/http" />

  • 49

    Web Services - WSDL-Elementos XML concretos

    - localizao do servio (IP, porta)

  • 50

    Web Services - WSDL-Elementos XML concretos

    - continer de portas do ws fsico

  • 51

    Web Services - WSDL-Elementos XML

    - elemento raiz do wsdl (especifica ns)

    xsd:schema targetNamespace="urn:meuserver.hello">

  • 52

    Web Services - WSDL-Elementos XML

    Figura 12 - Elementos WSDL (Erl,2004)

  • 53

    Web Services - UDDI

    Registro universal de servios na web que permite publicar e obter servios;

    Caixeiro viajante X Banco de dados de servio X Google.

    UDDI=Propaganda complexa;

  • 54

    Web Services - UDDI

    Mecanismo padronizado e transparente para descrever servios;

    Descreve mtodos simples para solicitar servios;

    Especifica um registro central dos servios acessvel;

    Uma coleo duplicada de WS;

  • 55

    Web Services UDDI - Arquitetura

    Pginas brancas contm informaes sobre o fornecedor, como nome e telefone, legveis humanos.

    Pginas amarelas classificaes taxonmicas como categorizao interna (projeto,servio) ou externa (comparaes de entradas com listas de entradas vlidas);

    Pginas verdes- como programar para um solicitante se transformar em um cliente do servio (dicionrio de dados do servio);

  • 56

    Web Services UDDI - Arquitetura

    UBR - UDDI Business Registry

    Figura 14 Diagrama de integrao dos registros UDDI v 3.0 (Reckziegel,2006)

  • 57

    Web Services - UDDI

    Figura 13-Estrutura de publicao UDDI (Adaptado de Schoroeder,2004)

    Registro UDDI

    TModel

  • 58

    Web Services UDDI - Exemplo

    Cia do Oidescriao do WS

    Informaes gerais de contato,categoria e

    servios [email protected]

  • 59

    Web Services UDDI- Exemplo continuao

    Detalhes tcnicos do servio, interface ou API

  • 60

    A pesquisa pode ser por servio ou fornecedor;

    Comunicao via SOAP;

    Aps localizado o servio so obtidas informaes como:

    URI, nome dos mtodos e tipos de argumentos

    Web Services - UDDI

  • 61

    Web Services UDDI Tipos de Descoberta

    Descoberta em tempo de projeto Mais programao, quase manual;

    Descoberta em tempo de execuoAutomatizado, atravs de uma especificao de GUI;

    Descoberta= bindingTemplate + tModel

  • 62

    Sistema de relatrios de conglomerado Empresa XYZ

    Site de comrcio eletrnico Cameras.com

    Web Service Exemplos de Projetos

  • 63

    O volume de dados relativamente pequeno;A distncia geogrfica torna a Internet atraente;Cada empresa usa uma arquitetura de desenvolvimento de sistemas;Para casos de novas aquisies de empresas h a necessidade de integrao rpida;HTTP no firewall contornvel;

    Web Service Exemplo XYZ

    Anlise bsica

  • 64

    Projetando logicamente a soluo, sem formalismos (WS- Architecture)

    Definir o servidor e os clientes;

    Decidir sobre primitivas de transmisso;Requisio/resposta = cliente servidor Solicitao/resposta = servidor cliente Sentido nico = cliente servidor (no wait)

    Web Service Exemplo XYZ

    WSDL

    Comear a transmisso por quem deseja os resultados1:N Servidor:Cliente

  • 65

    Projetando logicamente a soluo

    Planejando as mensagens;Se o servidor est na matriz

    Ento solicitao/reposta Ento servidor cliente

    MensagensServidor

    O relatrio est pronto para ser enviado?Por favor, envie-o.

    ClienteSim/No.Aqui est ele.

    Web Service Exemplo XYZ

    WSDL

  • 66

    Web Service Exemplo XYZCriando o projeto (programao)

    Escrever o documento WSDL/software servidor(manual ou autom.);

    WSDL deve ser conhecido por todos os clientes (guia);

    Testar o cliente respondendo ao servidor;

    Testar os dados enviados por todos os clientes.

  • 67

    Cliente de Web service da empresa ACliente de Web

    service da empresa A

    Web Service Exemplo XYZ

    Servidor de WS Corporativo

    Relatrio em nvel da corporao

    Sistema de contabilidade da

    Empresa A

    Cliente de Web service da empresa ACliente de Web

    service da empresa A

    Sistema de contabilidade da Empresa ASistema de

    contabilidade da Empresa ASistema de

    contabilidade da Empresa A

    Nvel Gerencial daCorporao

  • 68

    Vrios ns:Site da Cameras.com trabalha com carto de crdito;

    Usa um servidor de carto de crdito;Podero haver centenas de sites de atacadistas com

    seus estoques publicados como WS;Envolve descoberta e a interconexo de clientes a WS ou de WS a WS, sem interveno humana;Relacionamento comercial de partes desconhecidas;As plataformas de desenvolvimento das partes so desconhecidas;Posies geogrficas desconhecidas; HTTP no firewall contornvel.

    Web Service Exemplo Cameras.comAnlise bsica

  • 69

    Definir servidores e clientes;Se atacadistas de cmeras tem seus WS

    Ento os servidores j existemSe cameras.com tem seu site

    Ento cameras.com ser cliente

    Decidir sobre primitivas de transmisso;Cameras.com deseja os resultados

    Ento requisio/resposta (cs)Site web (cliente) WS dos atacadistas (servidores)

    Web Service Exemplo Cameras.comProjeto lgico da soluo

    Comear a transmisso por quem deseja os resultados

  • 70

    Projetando logicamente a soluo

    Planejando as mensagens;Se site web o cliente

    Ento mensagens sero enviadas aos atacadistas

    MensagensCliente requisita ao WS atacadista

    Quantas cmeras do modelo XXX esto disponveis?Qual o preo da cmera de modelo nmero XXX?Por favor envie um cmera do modelo XXX para o

    endereo YYY.Por favor, envie a lista de preos atual.

    Web Service Exemplo Cameras.com

    WSDL

  • 71

    Projetando logicamente a soluo

    Servidor atacadista respondeNs temos n cmeras do modelo nmero XXX.A cmera de modelo XXX custa ZZZ.Confirmao de que n cmeras do modelo XXX foram

    enviadas ao endereo YYYAqui est a lista de preos atuaisMensagem de erro indicando fim de estoque para a

    cmera XXX

    Web Service Exemplo Cameras.com

    WSDL

  • 72

    Projetando logicamente a soluo

    Cliente requisita ao WS da operadora cartoUma compra de $$$$ no carto de crdito nmero 112233 aprovada?

    Servidor da operadora respondeUma compra de $$$$ no carto de crdito nmero 112233

    est aprovada/no est aprovada.O carto de crdito 112233 desconhecido.

    Web Service Exemplo Cameras.com

    WSDL

  • 73

    Web Service Exemplo Cameras.comCriando o projeto (programao)

    Descobrir atacadistas com capacidade de WS (UDDI);Encontrando o WS encontra-se seu WSDL que deve ser

    armazenado;Escrever o software do site cliente para ser um cliente dos WS

    atacadistas para: obter preos e enviar pedidos;Descoberta dinmica e configurao de novos atacadistas no site da Cameras.com (+ complicado);

    Escrever o software capaz de ser cliente do WS da operadora;Escrever as telas do site web(site cliente) (jsp,asp,html,php);Testar o sistema quando tudo finalizado.Vantagem criao de sites mais dinmicso

  • 74

    Web Service Peculiaridades de ProjetoAo se projetar um WS deve-se considerar:

    Desempenho considerar a latncia da Internet;sistemas que o tempo vital no so bons candidatos

    Rollback no existente;

    Execuo do processo comercial inexistncia de lgica if... then...else;

    Segurana sofisticada SSL, UDDI 3.0 (WS-S)

    Sobrecarga para tratamento de documentos XML;

    Tratamento de transaes;

  • 75

    Integrar sistemas legados;Diminuir custos operacionaisDiminuir custos de desenvolvimento de software;Diminuir distncias geogrficas;Desenvolver sistemas rapidamente;Agir como interface com os consumidores;Cada cliente pode utilizar sua plataforma de

    desenvolvimento;Qualquer cliente pode, conhecendo o WSDL

    comunicar-se;Integrar-se com parceiros comerciais externos;Gerar novos rendimentos;Suportar novos modelos empresariais.

    Web Service Vantagens

  • 76

    Integrar aplicaes; (no a primeira tentativa)

    Foco na disponibilidade dos dados e no das informaes;

    Suporte a transaes sncronas(RPC) e assncronas;

    Uso de esquemas XML para transao;

    So essencialmente interoperveis;

    Cooperao entre todos os fornecedores de software;

    Qualquer um pode controlar a direo da tecnologia.

    Web Services Diferenas das Tecnologia

  • 77

    Referncias Bibliogrficas ERL, Thomas. Service-Oriented Architecture. A Field Guide to Integrating XML and Web Services. Prentice Hall. New Jersey, 2004.

    MINISTRIO DO PLANEJAMENTO, ORAMENTO E GESTO.e-PING: Padres de Interoperabilidade de Governo Eletrnico.Disponvel em:www.e-ping.e.gov.br Acesso em 9 de dezembro de 2007.

    NEWCOMER, E., LOMOW,G.. Understanding SAO with Web Services. Addison Wesley Professional.December, 2004.

    TIDWELL, D.,SNELL,J., KULCHENKO, P.. Programming Web Services with SOAP. OReilly. First Edition.December,2001.

    XML, artigos (Copyright OASIS Open 2005) Disponvel em :http://www.xml.org Acesso em dezembro de 2007.

    Web Services W3C (Copyright 1996-2003 W3C) Disponvel em http://www.w3c.org/xml. Acesso em novembro de 2006.

    W3C. World Wide Web Consortium. Disponvel em: . Acesso em: 01/09/2007.

    WS-I. Web Services Interoperability Organization. Disponvel em:. Acesso em: 01/09/2007

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Slide 66Slide 67Slide 68Slide 69Slide 70Slide 71Slide 72Slide 73Slide 74Slide 75Slide 76Slide 77