Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 1 PUC-Rio Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Aluno: Alvaro Cesar P Barbosa Orientador: Prof. Rubens Nascimento Melo Co-Orientador: Prof. Carlos José Pereira de Lucena Tese de Doutorado
73
Embed
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 1 PUC-Rio Middleware para Integração de Dados Heterogêneos Baseado.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 1
PUC-Rio
Middleware para Integração de Dados Heterogêneos Baseado em
Composição de Frameworks
Aluno: Alvaro Cesar P BarbosaOrientador: Prof. Rubens Nascimento Melo
Co-Orientador: Prof. Carlos José Pereira de Lucena
Tese de Doutorado
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 2
PUC-RioSumário
Introdução
Objetivo
O Ambiente CoDIMS
Estudo de Caso
Considerações Finais
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 3
PUC-RioIntrodução
Integração de dados heterogêneos é um tema de pesquisa atual e com muitos problemas em aberto.
Aplicações necessitam acessar dados de diferentes fontes de dados distribuídas, através de sistemas integradores.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 4
PUC-RioIntrodução
Desenvolver sistemas de integração de dados não é uma tarefa simples devido a complexidade de:
Acesso a diferentes modelos de dados;
Integração semântica de dados;
Estratégias para processamento de consultas;
Técnicas de gerência de transação.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 5
PUC-Rio Introdução
O crescimento da Internet tem aumentado estes problemas, devido a:
Usuários com diferentes perfis e interesses;
Dados de diferentes tipos e modelos;
Aplicações com diferentes funcionalidades.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 6
PUC-Rio Introdução - Sistemas Existentes Sistema Abordagem
Modelo deDados
Integrador
Linguagemde
Consulta
Processamentode
ConsultaStrudel
(AT & T Labs) Mediador Grafo depáginas HTML
STRUQLBaseado emsistemas de
recuperação deinformação
Araneus(Universidadede Roma Tre)
Mediador RelacionalInterface
HTML* Não está claro nas
referências
Le Select(INRIA)
Mediador Relacional SQL Tradicional
DISCO(INRIA)
Mediador Orientado aObjeto
OQL Tradicional
TSIMMIS(Universidadede Stanford)
MediadorObject
ExchangeModel (OEM)
OEM-QLConjunto padrão de
sub-consultas
MIRO-Web(GMD)
Mediador Relacional-Objeto
SQL * Não está claro nasreferências
Garlic(IBM)
SGBDH Orientado aObjeto
OQL Tradicional
MOCHA(Universidadede Maryland)
MiddlewareRelacional-
Objeto SQL Tradicional
HEROS(PUC-Rio)
SGBDH Orientado aObjeto
OQL Tradicional
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 7
PUC-RioIntrodução
Trabalhos anteriores do nosso grupo de pesquisa:
Desenvolvimento do Sistema HEROS;
Desenvolvimento do projeto ECOHOOD;
Atual participação no projeto ECOBASE (CNPq/INRIA).
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 8
PUC-Rio Motivação
As soluções devem ser moldadas a fim de conciliar os diferentes aspectos entre usuários, dados e aplicações.
Necessidade de desenvolver sistemas de integração que sejam flexíveis e configuráveis.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 9
PUC-Rio
Desenvolver um ambiente flexível, denominado CoDIMS, que permita gerar sistemas middleware configurados para a integração de dados heterogêneos e distribuídos.
CoDIMS: Configurable Data Integration Middleware System
Objetivo
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 10
PUC-Rio
Fontes de Dados
Aplicações c/ visão integrada
BDs Legados Internet … Outros
Middleware
Objetivo
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 11
PUC-Rio
Fontes de Dados
Aplicações c/ visão integrada
BDs Legados Internet…
Outros
O Ambiente CoDIMS
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 12
PUC-Rio O Ambiente CoDIMS O CoDIMs permite a seleção e integração de
um conjunto adequado de componentes DIMS: Data Integration Middleware Services.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 13
PUC-RioO Ambiente CoDIMS
Gerar sistemas de integração configurados apenas com os componentes necessários e adequados a uma aplicação específica.
“What you need is only what you
get”.(wynwyg)
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 14
PUC-Rio
Controle
Somente Leitura dos Dados Integrados
Exemplo de Configuração 1
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 15
PUC-Rio
Controle
Exemplo de Configuração 2
Alteração nas Fontes de Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 16
PUC-Rio
Controle
Exemplo de Configuração 3
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 17
PUC-RioArquitetura do CoDIMS
Controle
FD1 FD2
Acesso aos Dados
Wrapper Wrapper
Gerência deMetadados
Processamentode Consulta
Gerência de Regras
Controle de Concorrência
Gerência deTransação
Interface
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 18
PUC-RioA Abordagem CoDIMSFlexibilidade:
Configuração e Frameworks
Configuração Física:Componentes e Serviços
Configuração Lógica:Escalonamento dos Serviços
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 19
PUC-RioConfiguração
Program P;Type R = Record
C1 : T1; C2 : T2;
…..Cn : Tnend;
Proc Serviço 1;Proc Serviço 2;…Proc Serviço n;
Begin Serviço i1; … Serviço i inEnd.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 20
PUC-RioConfiguração
Program P;Type R = Record
C1 : T1; C2 : T2;
…..Cn : Tnend;
Proc Serviço 1;Proc Serviço 2;…Proc Serviço n;
Begin Serviço i1; … Serviço inEnd.
Serviços
Funcionalidade
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 21
PUC-RioConfiguração
Program P;Type R = Record
C1 : T1; C2 : T2;
…..Cn : Tnend;
Proc Serviço 1;Proc Serviço 2;…Proc Serviço n;
Begin Serviço i1; … Serviço inEnd.
MetadadosC 1 T 1C 2 T 2… …C n T n
Catálogo
Serviços
Funcionalidade
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 22
PUC-RioConfiguração
Program P;Type R = Record
C1 : T1; C2 : T2;
…..Cn : Tnend;
Proc Serviço 1;Proc Serviço 2;…Proc Serviço n;
Begin Serviço i1; … Serviço inEnd.
Metadados
ConfiguraçãoFísica
(Serviços)
ConfiguraçãoLógica
(Funcionalidade)
C 1 T 1C 2 T 2… …C n T n
Catálogo
? ?S S
NN
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 23
PUC-RioConfiguração Física
Seleção dos componentes DIMS adequados;
Customização dos componentes;
Integração destes componentes;
Registro dos componentes no sistema:(nome, serviços oferecidos e requisitados).
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 24
PUC-RioConfiguração Lógica
Registra o mapeamento entre as funcionalidades oferecidas pelo sistema e as operações dos componentes DIMS;
Faz o escalonamento das operações dos componentes DIMS durante a execução do sistema configurado;
Baseada no conceito de workflow.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 25
PUC-Rio Especificação do CoDIMS
Processamento de Consulta
Gerência de Metadados
Controle
Gerência de Transação
Controle de Concorrência
Gerência de Regras
Acesso aos Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 26
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 49
PUC-RioImplementação
Desenvolvimento de um protótipo no TecBD para o estudo de caso.
Foi utilizada a linguagem Java no ambiente Windows-NT.
Os componentes foram desenvolvidos e compilados separadamente, sendo a comunicação entre eles via RMI.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 50
PUC-RioConclusões
O CoDIMS é um ambiente flexível para gerar sistemas configurados para integração de dados heterogêneos;
O ambiente é baseado na seleção e integração de um conjunto adequado de componentes DIMS;
Os componentes foram desenvolvidos utilizando a técnica de frameworks.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 51
PUC-RioConclusões
O CoDIMS permite usar componentes e/ou serviços já disponíveis, inclusive remotos, como: Wrappers, Analisadores e Otimizadores de consulta etc..
Usar componentes já existentes aumenta a qualidade do software e diminui o tempo de desenvolvimento.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 52
PUC-RioConclusões
Os mecanismos de configuração, física e lógica, permitem disponibilizar diferentes serviços e funcionalidades, de acordo com os requisitos da aplicação, como por exemplo:
Linguagem de consulta;
Modelo de dados integrador; Escalonamentos específicos.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 53
PUC-RioConclusões
A abordagem CoDIMS é:
“What you need is only what you get”.
(wynwyg)
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 54
PUC-Rio Tópicos de Pesquisa Banco de Dados Flexíveis:
Flexibilidade e extensibilidade, integração de dados e integração com a Web.
Aplicações Web:Metadados, dados estruturados, semi-estruturados e não
estruturados, XML.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 55
PUC-RioContribuições
O desenvolvimento de um ambiente flexível e configurável para integração de dados heterogêneos;
Implementação de um protótipo;
Uma proposta de arquitetura dentro do contexto do projeto ECOBASE.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 56
PUC-RioPublicações
ECOHOOD: Constructing Configured DBMSs based on Frameworks. Melo, R.N.; Porto, F.A.M.; Lima, F. & Barbosa, A.C.P. XIII Simpósio Brasileiro de Banco de Dados, Maringá-PR, Brasil, Outubro 1998.
Configurable Data Integration Middleware System. Barbosa, A.C.P. & Porto, F.A.MProceedings of International Workshop on Information
Integration on the Web: Technologies and Applications (WIIW2001), Rio de Janeiro, Abril 2001.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 57
PUC-RioTrabalhos Futuros
Especificação e desenvolvimento dos componentes Gerência de Regras, Gerência de Transação, Controle de Concorrência...
Integração semântica dos componentes DIMS;
Especificação do mecanismo de troca de mensagens entre os componentes;
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 58
PUC-RioTrabalhos Futuros
Alteração do escalonamento (workflow) em tempo de execução;
Desenvolvimento e reuso de componentes e de wrappers.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 59
PUC-Rio
Middleware para Integração de Dados Heterogêneos Baseado em
Composição de Frameworks
Aluno: Alvaro Cesar P BarbosaOrientador: Prof. Rubens Nascimento Melo
Co-Orientador: Prof. Carlos José Pereira de Lucena
Tese de Doutorado
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 60
PUC-Rio
FIM
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 61
PUC-Rio
Regra
Esquema
Consulta
Interfaceusuário
TransaçãoComunicação
SBD locais
usuário
Sistema HEROSHEROS: HEteRogeneous Object System
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 62
PUC-Rio Sistema HEROS
A necessidade da presença de todos os módulos em qualquer aplicação;
A grande interconexão dos seus módulos, o que dificulta o processo de adaptação;
Processo de instanciação por extensão e não por componentização;
Impossibilidade de trocar componentes: Por exemplo, o modelo de dados sempre OO.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 63
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 65
PUC-RioDiagrama de Seqüência
AplicaçãoCliente
FachadaControle
FachadaMetadados
MetadadosExportação
MetadadosGlobal
MetadadosExterno
definir-metadadosdefinir-metedados [Se tipo = MExp]
defenir-MD-exportação
[Se tipo = MG]definir-MD-global
[Se tipo = MExt]definir-MD-externo
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 66
PUC-Rio
Componente 1 FachadaControle
FachadaComponente 2
enviar-mensagem
"executar-operação"
Diagrama de Seqüência
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 67
PUC-RioFrameworks
Algumas questões sobre desenvolvimento de software:Por que não existem catálogos de componentes de software tal
como os de hardware?Por que não construir software escolhendo e combinando
componentes de software?Por que não reusar software?
Reuso é o processo de criar software a partir de software já existente, reduzindo o esforço de desenvolvimento.
Framework é uma das técnicas de reuso, permitindo o reuso de análise, de projeto e de código.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 68
PUC-RioFrameworks
A técnica de reuso necessita de uma arquitetura para guiar a integração dos componentes.
Arquitetura de software é uma descrição dos subsistemas e componentes de um sistema de software e dos relacionamentos entre eles.
Framework é uma arquitetura semi-completa, que pode ser instanciada para produzir aplicações customizadas, permitindo construir sistemas flexíveis e configuráveis.
Framework é uma forma particular de representar arquitetura de software na comunidade de Orientação a Objetos.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 69
PUC-RioFrameworks
Componentes de software são unidades de produção, aquisição e desenvolvimento independente que interagem para formar um sistema.
Construir novas soluções a partir de componentes (criados ou adquiridos) aumenta a qualidade e diminui o tempo de desenvolvimento.
Componentes em frameworks podem padronizar interfaces e código genérico para vários tipos de abstrações de software.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 70
PUC-RioFrameworks
Frameworks são formados por frozen spots e hot spots.
Frozen spots definem a arquitetura global do sistema, seus componentes básicos e os relacionamentos entre eles, ficando imutáveis.
Hot spots são as partes específicas para cada sistema, sendo genéricos para poderem ser adaptados de acordo com a aplicação.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 71
PUC-RioFrameworks
A forma mais comum de se instanciar um framework é através de extensão (herança e escrita e código). Neste caso o framework é chamado whitebox.
A instanciação de um framework por componentes é mais complexa pois estes podem ter interdependências, serem opcionais ou até mesmo serem conflitantes. Neste caso o framework é chamado blackbox.
Componentes, por sua vez, podem ser frameworks. Integração de frameworks é um assunto novo e aberto
na comunidade científica.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 72
PUC-Rio FrameworksSegundo Fayad & Schmidt, frameworks podem
ser classificados em: Frameworks de Infra-Estrutura de Sistemas (sistemas
Frameworks de Integração [Middleware] (integração de informações distribuídas e componentes). Permite modularizar, reusar e estender software de infra-estrutura. Utiliza algum tipo de framework de infra-estrutura.
Frameworks de Aplicação (telecomunicações, manufatura, financeiro, saúde, educação).
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 73