Um Ambiente de Metadados para o
CoDIMS
Orientado:
Leonardo Jose Silvestre
Orientador:
Prof. Dr. Alvaro C. P. Barbosa
Agenda









Introdução
CoDIMS
Trabalhos Relacionados
Especificação Funcional
Modelagem
Estudo de Caso
Contribuições
Conclusões
Trabalhos Futuros
2
Introdução

Contexto

Aumento da quantidade de dados disponíveis



Necessidade


Internet
Dados heterogêneos e distribuídos
Visão única, uniforme e homogênea sobre esses
dados
Solução

Sistemas de integração de dados
3
Sistemas de Integração
de Dados

Objetivo

Prover uma visão única, uniforme e homogênea sobre
fontes de dados heterogêneas, distribuídas e autônomas

Middleware para

Integração de Dados
Complexidade de
desenvolvimento


Múltiplos modelos de dados
Problemas semânticos etc.
4
CoDIMS



Configurable Data Integration Middleware System
Ambiente flexível e configurável, baseado na
técnica de composição de frameworks
Geração de sistemas middleware para integração
de dados


configurados de acordo com os requisitos das
aplicações
Avaliação e incorporação de técnicas recentes ou
difundidas para integração de dados
5
Arquitetura do CoDIMS
6
CoDIMS

Configuração


Física: seleção e registro dos componentes que
farão parte do sistema
Lógica: descrição das seqüências de operações
necessárias para se responder a um comando
(workflow)
7
CoDIMS: exemplos de configuração



Somente leitura
de fontes
Atualização de
fontes
Incorporação de
um novo
componente para
uma aplicação
específica
8
Desenvolvimento do CoDIMS



Necessidade de se aprimorar a definição
inicial dos seus componentes
Importante ter em mente características de
flexibilidade e configuração do CoDIMS
Desenvolvimento do Componente Gerência
de Metadados
9
Metadados



“Dados sobre dados”
Descrevem concisamente os dados armazenados
por um sistema
Geralmente são representados sob a forma de
esquemas



repositórios de informações sobre a estrutura e o
conteúdo da fonte de dados
esquema x definição de tipo em linguagem de
programação
Metadados em Sistemas de Integração
10
Esquemas em Sistemas de Integração
11
Heterogeneidade Semântica



Mesmo nome representando conceitos diferentes.
Ex.: data (nascimento e atual)
Nomes diferentes representando o mesmo
conceito. Ex.: paciente e nome
Atributos representados de forma distinta:
Ex.: endereço e (rua, número, bairro)
ou nome e (nome, sobrenome)


Conflitos de unidades

Salário em dólar e em real
12
Fonte 01
Fonte 02
Cliente
Paciente
first_name
nomep
last_name
CPF
cpf
endereco
cidade
rua
numero
bairro
cidade
estado
UF
data_nascimento
datanasc
13
Formas de Representação de Metadados

Sistemas de integração de dados
representam metadados de diversas formas


Relacional, XML, OO, RDF, DL etc.
Mais recentemente:

ontologias têm ganhado ênfase em sistemas de
integração

maior semântica para representação de esquemas,
informações sobre fontes, mapeamentos etc.
14
Ontologias

Gruber:
Especificação explícita de uma conceitualização,
isto é, descrição (como uma especificaçao formal
de um programa) dos conceitos e relacionamentos
que podem existir em um determinado domínio


Exemplo
Linguagens de representação (Web Semântica)



RDFS (RDF Schema)
DAML+OIL
OWL (Web Ontology Language) – W3C
15
Trabalhos Relacionados

Sistemas de Integração de Dados que
utilizam ontologias

SIMS
ONTOBROKER
OBSERVER
MOMIS
YACOB
TAMBIS

OWL-based approach for semantic interoperability





16
SIMS (1992)


Services and Information Management for decision Systems
Desenvolvido no Information Sciences Institute da Universidade
do Sul da Califórnia (EUA)

Explora um modelo semântico do domínio do problema para
integrar informações de várias fontes de informação

Necessita de uma ontologia que descreva o domínio

Consultas feitas através de instruções Loom
17
OBSERVER (1996)


Sistema para processamento de consultas em sistemas de
informação globais, baseado em interoperabilidade entre
ontologias pré-existentes
Universidade Politécnica de Madrid, Espanha
18
ONTOBROKER (1998)

Sistema para integração de páginas Web

Universidade de Karlsrube, na Alemanha

Objetivo:

extrair, inferir e gerar metadados específicos de domínio para integrar
páginas Web, usando uma ontologia de domínio que reflete o consenso de
um grupo de usuários Web.
19

MOMIS (2001)
Mediator EnvirOnment for Multiple Information Sources

Universidade de Modena e Reggio Emilia, na Itália
Extração e integração de informações

Thesaurus como uma ontologia compartilhada para as fontes

20
TAMBIS (2001)

Transparent Access to Multiple Bioinformatics Information Sources

Universidade de Manchester, Reino Unido
21
YACOB (2003)


Universidade de Halle-Wittenberg, na Alemanha
Utiliza conhecimento de domínio modelado, para integrar
dados heterogêneos da Web
22
OWL-based approach for semantic interoperability (2005)


Universidade de Lyon, França
Objetivo: integrar fontes de dados heterogêneas no
contexto da Web Semântica
23
Características dos Sistemas


Arquitetura monolítica, independentemente da
aplicação para a qual serão utilizados
Possuem linguagem de consulta e modelo de dados
pré-definidos


pouca flexibilidade (adaptação para novas aplicações)
Realizam as operações de mapeamento no próprio
servidor do sistema integrador

pode provocar problemas de desempenho
24
Características dos Sistemas

Não disponibilizam uma descrição detalhada
dos metadados dos sistemas de integração
estudados, ou seja, não são descritas as
ontologias para integração de dados, nem a
forma detalhada como elas são utilizadas,
por exemplo, para permitir a re-escrita de
consultas.
25
Ambiente de Metadados do CoDIMS Especificação Funcional

Requisitos


Melhor representação semântica dos metadados
Flexibilidade


Extensibilidade




modelos e linguagens de consulta
adição de novas funcionalidades
Armazenamento de estatísticas
Armazenamento de código de funções de mapeamento
Interface para interações com os componentes do
CoDIMS
26
O Ambiente de Metadados do CoDIMS
27
Repositório de Esquemas

Esquema de Exportação


esquemas, dados relativos às fontes, modelo de
dados, banco de dados
Esquema Global

esquema, mapeamentos





Atributos Iguais
Atributos iguais + função de mapeamento
Sub-atributo
Super-atributo
Esquema Externo
28
Ambiente de Metadados


Biblioteca de Funções de Mapeamento
Repositório de Estatísticas




Relativas às fontes de dados
Relativas aos datasets das fontes
Relativas a máquinas/rede em um ambiente distribuído
Inteface

Serviços:




carga de metadados e consultas sobre o esquema;
para o processamento de consultas
Estatísticas
Definição dos metadados
29
Modelagem
30
CoDIMS atual - comunicação entre os componentes
31
Arquitetura do Componente de Metadados
32
A Fachada Gerência de Metadados
33
Os Esquemas
como Ontologias
34
Equivalências
(Mapeamentos)
35
Diagrama de Classes
36
Diagrama ER das Estatísticas
37
Interação com outros componentes do CoDIMS
38
Estudo de Caso

“Um hospital deseja ter um maior controle das
informações sobre seus pacientes e, para isso,
necessita de integrar os cadastros de pacientes
contidos em dois de seus setores: recepção e
ambulatório. Esses cadastros foram desenvolvidos
independentemente, em épocas e contextos
diferentes: inicialmente, o hospital possuia apenas
o cadastro da recepção. Posteriormente, com o
crescimento do hospital, foi implementado,
independentemente, um novo cadastro, dessa vez
no ambulatório.”
39
Esquemas Locais
Fonte Recepção
Fonte Ambulatório
Tabela Paciente
DTD Paciente
<DOCTYPE Ambulatorio>
<!ELEMENT Paciente>
<!ATTLIST Paciente>
cpf_pac ID #REQUIRED
first_name
CDATA
last_name
CDATA
endereco
CDATA
cidade
CDATA
estado
CDATA
nasc
CDATA
40
Visão Homogênea (Esquema Global)
41
Projeto da Aplicação

Configuração do CoDIMS

Definição dos Metadados



Metadados de Exportação
Metadados Global
Carga dos Metadados
42
Ontologia de Exportação - Protégé
43
Indivíduo Fonte Ambulatório
44
Ontologia Global - Protégé
45
Definição de Mapeamentos

Mapeamento SameAs
46
Select Instance
47
Equivalências
48
Tabela
Global
Paciente
Fonte Recepção
Tabela Paciente
Fonte Ambulatório
DTD Paciente
<DOCTYPE Ambulatorio>
<!ELEMENT Paciente>
<!ATTLIST Paciente>
cpf_pac ID #REQUIRED
first_name
CDATA
last_name
CDATA
endereco
CDATA
cidade
CDATA
estado
CDATA
nasc
CDATA
49
Ambulatório
50
51
Consulta aos Dados
SELECT first_name, last_name, cpf, endereco
FROM Paciente
INTERFACE
Consulta
CONTROLE
Consulta
PROCESSAMENTO
DE
Analisador
CONSULTA
existemAtributos(
[first_name,
last_name,
cpf, endereco],
Paciente)
METADADOS
52
Consulta aos Dados
SELECT first_name, last_name, cpf, endereco
FROM Paciente
INTERFACE
Consulta
CONTROLE
Consulta
PROCESSAMENTO
DE
Reescritor
CONSULTA
obterMapeamentos(Atributo)
METADADOS
Para cada atributo da consulta global
53
Consulta aos Dados
SELECT first_name, last_name, cpf, endereco
FROM Paciente
INTERFACE
Consulta
CONTROLE
Consulta
PROCESSAMENTO
DE
Reescritor
CONSULTA
obterFuncaoMapeamento(
classe,
funcao)
METADADOS
Para cada mapeamento que necessite de função
54
Consulta aos Dados
SELECT first_name, last_name, cpf, endereco
FROM Paciente
INTERFACE
Consulta
CONTROLE
Consulta
PROCESSAMENTO
DE
Reescritor
CONSULTA
obterDadosFonte(nomeFonte)
METADADOS
Para cada fonte envolvida
55
Consulta aos Dados
SELECT first_name, last_name, cpf, endereco
FROM Paciente
INTERFACE
Consulta
CONTROLE
Consulta
PROCESSAMENTO
DE
Otimizador
CONSULTA
obterEstatisticasTabela(
tabela)
METADADOS
Para cada tabela de exportação envolvida
56
Consulta aos Dados
PROCESSAMENTO
DE
CONSULTA
METADADOS
MEC
Arquivo XML
Arquivo XML
Wrapper Relacional
Subconsulta
SQL
Fonte
Recepção
(Relacional)
ACESSO
AOS
DADOS
Arquivo XML
Wrapper XML
“Subconsulta”
XML
Fonte
Ambulatório
(XML) 57
Consulta aos Dados
PROCESSAMENTO
DE
CONSULTA
METADADOS
MEC
Junção
Resultado
Wrapper Relacional
Resultado
(Relacional)
Fonte
Recepção
Notificação
(Caminho)
ACESSO
AOS
DADOS
Resultado
Wrapper XML
Resultado
(XML)
Fonte
Ambulatório
58
Consulta aos Dados
first_name
Leonardo
last_name
Silvestre
...
cpf
endereco
222.222.222-22 Rua X,12 ...
...
...
...
Resultado
INTERFACE
Resultado
CONTROLE
Resultado
PROCESSAMENTO
DE
CONSULTA
MEC
METADADOS
59
Ambiente de Implementação






Linguagem Java (J2SE – JDK 1.5.0)
Sistema Operacional: Linux SuSE 9.0
Web Service (Apache-SOAP RPC),
implantado no Tomcat 5.5.7
Ontologias definidas no Protégé
Acesso às ontologias: Framework Jena 2.1
Banco de Dados (estatísticas):
PostgreSQL 7.3.9-3
60
Contribuições

De uma maneira geral

um estudo sobre Integração de Dados e Ontologias

uma representação mais semântica para metadados, baseada em ontologias



uma descrição mais completa das ontologias para integração de dados
utilizadas, e das formas que essas ontologias - e o ambiente de metadados
- atendem às demandas de um sistema de integração de dados - o CoDIMS
um componente de metadados que é um framework; e que é flexível no
sentido de possibilitar o uso de diferentes modelos de dados e linguagens
de consulta, sem que o modelo de dados interno seja alterado
uma forma para possibilitar o envio de código de funções de mapeamento,
de forma que as mesmas possam ser executadas em outras máquinas, por
exemplo, aquelas que abrigam os wrappers
61
Contribuições

Especificamente para o CoDIMS

Um ambiente de metadados que:






é um framework, possibilitando assim que o mesmo seja estendido para
novas necessidades;
é instanciado como Web Service, atendendo aos novos requisitos do
CoDIMS
oferece um conjunto de serviços que atende às necessidades do CoDIMS
está de acordo com as características do CoDIMS de flexibilidade e
configuração, possibilitando o uso de diferentes linguagens de consulta e
modelos de dados
possibilita uma melhor representação dos seus metadados (esquemas,
mapeamentos, funções de mapeamento, dados sobre fontes e estatísticas)
possibilita um melhor desempenho na execução das consultas – envio de
classes Java
62
Conclusões

Metadados são fundamentais para sistemas de integração


Ontologias permitem uma melhor representação para os
metadados de sistemas de integração



componentes de metadados de sistemas de integração devem atender a
diversas demandas
maior semântica, especialmente no que diz respeito às fontes e aos
mapeamentos
maior semântica auxilia na integração de esquemas
O ambiente de metadados do CoDIMS possibilita


facilidades para processamento de consultas (análise, re-escrita, otimização
e execução)
melhor desempenho para o CoDIMS (envio de código)
63
Trabalhos Futuros


Implementação dos esquemas externos
Definição e criação de ferramentas para:





criação e manutenção dos metadados do CoDIMS
(Metadata Tool)
conversão de metadados das fontes de acordo com as
ontologias OWL definidas
extração de metadados das fontes
integração semi-automática de esquemas
Utilização de ontologias de domínio para
incrementar a semântica das ontologias de
exportação
64
Trabalhos Futuros





Avaliar a necessidade de se armazenar as ontologias do CoDIMS
em um banco de dados
Avaliar a utilização de outras linguagens de consulta para
RDF/OWL
Desenvolver o mecanismo de envio de código das funções de
mapeamento
Desenvolver o Analisador de consultas, de forma a tornar real o
uso de diversas linguagens de consulta
Utilizar máquinas de inferência
65
PERGUNTAS?
Download

Um Ambiente de Metadados para o CoDIMS