Web Services na Distribuição de Dados Conceitos e Aplicações

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas Distribuídos Web Services
Advertisements

Web Services aplicado à Computação em Grade
Novas Arquitecturas baseadas em Web Services
Sistemas Distribuídos Baseados na Web
Web Services 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Infra-Estrutura de TI: Hardware e Software
Sistemas Distribuídos Web Services
Comunicação Distribuída
Introdução aos Serviços Web
Universal Description, Discovery and Integration (UDDI)
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
SOA e Web Services Aluno: Thiago Caproni Tavares
Área de Desenvolvimento de Sistemas
Objetos Distribuídos Padrão CORBA
DAS Sistemas Distribuídos para Automação Industrial
Sistemas Distribuídos
SOA - Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a serviços
Tópicos de Sistemas de Informação A
Middleware e Sistemas Distribuídos
Aplicativos Web Com Orientação a Objetos
Universal Description, Discovery and Integration (UDDI) Rafael Andrade
Introdução ao Desenvolvimento Web
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
Tópicos de Sistemas de Informação A
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
CORBA e Desenvolvimento Baseado em Componentes
Web Services Desmistificando o pré-conceito.
Marcela Bezerra da Silva Cin - UFPE
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Concorrência e Java RMI
Conceitos de J2EE para a WEB
1 My GRID: Bio-informática personalizada em uma grade de informação. Francisco Silva
FIPA THE FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
RESTFul com Slim Framework
Da Introdução à Prática
Processos.
IIS Web Server.
RPC and Web Service André Pereira.
Comunicação.
FERRAMENTAS DE GERENCIAMENTO Aula 01
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
Inteligência Artificial Web Semântica
Infra-estrutura da tecnologia de informação
Padrões de Interação com o Usuário
Gerenciamento baseado na Web
Web Services Equipe: Cláudia Brito Lyra Nunes da Silva
WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
.NET com C#.  Conceitos e Características  Vantagens do SOAP  Descrição do WebService  Gerenciamento de Estados  UDDI  Novidades do Framework 2.0.
Integrando sistemas através de HTTP + XML. * Muitos processos manuais começam a ser realizados online. * Ferramentas desenvolvidas precisavam ser interoperáveis.
Web Services: Conceitos e Transações
Universidade Federal de Alagoas Instituto de Computação - IC Redes de Computadores 2 Serviços Web Felipe Santos José Oswaldo.
Desenvolvimento de Aplicações para WEB Para inserir o logotipo da empresa neste slide No menu 'Inserir' Selecione 'Figura' Localize o arquivo com o logotipo.
SyncML Apresentação –Introdução Motivação Iniciativa SyncML –XML (eXtensible Markup Language) –Protocolos SyncML –Sincronização em duas vias –Conclusões.
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Infra-Estrutura para Computação Distribuída
© Copyright 2005 Rodrigo Rebouças de Almeida ( Estudo de caso: Café Expresso Ltda. A estória de João...
Web Services Marden Menezes Sharp Shooters.NET User’s Group Recife-PE11/11/2002.
1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003.
Pesquisa sobre o uso de Web Service Alunos:Felipe Silveira Israel Andreis Programação Distribuída e Paralela Prof. Dr. Cláudio F. R. Geyer.
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
SOA SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Transcrição da apresentação:

Web Services na Distribuição de Dados Conceitos e Aplicações Farley Millano {fmmf@cin.ufpe.br} Professor: Fernando Fonseca

Motivação Mitigação para problemas de integração Dados, plataformas,etc. Simplificação da comunicação entre aplicações Menores custos de desenvolvimento, manutenção, implantação, etc. Eliminação do forte acoplamento das tecnologias RPC-style RPC, CORBA, RMI, e DCOM Flexibilidade e adaptabilidade Reuso para outras aplicações Heterogeneidade

Roteiro O que é? Background Standards XML SOAP WSDL UDDI Vantagens sobre outras tecnologias Quadro comparativo WS x RMI WS x CORBA Frameworks Comparação Axis Aplicação em BDD Cenário Contextos de uso Web Services + Distribuição ELPIF BioSimGRID DHRD Conclusões

O que é? – Definição [1/2] De forma extremamente simplista... “Um site sem GUI” Imagine poder usar o engenho de busca do Google mas poder definir sua própria GUI Estabelecimento de um contrato de serviço para o cliente: Requisição => tratamento de resultados

O que é? – Definição [2/2] ... formalizando: “conjuntos de protocolos e padrões que permitem que aplicações se comuniquem via uma rede (geralmente Internet). Esta comunicação baseada em padrões permite que as aplicações descrevam o que fazem e permite então chamar ou utilizar os serviços de outra aplicação.”

O que é? - Critérios Ser hábil para mostrar e descrever a si mesmo para outras aplicações Localização por outras aplicações (registro de serviço em diretório on-line) Poder ser chamado pela aplicação original usando o protocolo de rede

Background Standards Stack Directory: Publish & Find Services: UDDI Description: Formal Service Description: WSDL Wire Format: Services Interactions: SOAP Universal Data Format: XML Ubiquitous Communications: Internet/HTTP

XML - Background Standards eXtensible Markup Language Tecnologia aberta Linguagem de descrição hierárquica de dados definida pela W3C Composta por tags Schemas: significado às tags Forma de representação e estruturação de todos os documentos envolvidos em Web Services Dados nas mensagens recebidas/enviadas Um documento XML correto tem que ser válido (Schema ou DTD) e bem formado (sintaxe) Schema define os elementos presentes na comunicação do Web Service

XML - Background Standards Exemplo: Schema + documento pedido.xsd <?xml version="1.0"?> <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema xmlns=“document" > <xs:element name = “DOCUMENT”> <xs:element name=“CUSTOMER"> </xs:element> </xs:element> </xs:schema> Documento derivado do schema <?xml version=“1.0”?> <DOCUMENT xmlns=“document” xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Xsi:schemaLocation=“order.xsd”> <DOCUMENT> <CUSTOMER>sam smith</CUSTOMER> </DOCUMENT>

SOAP – Background Standards Simple Object Access Protocol Encapsulamento das chamadas a serviços (parâmentros, chamadas e retornos) Baseado em XML Response e Request paradigm SOAP Messages Provê um “envelope” padrão onde está contida a mensagem Não informa nada sobre seu conteúdo, cabe ao remetente/ receptor tratá-la

SOAP – Background Standards Envolve todo documento SOAP BODY SOAP ENVELOPE FAULT SOAP HEADER Transport protocol MIME header SOAP Messages Conteúdo: Um Envelope Um Header (optional) Um Body O Body pode conter um elemento Fault Informações adicionais Núcleo da mensagem - chamada RPC ou mensagem XML própria Informação de condição excepcional

SOAP – Background Standards Exemplo:

SOAP – Background Standards Exemplo Request: Método: int doubleAnInteger (int numberToDouble);

SOAP – Background Standards Exemplo Response:

WSDL – Background Standards Web Services Description Language XML Schema para descrição dos Web Services “Receita do serviço” Descrição dos serviços (operações, mensagens, parâmetros, etc) Definição da interface do serviço Abstrai a semântica para o Web Service Definição da implementação do serviço Contém destino reais e endereços de onde os Web Services podem ser chamados Delineação entre a mensagem “concreta” e a “abstrata”

WSDL – Background Standards WSDL Schema – Interface... <definitions> nó raiz do WSDL <import> permite inclusão de outras Entidades <types> definição da informação – Xsd <message> define os parâmetros da função Web Service <portType> define operações de entrada/saída <binding> especifica como cada mensagem é enviada pelo canal

WSDL – Background Standards WSDL Schema - ...Implementação <service> especifica detalhes sobre a implementação <port> contém o próprio endereço Exemplo – tradutor BabelFish

UDDI – Background Standards Universal Description, Discovery and Integration Publicação/ pesquisa/ desoberta de WebServices Serviço de diretório Permite que aplicações, agentes, provedores de Web service, usuários de Web service, pessoas, objetos, e procedimentos a localizar uns aos outros Páginas brancas – entidades encontradas por nome Páginas amarelas – entidades encontradas por características e capacidades UDDI corresponde a ambos mas é passivo, simples base de dados

UDDI – Background Standards

UDDI – Background Standards Estrutura de dados businessEntity: informações sobre a parte que publica informação sobre o serviço tModel: descrições para especificações de serviços ou conjunto de valores. Base para identificação técnica businessEntity contém businessServices businessService: informação descritiva sobre uma família particular de serviços técnicos bindingTemplates contém referências para tModels estas desginam interfaces para o serviço businessServices contém bindingTemplates bindingTemplate: informação técnica sobre ponto de entrada de um serviço e especificações de implementação

UDDI – Background Standards Correspondência com WSDL

UDDI – Background Standards Requisição para um UDDI Registry <?xml version="1.0" encoding="UTF-8"?> <find_business xmlns="urn:uddi-org:api_v3"> <findQualifiers> <findQualifier> uddi:uddi.org:findqualifier:exactmatch </findQualifier> </findQualifiers> <!--find information about all businesses with the exact name "WeatherService Inc." --> <name>WeatherService Inc.</name> </find_business>

UDDI – Background Standards Resposta para um UDDI Registry <?xml version="1.0" encoding="UTF-8"?> <businessList> <businessInfos> <businessInfo businessKey="...KO..."> <name>WeatherService, Inc.</name> <serviceInfos> <serviceInfo serviceKey="...KN..." businessKey="...K1..."> <name>Temperature Service</name> </serviceInfo> </serviceInfos> </businessInfo> </businessInfos> </businessList>

Background - Esquema

Comparação Quadro comparativo geral

Web Service X RMI Vantagens: Suporte a operações assíncronas Orientado a documento XML Protocolo de comunicação independente de linguagem SOAP Descrição de serviço independente de linguagem WSDL Interoperabilidade sobre plataformas RMI consegue parcialmente através de IIOP

Web Service X CORBA Vantagens: Fraco acoplamento cliente-servidor Independente de linguagem Localização por URL Aplicabilidade a sistemas de arquitetura de segurança com Firewall HTTP porta 80 Mais aplicável a sistemas com interface Web Conversão: SOAP message => HTML Melhor suporte à mobilidade e à distribuição Troca de mensagens = facilidade para troca de endereços Proxies realizam trabalho transparente para os envolvidos Simples reenvio da mensagem em caso de erro Clientes limitados (ex: celulares) Necessidade: enviar / receber SOAP messages Parser ajustado apenas pela funcionalidade requerida pela aplicação do cliente

Vantagens Interoperabilidade Disponibilização de serviços Integração com sistemas legados Liberdade de escolha Suporte a vários tipos de cliente Aumento de produtividade O mercado não absorveu RMI nem CORBA como ideal para integração B2B Apoio de empresas como: Microsoft, IBM, Sun e Oracle Materialização da idéia de “venda de serviços” “Eu publico meu algoritmo XYZ e cobro pelo seu uso” Fim da pirataria?

Frameworks – Java Visam automatizar a tarefa de geração dos serviços Mais comuns: Axis1.x Axis2 Celtix Glue JBossWS XFire1.2 GlassFish

Frameworks - comparação

Frameworks em XML Apache Axis Originalmente nomeado IBM SOAP4J, depois doado e virou Apache SOAP, e finalmente Apache Axis (2002) Open Baseado em Java e XML Possui uma versão para C++ Dois modos de criação dos Web Services: JWS (Java Web Service) – mais simples WSDD (Web Service Deployment Descriptor) – descrição detalhada de como serão criados Geração dos WSDL com a interface para os Web Services

Aplicações em BDD Cenário de Distribuição ?

Aplicações em BDD Evolução

Aplicações em BDD Ilustração geral

Aplicações em BDD Empresas, parceiros e fornecedores precisam se comunicar Risco: morte por isolamento Perda de mercado Web Service permite a interligação de diferentes clientes, dispositivos, plataformas, linguagens... É a “Web programável” Fraco acoplamento Interfaces bem definidas

Aplicações em BDD 3ª geração da web

Contexto de uso – Web Services + Distribuição de Dados Empresas como UPS, FedEx provêm soluções internas Ferramentas on-line XML e HTML WebTools FedEx API Facilidade para desenvolvedores? Desenvolvedores não enxergam uma interface de serviço comum Implementações específicas Plataformas proprietárias, limitações... Com Web Services fica fácil transpor essas limitações As companhias implementam uma interface padrão Registram seus serviços (UDDI) Os usuários tem suas requisições distribuídas de forma mais fácil

Contexto de uso – Web Services + Distribuição de Dados Contexto atual Status para o usuário Serviços básicos Servidor B2B em e-commerce Ordem de compra

Contexto de uso – Web Services + Distribuição de Dados E-Logistics Processes Integration Framework “Integração” dos serviços das companhias de entrega para os clientes “Distribuição” na visão das empresas Componentes: Common Alliance Interface – abstração para os clientes dos serviços Adaptation Layer – conector entre os Web Services e os sistemas legados de cada companhia Dynamic Data Binding – função realizada pela camada anterior, conecta o template da conexão aos dados da transação

Contexto de uso – Web Services + Distribuição de Dados Ilustração - arquitetura procura usa Submarino, Americanas.com … Fornecimento do template e correspondência dos dados

Contexto de uso – Web Services + Distribuição de Dados BioSimGRID Framework para distribuição de dados na área de saúde Os dados de simulação estão acessíveis apenas onde foi realizado os experimentos Combinação de resultados Foi construído sobre platadorma aberta OGSI (Open Grid Services Infrastructure) OGSA (Open Grid Service Architecture) Padrões “de facto” em Grid Computing Permitem o tratamento de requisições como “uma máquina virtual única” via Web Services e Grid Computing Desafio: “(we estimate an initial size of >2 TB storage for ~1000 trajectories)”

Contexto de uso – Web Services + Distribuição de Dados BioSimGRID Elementos: GUI browser ou outra aplicação web Services Camada dedicada à analise e mineração dos dados para as comunidades biológicas Há também serviços auxiliares: monitoramento, transação, e query distribuída SOAP/XML Grid Middleware GT3: Provê serviços essenciais para o grid Mais alguns componentes sobre ele que implementam: segurança, recurso, gerenciamento, acesso à base de dados e comunicações Database/data Distribuídos ao longo dos sites colaboradores A camada anterior provê um acesso transparente à essa Atualmente usa-se IBM DB2 Universal Database Enterprise Server (Oxford and Southampton) Previsão de se usar OGSA-DAI (Open GridService Architecture Database Access and Integration) proverá suporte a requisições distribuídas em meio heterogêneo (DB2, Oracle9i,..) OGSA-DAI = DBMS + XML + Distributed SQL

Contexto de uso – Web Services + Distribuição de Dados Facilidade de acesso Celular, PDA, desktop... BioSimGRID Arquitetura Serviços Disponibilizados (UDDI Register) Transparência ao acesso “Máquina virtual única”

Contexto de uso – Web Services + Distribuição de Dados DHRD Distributed Heterogeneous Relational Data Warehouse Reduz computação central, atraso de rede e acesso transparente à datasets para clientes locais As bases de dados se registram em um UDDI Registry como um Web Service

DHRD - Funcionamento DHRD - funcionamento procura Bind Uso do serviço Retorna base de dados Bind Uso do serviço Clientes enviam requisição HTTP ao Web Server

Conclusões A integração/distribuição de sistemas tem sido crucial para as empresas Web Service e sua interoperabilidade sobre plataformas facilita o trabalho neste sentido Ampliação do leque de plataformas para as empresas Flexibilidade de definição de schemas para os dados e informações a serem trocados Facilidade de mapeamento entre sistemas Apoio de grandes empresas Desenvolvimento de frameworks para automatização Reuso Tecnologia nova Potencial imenso

Referências [1] RADKO,John. 2002. Data integration and Web services. http://www.computerworld.com/databasetopics/data/story/0,10801,70043,00.html?from=story_picks [2] HANSEN,Mark; MADNICK Stuart; SIEGEL, Michael. Data Integration Using Web Services [3] GHIJS, Mark. 2004. Web Services in .NET [4] National e-Science Centre. Introduction do Web Services protocols [5] SINGH, Munindar; HUHNS, Michael. Willey, 2005. Service-Oriented Computing: Semantics, Processes, Agents [6] GOULART, Fernando. 2006. Web Services – Sistema Orientados a Objetos [7] Chariot Presentations. 2005. Web Services in Java – The shortest path to expose and consuming Web Services in Java. [8] WU, Bing; TAI, Kaishu. BIOSIMGRID: A DISTRIBUTED DATABASE FOR BIOMOLECULAR SIMULATIONS [9] HUGHES, Andrew. 2004 Web Services for Distributed Database Applications [10] IVANOVA, Elena. WSDL Interface of Services for Distributed Search in Databases [11] TSENOV,Martin. Soap/Xml Method used for Data Exchange between Distributed Databases [12] WEI,Han-Chieh; GODFREY,Travis. Database Middleware and Web Services for Data Distribution and Integration in Distributed Heterogeneous Database Systems [13] IGBAL,Saima; BUNN, Julian; NEWMAN, Harvey. Distributed Heterogeneous Relational Data Warehouse In A Grid Environment

Dúvidas ?