1 / 62

EJB WebService

Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com. EJB WebService. Evolução da Computação em Rede. Things - 10 14. Embedded Computers 10 11. Computers 10 8. Clients. Functions. IP Layer. Protocols. Organization. Waves of Network Computing. Thermostats. Cars.

Download Presentation

EJB WebService

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Caio Nakashima caio.nakashima@mds.gov.br caionakashima@gmail.com EJB WebService

  2. Evolução da Computação em Rede

  3. Things - 1014 Embedded Computers 1011 Computers 108 Clients Functions IP Layer Protocols Organization Waves of Network Computing Thermostats Cars Switches TVs Packages Phones Clothes Games Desktops TransfersTransactionsContent Telemetry Control IP v4 IP v6

  4. Things - 1014 Embedded Computers 1011 Computers 108 Clients Functions IP Layer Protocols Organization Waves of Network Computing Thermostats Cars Switches TVs Packages Phones Clothes Games Desktops TransfersTransactionsContentTelemetry Control IP v4 IP v6 FTP X SMTP RMI/IIOP Telnet RPC/XDR Identity LDAP SOAP HTTP Jini Client/Server UDDI JXTA N-tier Web Applications Web Services Polyarchical Fractal

  5. O novo software Payment X1 Developer Locater X106 NewService User’sDevice X106 Calendar Authentication Software como serviço Software

  6. Evolução da Computação Distribuída

  7. Evolução da Plataforma The NetworkIs the Computer The Computer Is theNetwork Network of Embedded Things CatchPhrase Legacy to the Web Networkof Things Objects Scale 100s 1,000s 1,000,000s 10,000,000s 100,000,000s 100,000,000s When/Peak 1984/1987 1990/1993 1996/1999 2001/2003 1998/2004 2004/2009 LeafProtocol(s) +HTTP (+JVM) +XML Portal X X +RM Unknown Directory(s) NS, NS+ +CDS +LDAP(*) +UDDI +Jini +? +CORBA, RM +SOAP, XML Session RPC, XDR +CORBA +RM/Jini +? Schematic

  8. Padrões de comunicação Client-Server Web Application Web Services Hybrid P2P 3-Tier Fractal

  9. Communication Patterns: Java 2 Business Systems DB Server App Server J2EE Web Server J2SE/J2ME BrowserClient Web Application

  10. Padrão de comunicação: Sun ONE Bus.Sys. XML (UDDI, SOAP) DB App J2EE Web J2SE/J2ME Browser Context and Identity (LDAP, Policy, Liberty) Web Service

  11. Conceito • A ideia atrás de Serviços Web é expor uma aplicação como um serviço para clientes na Web, independentemente da aplicação do cliente e seu ambiente de execução. • A interoperabilidade é o mais importante característica de um Serviço Web e todos os provedores de tecnologias disponíveis, incluindo Microsoft, estão aderentes aos padrões. • Por exemplo, um cliente C# sendo executado em .NET pode chamar um serviço implementado em Java EJB em um contêiner J2EE. • A interoperabilidade significa que estes serviços são fracamente acoplados que EJB.

  12. Padronização • Existem duas organizações que trabalham na padronização de Serviços Web. • World Wide Web Consortium (W3C) • Organization for the Advancement of Structured Information Standards (OASIS) • Eles trabalham na padronização: • SOAP e WSDL – W3C • UDDI - OASIS

  13. Web Services / W3C • Um WebService é uma aplicação de software • Identificado por uma URI, cuja interface e atribuição são definidas, descritas e descobertas através de artefatos XML e suporta interação direta com outras aplicações de software utilizando mensagens XML via protocolos internet

  14. Evolução da Computação Distribuída Servers Servers Clients Internet Cell Phone PDA Cliente Servidor Clients Web-based computing Server Workstation Laptop Kiosk Web Services/Peer-to-Peer

  15. Cliente/Serivdor x. Web Services Web Service Cliente / Servidor • Dentro da Empresa • Dependente de um conjunto de linguagem • Procedural • Geralmente limitado por um protocolo de transporte • Fortemente Acoplado • Processamento Eficiente (tempo / espaço) • Entre Empresas • Independente de Linguagem de Programação • Baseado em Mensagem • Facilmente adaptado em diferentes protocolos de transporte • Fracamente Acoplado • Processamento não eficiente

  16. Ajuda • Fracamente acoplados • permitem que máquinas e usuários de um sistema distribuído sejam fundamentalmente independentes e ainda interagir de forma limitada quando isto for necessário, compartilhando discos, impressoras e outros recursos. • Fortemente acoplados • provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário caracterizando sistemas operacionais distribuídos. Fonte:http://pt.wikipedia.org/wiki/Computação_distribuída

  17. Aplicação Web x Web Services Web Service Aplicação Web • Interação Usuário - Programa • Componentes de Integração Estática • Serviço Monolítico • InteraçãoPrograma-Programa • Possibilidade de integração de componentes (no futuro) • Possibilidade de agregação de serviço (no futuro)

  18. Web Services Service Grid Chamada do Serviço Descoberta do Serviço Entrega de Serviço Registro Registro do Serviço

  19. Montagem do Serviço Macro Serviço Micro Serviço Business Process Management Micro Serviço Micro Serviço

  20. Agregação do Serviço Nasdaq Entrada: Codigo Saída: Preço Agência Notícias 1 Entrada: Codigo Saída: Notícias Portal de Serviço de Ações Entrada: Codigo Saída: Preço, Notícia, Comércio Usuário Agência Notícias n Entrada: Codigo Saída: Notícias Corretor 1 Entrada: Codigo, Preço, Qtde Corretor n Entrada: Codigo, Preço, Qtde

  21. Web Services? • Plataforma Neutra • É acessível de forma padrão • Acessível de forma interoperacional • Uso simplificado e ubíquo • “Barato” – não caro • Integração simplificada

  22. Web Services? Interoperável – conecta em redes heterogêneas utilizando padrão baseado na web ubíquo. Econômico – recicla componentes, não requer instalação e forte integração de software. Automático – Não requer interação humana para transação complexa. Acessível – Sistemas legados e aplicações internas podem ser expostas e acessíveis via Web. Disponibilidade – Serviço em qualquer dispositivo, em qualquer lugar e quando desejar. Escalável – Sem limite para o escopo e heterogeniedade das aplicações.

  23. Web Services Exemplo de uso Distribuidor XML XML Fábrica Fornecedor XML XML Logistica Internet “Crescimento baseado em uma infraestrutura leve e padronizada para troca de informações em aplicações de negócio”

  24. Impacto do Web Services nas aplicações Serviço Apl Serviço Apl Serviço Apl Applicação Programa Serviço Sistema Serviço Sistema Serviço Sistema Computador “Des integraçãodaaplicação” Web Services Programa Monolítico Internet/Intranet/Extranet

  25. Um web service é acessível através de aplicações ou outros serviços. Macro web services – Sistemas Virtuais Finanças Portfolio Informação Estoque Notícias Web Services Balanço Contas Fluxo de Caixa CNN “Portfolio” pode ser uma aplicação, um portal ou um webservice UOL

  26. Um web service é acessível através de aplicações ou outros serviços. Micro web services – Sistemas Virtuais Bank balance Gramática Editor de Texto Mídia Publicação Web Services Ortografia Dicionário Sinônimos c:\... “Editor de Texto” pode ser aplicação, uma funcionalidade ou um web service http://...

  27. Três leis da computação Lei de Moore O poder da computação dobra cada 18 meses. Lei de Gilder A largura de banda dobra a cada 12 meses. Lei de Metcalfe (Efeito da Rede) O valor da rede cresce exponencialmente a medida que cresce o número de usuários

  28. Impacto da Integração Gatilho do efeito da rede Integração customizada Web Services Lei de Metcalfe: O valor da rede é proporcional ao quadrado do número de participantes.

  29. Mitos: Web Services novo Conceito • Web services é uma computação distribuída

  30. Webservice requer somente: SOAP, WSDL, UDDI Necessita de uma semântica de alto nível Webservice é baseado no paradigma RPC Modelo de comunicação baseado em documentos será mais popular. Webservices deve ser baseado em HTTP: Outros protocolos de transporte podem ser utilizados. Mitos: Web Services novo Conceito

  31. Web Services O quefaltaalém dos serviços: SOAP, WSDL, UDDI Deficiências: Qualidade de serviço Gerenciamento Segurança Transação Contexto de usuário Gerenciamento de Identidade Workflow

  32. Web Services - Receita 1a fase Implantar uma aplicação internamente da organização procurando interoperabilidade. SOAP sobre HTTP/S 2a fase (1 a 2 anos) Implantação com um parceiro confiável. Registro privado. 3a fase (pelo menos 3 a 4 anos) Implantar para todos. Registro público.

  33. Web Services Fases 1a Fase –Web Services Simples Focado no cliente, stateless, SOAP over HTTP/S 2a Fase –Web Services EAI (enterprise application integration) Implantado dentro da organização para permitir a integração interna. 3a Fase – Business Web Services Implantado em extranet para transações comerciais com parceiros de negócio, fornecedores e clientes, ebXML & UBL

  34. Business Web Services J2EE Plataformapadrãoparaimplementação do serviço ebXMLe UBL Electronic Business using eXtensible Markup Language (ebXML) Universal Business Language (UBL) Padrões business web services Mais de 16 fornecedores e muitoprojetos Open Source http://ebxml.xml.org/ Liberty Project Padronizaçãoparasistema de identificação

  35. Business Web Services (B2B) x (ebXML) Colaboração B2B Entrega de mensagem segura e confiável Perfil do Parceiro Repositório dos dados de objetos de negócio.

  36. Colaboração B2B Web Services Simples Colaboração B2B • Interação Simples • Orientado para cliente • Processos curtos • Sem necessidade de colaboração de negócio • Sem perfil do parceiro • Não confiável, não seguro • Sem repositório • Não suporta atribuição legal • Interação Complexa • Orientado a negócio • Processos longos • Suporta colaboração de negócio • Suporta perfil do parceiro • Seguro e confiável • Registro e repositório • Suporta atribuição legal

  37. Colaboração B2B Colaboração B2B EAI • Entre empresas • Controle Distribuído • Contrato Explícito • Grande número de processos de negócio e participantes • Dentro de uma organização • Controle centralizado • Contrato implícito • Pequeno número de processos de negócio e participantes

  38. Tendências Orientadas à Serviço Evolução da EAI para padrão do WebService XML RPC => Mensagem XML Assíncrono Através da Centralização Serviço componentizados Serviços componentizável e composto Dados encapsulados com o componente Proprietário dos dados com os componentes Corretor de WebServices Relações Flexíveis – Componentes Adaptativos

  39. Arquitetura do WS - Componentes Serviço de Descrição Serviço de Registro (Publicação) e Descoberta Serviço de Invocação

  40. Arquitetura Web Service (simplificada) 2. Client Request Service Location PROCURAR 1. Service Registers PUBLICAR 3. Client calls Service LIGAR Registro Serviço Cliente Web Service

  41. SOAP SimpleObjectAccess Protocol Protocolo similar IIOP for CORBA Internet Inter-OrbProtocol para CommonObjectRequestBrokerArchitecture JRMP for RMI Java RemoteMethodProtocol para RemoteMethodInvocation XML é utilizado para codificar dados Protocolo baseado em texto x protocolo binário Suporta XML-based RPC (Remoteprocedurecall)

  42. SOAP não é Não é um modelo de componente Não substitui objetos e componentes – EJB, JavaBeans Não é uma linguagem de programação Não substitui Java Não é solução para tudo Não substitui outras soluções de computação distrubuída como RMI.

  43. SOAP • Simple Object Access Protocol (SOAP) • Esta definição foi abandonada pela W3C na versão 1.2, pois SOAP não acessa objetos em particular. • SOAP é um protocolo para trocar mensagens XML entre computadores, geralmente utilizando o protocolo HTTP ou HTTPS. • Um cliente Web Service envia uma requisição XML na Internet utilizando os protocolos disponibilizados pelo provedor de serviços.

  44. O que SOAP define? Envelope – Mensagem Regras de codificação Convenção RPC Informação sobre o protocolo de comunicação

  45. Formato da Mensagem SOAP SOAP Mensagem SOAP Envelope Parte Principal MIME (text/xml) SOAP Cabeçalho Cabeçalho 1 Cabeçalho n Anexos SOAP Corpo Anexos Corpo Corpo Anexos t

  46. SOAP Mensagem Envelope Informação de Codificação Cabeçalho Pode conter informações gerenciais Segurança Transação Corpo RPC Métodos e parâmetros Dados de Aplicações

  47. SOAP Encoding Rules of expressing application-defined data types in XML Based on W3C XML Schema Simple values Built-in types from XML Schema, Part 2 (simple types, enumerations, arrays of bytes) Compound values Structs, arrays, complex types

  48. SOAP Request <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S= "http://schemas.xmlsoap.org/soap/envelope/"> <S:Header/> <S:Body> <ns2:qtde xmlns:ns2="http://pacoteEstado/"> <arg0>AM</arg0> </ns2:qtde> </S:Body> </S:Envelope>

  49. SOAP Response <?xml version="1.0" encoding="UTF-8"?> <S:Envelope xmlns:S= "http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:qtdeResponse xmlns:ns2="http://pacoteEstado/"> <return> Estado: Amazonas IBGE: 13 Area:1570745.6 Quantidade de Municipios:62 </return> </ns2:qtdeResponse> </S:Body> </S:Envelope>

  50. SOAP

More Related