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

Post on 07-Apr-2016

215 views 0 download

Transcript of Middleware para Integração de Dados Heterogêneos Baseado em Composição de Frameworks Pág. 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 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

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

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

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

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

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"

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

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

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

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

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

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.

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>

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)

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.

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

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

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

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

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

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

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)

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)

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

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.

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

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

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

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

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

PUC-Rio Definição de Metadados