Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 1...

73
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

Transcript of Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 1...

Page 1: 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.

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

Page 2: 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.

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

Page 3: 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.

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.

Page 4: 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.

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.

Page 5: 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.

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.

Page 6: 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.

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

Page 7: 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.

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).

Page 8: 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.

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.

Page 9: 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.

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

Page 10: 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.

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

Page 11: 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.

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

Page 12: 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.

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.

Page 13: 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.

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)

Page 14: 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.

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

Page 15: 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.

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

Page 16: 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.

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

Page 17: 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.

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

Page 18: 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.

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

Page 19: 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.

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.

Page 20: 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.

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

Page 21: 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.

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

Page 22: 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.

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

Page 23: 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.

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).

Page 24: 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.

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.

Page 25: 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.

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

Page 26: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 26

PUC-Rio Interfaces dos Componentes

FachadaControleDeConcorrência

bloquear-objeto()desbloquear-objeto()

<<facade>>

FachadaGerênciaDeTransação

iniciar-transação()abortar-transação()confirmar-transação()

<<facade>>

FachadaGerênciaDeRegras

definir-regra()executar-regra()

<<facade>>

FachadaGerênciaDeMetadados

definir-metadados()exibir-metadados()obter-objeto-metadados()

<<facade>>

FachadaAcessoAosDados

executar-sub-consulta()obter-estado-FD()obter-estado-sub-consulta()obter-proximo dado()

<<facade>>

FachadaControle

definir-configuração()exibir-configuração()definir-workflow()exibir-workflow()definirr-metadados()exibir-metadados()executar-consulta()executar-serviço()enviar-mensagem()

<<broker, facade>>

FachadaProcessamentoDeConsulta

analisar-consulta()reescrever-consulta()otimizar-consulta()processar-consulta()enviar-mensagem()

<<facade>>

Page 27: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 27

PUC-RioControle

Rmi OutroPadrão

<<Incomplete>>

Configuraçãoarquivo-configuração

definir-configuração()exibir-configuração()verificar-configuração()verificar-operação()

Workflowarquivo-workflow

definir-workflow()exibir-workflow()obter-workflow-do-comando()

Escalonadorworkflow-do-comando

executar-consulta()atualizar-escalonamento()obter-proxima-terafa()

FachadaControle

definir-configuração()exibir-configuração()definir-workflow()exibir-workflow()definir-metadados()exibir-metadados()executar-consulta()executar-serviço()enviar-mensagem()

<<broker, facade, extensible,static>>

<<Instance Class>>

Page 28: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 28

PUC-Rio

AplicaçãoCliente

FachadaControle

Configuração

definir-configuração

definir-configuração

verificar-configuração

Configuração Física

Page 29: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 29

PUC-Rio Configuração Lógica

AplicaçãoCliente

FachadaControle

Workflow Configuração

definir-workflowdefinir-workflow

verificar-operação

Page 30: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 30

PUC-Rio Execução de Consulta

AplicaçãoCliente

Workflow ServiçoComponente

FachadaControle OUT

FachadaControle IN

Escalonador

Repetir tantas vezes quantas forem o número de serviços a serem executados, definidos no workflow.

executar-consultaexecutar-consulta

executar-consulta

obter-workflow-do-comando

executar-serviço"serviço"

Page 31: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 31

PUC-Rio

Fontes de Dados

Aplicações c/ visão integrada

Arquitetura de Metadados

BDs Legados Internet … Outros

Page 32: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 32

PUC-Rio Gerência de Metadados

<<Incomplete, Disjoint>>

MetadadosGlobal

definir-MD-global()exib ir-MD-global()obter-objeto-MD-global()

MetadadosExterno

definir-MD-externo()exib ir-MD-externo()obter-ob jeto-MD-externo()

MetadadosExportação

definir-MD-exportação()exib ir-MD-exportação()obter-ob jeto-MD-exportação()

FachadaMetadados

definir-metadados()exibir-metadados()obter-objeto-metadados()

<<facade, extensible, static>>

<<Incomplete, Disjoint>>

MExpRelacional OutroModelo MGRelacional OutroModelo

<<Incomplete, Disjoint>>

MExtRelacional OutroModelo

Page 33: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 33

PUC-Rio Processamento de Consulta

AnRelacional AnOutroModelo

<<Incomplete, Disjoint>>

ReRelacional ReOutroModelo

OtRelacional OtOutroModelo

ProRelacional ProOutroModelo

Análise

analisar-consulta()

Reescrita

reescrever-consulta()

Otimização

otimizar-consulta()

FachadaProcessamentoDeConsulta

analisar-consulta()reescrever-consulta()otimizar-consulta()processar-consulta()enviar-mensagem()

<<facade, extensible, static>>

Processamento

processar-consulta()

<<Incomplete, Disjoint>>

<<Incomplete, Disjoint>>

<<Incomplete, Disjoint>>

Page 34: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 34

PUC-RioAcesso Aos Dados

WrapperRmi WrapperJdbc

Wrapperestado-FDestado-sub-consultaresultado-sub-consulta

abrir-FD()executar-sub-consulta()fechar-FD()modificar-estado-FD()modificar-estado-sub-consulta()obter-estado-FD()obter-estado-sub-consulta()obter-próximo-dado()

FachadaAcessoAosDados

executar-sub-consulta()obter-estado-FD()obter-estado-sub-consulta()obter-proximo-dado()

<<facade, extensible, static>>

WrapperOutroPadrão

<<Incomplete>>

<<Instance Class>>

Page 35: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 35

PUC-Rio Casos de Uso

Configurar Sistema

Definir Workflow

Configurador do Sistema

Submeter Consul tasUsuário Final

CustomizarComponentes

SelecionarComponentes

Projetista do Sistema

Definir MetadadosProjetista da Aplicação

Page 36: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 36

PUC-RioEstudo de Caso

Uma aplicação necessita integrar dados de duas fontes de dados:

Uma base de dados XML, contendo dados sobre pesca.

Um banco de dados Relacional contendo dados sobre espécies de peixes.

Page 37: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 37

PUC-RioDocumento XML - Pesca

<!DOCTYPE Desembarque>

<!ELEMENT Pesca>

<!ATTLIST Pesca

cod-desembarque ID #REQUIRED

cod-local CDATA #REQUIRED

dia-desembarque CDATA #REQUIRED

mes-desembarque CDATA #REQUIRED

ano-desembarque CDATA #REQUIRED

cod-especie CDATA #REQUIRED

qtde-Kg CDATA #REQUIRED

cod-tipo-embarcação CDATA #REQUIRED

cod-aparelho-pesca CDATA #REQUIRED

qtde-pescadores CDATA #REQUIRED

qtde-dias-pesca CDATA #REQUIRED>

Page 38: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 38

PUC-RioBanco de Dados - Espécie

Tabela Atributo Tipo

cod-espécie char(5)

mes-reprodução char(2)

nome-científico char(30)

espécie

nome-vulgar char(30)

Page 39: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 39

PUC-Rio Características da Aplicação A aplicação requer consultas tais como:

”Obter local, data de desembarque, código da espécie e quantidade pescada, das espécies em período de reprodução”.

Além disso deverá ser possível decidir sobre as formas de executar as consultas.

Page 40: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 40

PUC-Rio

Aplicação requer somente consultar os dados

Projeto do Sistema

CustomizarComponentes

SelecionarComponentes

Projetista do Sistema

Page 41: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 41

PUC-Rio Configuração Física - Exemplo

Define Component Metadados

Offered-Operations

definir-metadados (string tipo-MD, string arq-script , int CR);

exibir-metadados (string tipo-MD, string arq, int CR);

obter-objeto-MD (int id, string tipo-MD, string nome-obj, string obj, int CR);

End-Component.

Configurar Sistema

Definir Workflow

Configurador do Sistema

Page 42: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 42

PUC-Rio Configuração Física - Exemplo

Define Component AcessoAosDados Offered-Operations

executar-sub-consulta (int id, string nome-FD, string sub-cons,

string arq-res, int CR);

obter-próximo-dado (int id, string nome-FD, string dados, int CR);

End-Component.

Configurar Sistema

Definir Workflow

Configurador do Sistema

Page 43: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 43

PUC-Rio Configuração Física - ExemploDefine Component ProcessamentoDeConsulta

Offered-Operations

analisar-consulta (int id , string cons , string grafo-cons, int CR);

reescrever-consulta (int id , string grafo-cons, string arv-op, int CR);

otimizar-consulta (in id t, string arv-op, string arv-exec, int CR);

processar-consulta (int id , string arv-exec, string arq-res, int CR)

Requested-Operations

Metadados, obter-objeto-MD (int id , string tipo-MD, string nome-obj,

string obj, int CR);

AcessoAosDados, executar-sub-consulta (int id , string nome-FD, string

sub-cons, string arq-res, int

CR);

AcessoAosDados, obter-próximo-dado (int id , string nome-FD, string

dados, int CR);

End-Component.

Configurar Sistema

Definir Workflow

Configurador do Sistema

Page 44: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 44

PUC-Rio Configuração Lógica - Exemplo

Define Workflow Select Operations

ProcessamentoDeConsulta (analisar-consulta);ProcessamentoDeConsulta (reescrever-consulta);ProcessamentoDeConsulta (otimizar-consulta);ProcessamentoDeConsulta (processar-consulta)

End-Operations.

Configurar Sistema

Definir Workflow

Configurador do Sistema

Page 45: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 45

PUC-Rio Configuração Lógica - Exemplo

Define Workflow Show Plan Operations

ProcessamentoDeConsulta (analisar-consulta);ProcessamentoDeConsulta (reescrever-consulta);ProcessamentoDeConsulta (otimizar-consulta)

End-Operations.

Define Workflow No Optmize Operations

ProcessamentoDeConsulta (analisar-consulta);ProcessamentoDeConsulta (reescrever-consulta);ProcessamentoDeConsulta (processar-consulta)

End-Operations.

Define Workflow Compile Operations

ProcessamentoDeConsulta (analisar-consulta)End-Operations.

Configurar Sistema

Definir Workflow

Configurador do Sistema

Page 46: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 46

PUC-Rio Definição de Metadados

Definir MetadadosProjetista da Aplicação

Tabela Atributo Tipo

cod-desembarque char(5)

cod-local char(2)

dia-desembarque char(2)

mes-desembarque char(2)

ano-desembarque char(2)

cod-especie char(5)

qtde-Kg char(5)

Pesca-Exp

cod-aparelho-pesca char(2)

Tabela Atributo Tipo

cod-espécie char(5)

Mes-reprodução char(2)

Espécie-Exp

Nome-vulgar char(30)

Page 47: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 47

PUC-Rio Definição de Metadados Tabela

GlobalAtributoGlobal

Tabela-Exportação

Atributo-Exportação

Tipo

cod-desembarque Pesca-Exp cod-desembarque char(5)

cod-local Pesca-Exp cod-local char(2)

dia-desembarque Pesca-Exp dia-desembarque char(2)

mes-desembarque Pesca-Exp mes-desembarque char(2)

ano-desembarque Pesca-Exp ano-desembarque char(2)

cod-especie Pesca-Exp cod-especie char(5)

qtde-Kg Pesca-Exp qtde-Kg char(5)

Pesca-

Glob

cod-aparelho-pesca Pesca-Exp cod-aparelho-pesca char(2)

cod-espécie Especie-Exp cod-espécie char(5)

mes-reprodução Especie-Exp mes-reprodução char(2)

Especie-

Glob

nome-vulgar Especie-Exp nome-vulgar char(30)

Page 48: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 48

PUC-RioConsulta

Select cod_local, dia_desembarque, mes_desembarque, ano_desembarque,

cod_especie, qtde_kg

From Pesca_Glob P, Especie_Glob E

Where P.mes_desembarque = E.mes_reprodução and

P.cod_especie = E.cod_especie

Page 49: 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.

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.

Page 50: 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.

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.

Page 51: 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.

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.

Page 52: 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.

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.

Page 53: 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.

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)

Page 54: 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.

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.

Frameworks:Sistemas configuráveis, arquitetura, reuso, componentes. Instanciação; Integração.

Aplicações Web:Metadados, dados estruturados, semi-estruturados e não

estruturados, XML.

Page 55: 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.

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.

Page 56: 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.

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.

Page 57: 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.

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;

Page 58: 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.

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.

Page 59: 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.

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

Page 60: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 60

PUC-Rio

FIM

Page 61: 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.

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

Page 62: 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.

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.

Page 63: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 63

PUC-Rio

Define Component nome-do-componente Offered-Operations

nome-da-operação (tipo nome {;tipo nome}){; nome-da-operação (tipo nome {;tipo nome})};

[Requested-Operationsnome-do-componente, nome-da-operação (tipo nome

{;tipo nome}){;nome-do-componente, nome-da-operação (tipo par

{;tipo nome})};]End-Component.

Processo de Configuração

Page 64: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 64

PUC-Rio

Define Workflow nome-do-comandoOperations nome-do-componente (nome-da-operação)

{ ; nome-do-componente (nome-da-operação)}End-Operations.

Definição do Workflow

Page 65: 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.

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

Page 66: 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.

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

Page 67: 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.

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.

Page 68: 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.

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.

Page 69: 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.

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.

Page 70: 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.

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.

Page 71: 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.

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.

Page 72: 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.

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

operacionais, comunicação, interface, linguagens);

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).

Page 73: 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.

Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 73

PUC-Rio Definição de Metadados