PUC-Rio
Tese de Doutorado
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
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 1
PUC-Rio
Sumá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. 2
PUC-Rio
Introduçã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. 3
Introdução
PUC-Rio
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. 4
Introdução
PUC-Rio
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. 5
PUC-Rio
Introdução - Sistemas Existentes
Sistema
Strudel
(AT & T Labs)
Araneus
(Universidade
de Roma Tre)
Le Select
(INRIA)
DISCO
(INRIA)
TSIMMIS
(Universidade
de Stanford)
MIRO-Web
(GMD)
Garlic
(IBM)
MOCHA
(Universidade
de Maryland)
HEROS
(PUC-Rio)
Abordagem
Modelo de
Dados
Integrador
Linguagem
de
Consulta
Processamento
de
Consulta
Mediador
Grafo de
páginas HTML
Mediador
Relacional
Interface
HTML
Baseado em
sistemas de
recuperação de
informação
* Não está claro nas
referências
Mediador
Relacional
SQL
Tradicional
Mediador
Orientado a
Objeto
Object
Exchange
Model (OEM)
RelacionalObjeto
Orientado a
Objeto
RelacionalObjeto
OQL
Tradicional
OEM-QL
Conjunto padrão de
sub-consultas
Mediador
Mediador
SGBDH
Middleware
SGBDH
Orientado a
Objeto
STRUQL
SQL
OQL
* Não está claro nas
referências
Tradicional
SQL
Tradicional
OQL
Tradicional
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 6
Introdução
PUC-Rio
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. 7
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. 8
PUC-Rio
Objetivo
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
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 9
PUC-Rio
Objetivo
Aplicações c/ visão integrada
Middleware
BDs
Legados
Internet
…
Outros
Fontes de Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 10
PUC-Rio
O Ambiente CoDIMS
Aplicações c/ visão integrada
BDs
Legados
Internet
…
Outros
Fontes de Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 11
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. 12
PUC-Rio
O 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. 13
PUC-Rio
Exemplo de Configuração 1
Controle
Somente Leitura dos Dados Integrados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 14
PUC-Rio
Exemplo de Configuração 2
Controle
Alteração nas Fontes de Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 15
PUC-Rio
Exemplo de Configuração 3
Controle
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 16
PUC-Rio
Arquitetura do CoDIMS
Gerência de Processamento Gerência
de Regras
de Consulta
Metadados
Interface
Acesso
aos Dados
Controle
Gerência de
Transação
Controle de
Concorrência
Wrapper
Wrapper
FD1
FD2
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 17
PUC-Rio
A Abordagem CoDIMS
Flexibilidade:
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. 18
PUC-Rio
Configuração
Program P;
Type R = Record
C1 : T1;
C2 : T2;
…..
Cn : Tn
end;
Proc Serviço 1;
Proc Serviço 2;
…
Proc Serviço n;
Begin
Serviço i1;
…
Serviço in
End.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 19
PUC-Rio
Configuração
Program P;
Type R = Record
C1 : T1;
C2 : T2;
…..
Cn : Tn
end;
Proc Serviço 1;
Proc Serviço 2;
…
Proc Serviço n;
Begin
Serviço i1;
…
Serviço in
End.
Serviços
Funcionalidade
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 20
PUC-Rio
Configuração
Program P;
Type R = Record
C1 : T1;
C2 : T2;
…..
Cn : Tn
end;
Proc Serviço 1;
Proc Serviço 2;
…
Proc Serviço n;
Begin
Serviço i1;
…
Serviço in
End.
Catálogo
Metadados
C1
C2
…
Cn
T1
T2
…
Tn
Serviços
Funcionalidade
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 21
PUC-Rio
Configuração
Program P;
Type R = Record
C1 : T1;
C2 : T2;
…..
Cn : Tn
end;
Proc Serviço 1;
Proc Serviço 2;
…
Proc Serviço n;
Begin
Serviço i1;
…
Serviço in
End.
Catálogo
Metadados
C1
C2
…
Cn
T1
T2
…
Tn
Configuração
Física
(Serviços)
Configuração
Lógica
(Funcionalidade)
S
?
N
S
?
N
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 22
PUC-Rio
Configuraçã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. 23
PUC-Rio
Configuraçã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. 24
PUC-Rio
Especificação do CoDIMS
Gerência de
Transação
Processamento
de Consulta
Controle
Controle de
Concorrência
Gerência de
Metadados
Acesso aos
Dados
Gerência de
Regras
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 25
PUC-Rio
Interfaces dos Componentes
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 26
PUC-Rio
Controle
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 27
PUC-Rio
Configuração Física
Aplicação
Cliente
Fachada
Controle
Configuração
definir-configuração
definir-configuração
verificar-configuração
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 28
PUC-Rio
Configuração Lógica
Aplicação
Cliente
Fachada
Controle
Workflow
Configuração
definir-workflow
definir-workflow
verificar-operação
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 29
Execução de Consulta
PUC-Rio
Aplicação
Cliente
Fachada
Controle IN
Escalonador
Workflow
Fachada
Controle OUT
Serviço
Componente
executar-consulta
executar-consulta
obter-workflow-do-comando
execut ar-serviço
"serviço"
Repetir tantas vezes quantas
forem o número de serviços a
serem executados, definidos
no workflow.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 30
PUC-Rio
Arquitetura de Metadados
Aplicações c/ visão integrada
…
…
BDs
Legados
Internet
…
Outros
Fontes de Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 31
PUC-Rio
Gerência de Metadados
…
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 32
PUC-Rio
Processamento de Consulta
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 33
PUC-Rio
Acesso Aos Dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 34
PUC-Rio
Projetista do
Sistema
Casos de Uso
Selecionar
Componentes
Configurar
Sistema
Customizar
Componentes
Projetista da
Aplicação
Definir Metadados
Configurador
do Sistema
Definir Workflow
Usuári o Final
Subm eter Consul tas
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 35
Estudo de Caso
PUC-Rio
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.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 36
PUC-Rio
Documento 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>
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 37
PUC-Rio
Banco de Dados - Espécie
Tabela
espécie
Atributo
Tipo
cod-espécie
char(5)
mes-reprodução
char(2)
nome-científico
char(30)
nome-vulgar
char(30)
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 38
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.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 39
PUC-Rio
Projetista do
Sistema
Projeto do Sistema
Selecionar
Componentes
Customizar
Componentes
Aplicação requer somente consultar os dados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 40
PUC-Rio
Configuração Física - Exemplo
Configurar
Sistem a
Configurador
do Sistema
Definir Workflow
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.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 41
PUC-Rio
Configuração Física - Exemplo
Configurar
Sistem a
Configurador
do Sistema
Define Component AcessoAosDados
Definir Workflow
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.
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 ProcessamentoDeConsulta
Configurar
Sistema
Offered-Operations
Configurador
do Sistema
analisar-consulta(int id , string cons, string grafo-cons, int CR);
reescrever-consulta(int id , string grafo-cons, string arv-op, int CR);
Definir Workflow
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.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 43
PUC-Rio
Configuração Lógica - Exemplo
Configurar
Sistem a
Define Workflow Select
Configurador
do Sistema
Operations
Definir Workflow
ProcessamentoDeConsulta (analisar-consulta);
ProcessamentoDeConsulta (reescrever-consulta);
ProcessamentoDeConsulta (otimizar-consulta);
ProcessamentoDeConsulta (processar-consulta)
End-Operations.
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 Show Plan
Operations
Configurar
Sistem a
ProcessamentoDeConsulta (analisar-consulta);
ProcessamentoDeConsulta (reescrever-consulta);
Configurador
do Sistema
ProcessamentoDeConsulta (otimizar-consulta)
End-Operations.
Definir Workflow
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.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 45
PUC-Rio
Definição de Metadados
Tabela
Pesca-Exp
Projetista da
Aplicação
Definir Metadados
Tabela
Espécie-Exp
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)
cod-aparelho-pesca
char(2)
Atributo
Tipo
cod-espécie
char(5)
Mes-reprodução
char(2)
Nome-vulgar
char(30)
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 46
Definição de Metadados
PUC-Rio
Tabela
Atributo
Tabela-
Atributo-
Global
Global
Exportação
Exportação
Tipo
Pesca-
cod-desembarque
Pesca-Exp
cod-desembarque
char(5)
Glob
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)
cod-aparelho-pesca
Pesca-Exp
cod-aparelho-pesca
char(2)
Especie- cod-espécie
Especie-Exp
cod-espécie
char(5)
Glob
mes-reprodução
Especie-Exp
mes-reprodução
char(2)
nome-vulgar
Especie-Exp
nome-vulgar
char(30)
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 47
PUC-Rio
Consulta
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
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 48
PUC-Rio
Implementaçã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. 49
PUC-Rio
Conclusõ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. 50
PUC-Rio
Conclusõ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. 51
Conclusões
PUC-Rio
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. 52
PUC-Rio
Conclusõ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. 53
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.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 54
PUC-Rio
Contribuiçõ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. 55
Publicações
PUC-Rio
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.M
Proceedings 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. 56
PUC-Rio
Trabalhos 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. 57
PUC-Rio
Trabalhos 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. 58
PUC-Rio
Tese de Doutorado
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
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 59
PUC-Rio
FIM
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 60
Sistema HEROS
PUC-Rio
HEROS: HEteRogeneous Object System
Regra
Interface
usuário
Esquema
usuário
Comunicação
Transação
Consulta
SBD locais
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 61
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. 62
PUC-Rio
Processo de Configuração
Define Component nome-do-componente
Offered-Operations
nome-da-operação (tipo nome {;tipo nome})
{; nome-da-operação (tipo nome {;tipo nome})};
[Requested-Operations
nome-do-componente, nome-da-operação (tipo nome
{;tipo nome})
{;nome-do-componente, nome-da-operação (tipo par
{;tipo nome})};]
End-Component.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 63
PUC-Rio
Definição do Workflow
Define Workflow nome-do-comando
Operations nome-do-componente (nome-da-operação)
{ ; nome-do-componente (nome-da-operação)}
End-Operations.
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 64
Diagrama de Seqüência
PUC-Rio
Aplicação
Cliente
Fachada
Controle
Fachada
Metadados
Metadados
Exportação
Metadados
Global
Metadados
Externo
definir-metadados
definir-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. 65
PUC-Rio
Diagrama de Seqüência
Componente 1
Fachada
Controle
Fachada
Componente 2
enviar-mensagem
"executar-operação"
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 66
PUC-Rio
Frameworks
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. 67
PUC-Rio
Frameworks
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. 68
PUC-Rio
Frameworks
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. 69
PUC-Rio
Frameworks
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. 70
PUC-Rio
Frameworks
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. 71
Frameworks
PUC-Rio
Segundo 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).
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 72
PUC-Rio
Definição de Metadados
Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks
Pág. 73