CORBA Integração com a Web



Documentos relacionados
UFG - Instituto de Informática

UNIVERSIDADE. Sistemas Distribuídos

World Wide Web e Aplicações

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

Introdução a Web Services

Service Oriented Architecture SOA

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Kassius Vargas Prestes

Web Services. (Introdução)

Sistemas Distribuídos

Capítulo VI CORBA. Common Object Request Broker Architecture. [Cardoso2008] Programação de Sistemas Distribuídos em Java, Jorge Cardoso, FCA, 2008.

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Programação Cliente em Sistemas Web

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

3 Serviços na Web (Web services)

Microsoft.NET. Desenvolvimento Baseado em Componentes

Sistemas Distribuídos

Serviços Web: Introdução

Integração de sistemas utilizando Web Services do tipo REST

Sistemas Distribuídos Arquiteturas Middlewares

Web Services. Autor: Rômulo Rosa Furtado

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Sistema centralizado O Paradigma Cliente/Servidor

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Serviços Web: Arquitetura

Componentes para Computação Distribuída

Sistemas Distribuídos

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Web Technologies. Tópicos da apresentação

Programação WEB Introdução

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Desenvolvimento WEB II. Professora: Kelly de Paula Cunha

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

UFG - Instituto de Informática

Desenvolvimento Web TCC Turma A-1

Modelos de Arquiteturas. Prof. Andrêza Leite

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

A autoria - II. A autoria - II. Tecnologias básicas da Web. A autoria - II Wilson de Pádua Paula Filho. Tópicos:

CAPÍTULO 2. Este capítulo tratará :

CORBA. Common Object Request Broker Architecture. Unicamp. Centro de Computação Rubens Queiroz de Almeida

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

Sistemas Distribuídos na Web. Pedro Ferreira DI - FCUL

J2EE TM Java 2 Plataform, Enterprise Edition

Introdução a Web Services

INE Sistemas Distribuídos

Anexo VI Edital nº 03361/2008. Projeto de Integração das informações de Identificação Civil. 1. Definições de interoperabilidade adotadas pela SENASP

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Padrões Arquiteturais. Sistemas Distribuídos: Broker

11/20/10. Resoluções: Teste de Áudio. Não suporto esses malucos de TI. Só inventam despesas. Não acredito que teremos que pagar por mais softwares.

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

ENTERPRISE JAVABEANS 3. Msc. Daniele Carvalho Oliveira

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Aula 4. Objetivos. Conteúdo dinâmico na internet.

World Wide Web. Visão Geral da Internet. Protocolos TCP/IP. Os Protocolos da Internet. Internet Uma rede formada por diversas redes (internetwork).

SCC Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Desenvolvimento Cliente-Servidor 1

Projeto de Sistemas Distribuídos. Prof. Andrêza Leite

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

2 Conceitos relativos a Web services e sua composição

UFG - Instituto de Informática

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

Tecnologias para Web Design

Integração Orientada a Serviços

efagundes com Como funciona a Internet

Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Prof.: MARCIO HOLLWEG

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos

XHTML 1.0 DTDs e Validação

UFG - Instituto de Informática

3 SCS: Sistema de Componentes de Software

Linguagem de Programação Introdução a Linguagem Java

ANEXO V Edital nº 03508/2008

Programação de Computadores - I. Profª Beatriz Profº Israel

Noções de. Microsoft SQL Server. Microsoft SQL Server

18/04/2006 Micropagamento F2b Web Services Web rev 00

Programação para Web Artefato 01. AT5 Conceitos da Internet

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA


SOFTWARE INFORMAÇÕES GERAIS

IplanRio DOP - Diretoria de Operações GIT - Gerência de Infraestrutura Tecnológica Gerente da GIT

Linux - Servidor de Redes

Arquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta

Sistemas para internet e software livre

Transcrição:

CORBA Integração com a Web Mário Meireles Teixeira mario@deinf.ufma.br Tópicos Abordados Evolução das aplicações na Web A Object Web Principais Empresas CORBA e XML Estudo de Caso Um Sistema de Informações Financeiras em CORBA e XML 1

A Evolução da Web É possível verificar quatro fases, sob o ponto de vista das aplicações: A Web como um repositório de documentos hipertexto Mosaic A Web como um servidor de aplicação simples CGI, ASP, NSAPI, HTML Dinâmico A Web como um meio de acesso a objetos servidores CORBA/IIOP, XML, DOM A Web como uma plataforma de fornecimento de serviços Web Services, XML, SOAP, WSDL, UDDI Fase I - A Era do Hipertexto (ou a criação do mundo) Mosaic Browser (1993) Aplicação C/S usando a Internet C/S em duas camadas Clientes magros, portáteis e universais Servidores gordos Independência de plataforma A Web se constituía em: um Servidor de Documentos HTML; ou um Servidor de Arquivos baseado em URLs. 2

Cliente-servidor na Web (duas camadas) Evolução das Tecnologias Fase I 3

Fase II - A Era Interativa (CGI & Cia.) CGI - Common Gateway Interface (1995) Permite executar aplicações no lado servidor Parâmetros de entrada e resultados em HTML Independência de plataforma Com o CGI, os browsers se tornaram os terminais burros de antigamente C/S em três camadas Porém... O CGI é um protocolo stateless, lento e antigo Cliente-servidor na Web (três camadas) 4

Alternativas ao CGI CGI lança um novo processo para cada requisição que chega dos clientes sobrecarga no servidor. Soluções proprietárias visando melhor desempenho e interatividade: No lado servidor: NSAPI, ISAPI, ASP, PHP, Java Servlets, JSP No lado cliente: HTML Dinâmico, JavaScript Evolução das Tecnologias Fase II-a 5

Evolução das Tecnologias Fase II-b Fase III - A Era dos Objetos Distribuídos (Object Web) Web technology and distributed object technology are naturally complementary. We want to ensure that OMG and W3C work together to define a common future. Tim Berners-Lee Diretor, W3C 6

Interação C/S com Java Objetos Distribuídos na Web O uso de CORBA/Java na Web traz os seguintes benefícios: Acaba o gargalo do CGI no servidor Propicia interações C/S não necessariamente baseadas em HTML (parâmetros tipados) CORBA guarda o estado dos clientes entre as invocações de métodos Balanceamento de carga no servidor (Adaptador de Objetos, transações distribuídas) Novas formas de interação/cooperação entre os servidores 7

Objetos Distribuídos na Web Java CORBA - Transparência de Implementação (portabilidade) - Transparência de Rede Existem vários esforços no sentido de integrar Java e CORBA: Um ORB CORBA já faz parte do Java 2 (Java IDL) Java RMI executa sobre CORBA/IIOP Enterprise Java Beans (EJB) usa CORBA como seu modelo de objetos distribuídos Objetos Distribuídos na Web 8

Objetos Distribuídos na Web Em resumo: Java permite a criação de aplicações que podem executar em qualquer máquina. Ideal para a confecção de pequenos clientes portáteis. CORBA viabiliza a criação de uma infra-estrutura de objetos distribuídos sobre a Internet. Concluindo, nesta nova visão: HTTP é ideal para recuperar documentos HTML repletos de componentes (Java Beans) ou applets. Uma vez no cliente, estes usam um ORB para se comunicar com os objetos no servidor. CORBA/IIOP vs. CGI CORBA HTTP/CGI Preserva estado entre invocações X IDL e Repositório de Interfaces X Suporte a metadados X Invocações dinâmicas X Transações X Segurança X X Serviços de objetos X Interações diversas (C/C, C/S, S/C, X S/S) Escalabilidade no lado servidor X 9

Análise de Desempenho (ping) CORBA/ IIOP DCOM RMI HTTP/ CGI Servlets Sockets Desempenho (ms) 3.5 3.8 3.3 827.9 55.6 2.1 Na comparação acima, um cliente JavaBean chama um objeto Java remoto e recebe uma resposta (ping), através de uma rede Ethernet a 10 Mbps. O Paradigma C/S na Object Web Camada 1 Executa em browsers web ou similares Novas formas de interação: drag-and-drop, crítica de dados de entrada no cliente, páginas animadas,... Presença de componentes (beans) no cliente Interações C/C, C/S, S/C (callbacks) HTTP é usado para o download das páginas CORBA é usado para a comunicação C/S 10

O Paradigma C/S na Object Web Camada 2 Executa em qualquer servidor que dê suporte a clientes HTTP e CORBA (UNIX s, Windows Server, OS/2, Mac OS, OS/400, MVS,... ). Os objetos CORBA se constituem na camada intermediária deste modelo C/S Interações entre objetos no servidor Suporte a transações distribuídas é fundamental Comunicação com a terceira camada via ORB (de preferência) ou outros protocolos. O Paradigma C/S na Object Web Camada 3 Aqui ficam todos os recursos que estão à disposição dos clientes, acessados via objetos CORBA. Por exemplo: e-mail, news, BDRs, BDOOs, aplicações de mainframe, sistemas ERP, SAP, CSCW, EAD, E- commerce,... 11

Evolução das Tecnologias Fase III Principais Empresas na Object Web Netscape/AOL Coloca um ORB Java Visibroker em cada browser Usa CORBA para a comunicação no Netscape Enterprise Server Oracle Adotou CORBA/Java como a plataforma para sua NCA (Network Computing Architecture) Oracle 8i : toda a comunicação via ORB (Visibroker) O engine de banco de dados está sendo subdividido em componentes usando CORBA Oracle Application Server 4.0 12

Principais Empresas na Object Web Sun/JavaSoft CORBA está sendo integrado ao núcleo de Java Sun adotou o Visibroker como seu ORB para o Solaris IBM/Lotus Está baseando sua plataforma de computação distribuída em CORBA Java VMs em todos os seus SO s IBM WebSphere, Domino 5.0, Visual Age Outros HP, Iona, Visigenic/Borland, Novell, GemStone, ODI, Versant, Sybase, Symantec, Expersoft CORBA / XML Uma visão histórica, anterior à era dos Web Services 13

XML extensible Markup Language XML (Fev, 1998) Uma linguagem extensível para definição de estruturas de documentos Uma maneira padrão para troca de informações complexas entre entidades computacionais Entendida pelo computador e por humanos Outros membros da família: XSL, XLink, XPointer Documentos XML têm conteúdo com estrutura semântica Daí... Um passo à frente em relação à HTML XML Porém... XML define apenas a estrutura do documento, com alguma semântica. Não diz a maneira de tratar a informação. Portanto... É necessário introduzir novos elementos (objetos ou componentes), que vão fornecer o comportamento do documento. 14

CORBA / XML XML Objetiva o armazenamento e transmissão de informação estruturada, em um formato portátil, que possa ser igualmente entendido por humanos e aplicações. Pretende ser um modelo de documentos universal. CORBA Objetiva a interoperabilidade entre aplicações distribuídas, formando sistemas únicos a partir de arquiteturas díspares. Pretende ser uma solução universal para o desenvolvimento de aplicações. CORBA / XML É possível integrar XML e CORBA de várias maneiras: (visão anterior a web services) A Perspectiva da Informação A Perspectiva de Camadas A Perspectiva de Comunicação 15

CORBA / XML Perspectiva da Informação XML pode ser usada para: Representar informações de configuração para os elementos do sistema; Criar uma camada de acesso a dados heterogêneos; Descrever o estado de uma sessão entre aplicações, registrar informações de log; Descrever interfaces de elementos do sistema (usada como IDL); Permitir que operações CORBA recebam e emitam XML; Representar metadados (útil para busca, traduções entre formatos -- XMI) CORBA / XML Perspectiva de Camadas Em geral, as arquiteturas CORBA são compostas de várias camadas. XML pode ser usada: nas interfaces entre essas camadas, como se fosse uma cola na arquitetura. para armazenamento de dados (uso controverso; problemas na busca de informação). Ideal se o sistema for document-centric (CSCW); para interações em nível de aplicação (B2B, E- commerce). 16

CORBA / XML Perspectiva de Comunicação Uso de XML como uma substituição a IDL/IIOP no acesso a sistemas CORBA: Minimiza problemas de IIOP com firewalls; Suporte a clientes não habilitados para CORBA; Controvérsia: Faz sentido usar um formato legível por humanos (mais prolixo) na comunicação entre máquinas? Não é mais fácil fazer um mapeamento da arquitetura em questão para CORBA? XML deve ser usada na comunicação em nível de sistema? Os Documentos na era da Object Web DOM - Document Object Model (Out, 1998) Permite representar cada elemento dentro de um documento HTML ou XML como um objeto, gerando uma árvore em memória. As interfaces do DOM estão definidas em IDL CORBA. Portanto, usando CORBA (ou Java, JavaScript) é possível invocar qualquer objeto DOM através da Web. Os documentos da Web tornam-se objetos distribuídos com interfaces CORBA. 17

Os Documentos na era da Object Web Com o uso conjunto dessas novas tecnologias, é possível: Arrastar e soltar componentes dentro da janela de um browser (interações C/C). Por exemplo: Arrastar um produto para dentro de um carrinho de compras; Pagar com e-cash retirado de uma carteira eletrônica e arrastado para dentro de uma ordem de pagamento; Criar documentos inteligentes, formados por componentes distribuídos; Outras formas de interação. Estudo de Caso CORBA e XML Financial Information Services (FIS) fornece informações financeiras para um grande número de empresas americanas. Inicialmente em papel, depois em CD-ROM e, agora, na Web. Este estudo de caso mostra brevemente a solução adotada para a Web, utilizando CORBA, XML e DOM. 18

Estudo de Caso Visão Geral No lado cliente: Necessidade de estruturas para representar cestas de compra e faturas; XML foi adotada, ao invés de construções em IDL como struct s e any s. No lado servidor: BasketService InvoiceService FulfillmentService CreditCardService Estudo de Caso Serviços Implementados BasketService Gerenciamento das cestas de compra. InvoiceService Processamento das faturas. FulfillmentService Em conjunto com outros serviços, faz acesso às bases de dados e retorna a informação em diferentes formatos (de XML para HTML, MS Excel, PDF,...). CreditCardService Adquirido de terceiros, responsável por processar os pagamentos com cartão de crédito. 19

Estudo de Caso Serviços Implementados Estudo de Caso Tecnologia e Produtos Serviços Basket, Invoice, Fulfillment : Sistema operacional IBM AIX Implementação em C++ com ORB da Iona Technologies Armazenamento em banco de dados Sybase (maior parte em XML) Serviço CreditCard Sistema operacional Windows NT Java OrbixWeb da Iona 20

Fase IV - A Era dos Serviços Web (Web Services) Web Service É uma aplicação, identificada por uma URI, cujas interfaces podem ser definidas, descritas e descobertas como artefatos XML. As interações de um Web Service com outras aplicações usam mensagens baseadas em XML, trocadas por meio de protocolos baseados na Internet (W3C) Requisitos (padrões): Comunicação SOAP (Simple Object Access Protocol) sobre HTTP Descrição de tipos XML Schema Descrição das interfaces dos serviços WSDL (Web Services Description Language) Descoberta dos serviços UDDI (Universal Description, Discovery and Integration) A Era dos Serviços Web O mantra dos Web Services concentra-se em: Interoperabilidade Independência de plataforma Conformidade total com os padrões do W3C (World Wide Web Consortium) XML all around... Empresas: Sun Microsystems J2EE/JWSDP Microsoft.NET IBM... 21

Interação C/S baseada em Web Services 22