Post on 21-Apr-2015
Um Ambiente de Metadados para o CoDIMS
Orientado:Leonardo Jose Silvestre
Orientador:Prof. Dr. Alvaro C. P. Barbosa
2
Agenda
Introdução CoDIMS Trabalhos Relacionados Especificação Funcional Modelagem Estudo de Caso Contribuições Conclusões Trabalhos Futuros
3
Introdução
Contexto Aumento da quantidade de dados disponíveis
Internet Dados heterogêneos e distribuídos
Necessidade Visão única, uniforme e homogênea sobre esses
dados Solução
Sistemas de integração de dados
4
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.
5
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
6
Arquitetura do CoDIMS
7
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)
8
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
9
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
Desenvolvimento do CoDIMS
10
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
11
Esquemas em Sistemas de Integração
12
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
13
Clientenomep
CPF
rua
numero
bairro
cidade
UF
datanasc
Pacientefirst_name
last_name
cpf
endereco
cidade
estado
data_nascimento
Fonte 01 Fonte 02
14
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.
15
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
16
Trabalhos Relacionados
Sistemas de Integração de Dados que utilizam ontologias SIMS ONTOBROKER OBSERVER MOMIS YACOB TAMBIS OWL-based approach for semantic
interoperability
17
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
18
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
19
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.
20
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
21
TAMBIS (2001) Transparent Access to Multiple Bioinformatics Information Sources Universidade de Manchester, Reino Unido
22
YACOB (2003) Universidade de Halle-Wittenberg, na Alemanha Utiliza conhecimento de domínio modelado, para
integrar dados heterogêneos da Web
23
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
24
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
25
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.
26
Ambiente de Metadados do CoDIMS - Especificação Funcional Requisitos
Melhor representação semântica dos metadados Flexibilidade
modelos e linguagens de consulta Extensibilidade
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
27
O Ambiente de Metadados do CoDIMS
28
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
29
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
30
Modelagem
31
CoDIMS atual - comunicação entre os componentes
32
Arquitetura do Componente de Metadados
33
A Fachada Gerência de Metadados
34
Os Esquemas como Ontologias
35
Equivalências (Mapeamentos)
36
Diagrama de Classes
37
Diagrama ER das Estatísticas
38
Interação com outros componentes do CoDIMS
39
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.”
40
Esquemas Locais
Fonte RecepçãoTabela Paciente
Fonte AmbulatórioDTD 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
41
Visão Homogênea (Esquema Global)
42
Projeto da Aplicação Configuração do CoDIMS
Definição dos Metadados Metadados de Exportação Metadados Global
Carga dos Metadados
43
Ontologia de Exportação - Protégé
44
Indivíduo Fonte Ambulatório
45
Ontologia Global - Protégé
46
Definição de Mapeamentos
Mapeamento SameAs
47
Select Instance
48
Equivalências
49
Fonte RecepçãoTabela Paciente
Fonte AmbulatórioDTD 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
Tabela GlobalPaciente
50
Ambulatório
51
52
Consulta aos DadosSELECT first_name, last_name, cpf, endereco
FROM Paciente
CONTROLE
PROCESSAMENTO DE
CONSULTA
INTERFACE
Consulta
Consulta
METADADOSAnalisadorexistemAtributos( [first_name, last_name, cpf, endereco], Paciente)
53
Consulta aos DadosSELECT first_name, last_name, cpf, endereco
FROM Paciente
CONTROLE
PROCESSAMENTO DE
CONSULTA
INTERFACE
Consulta
Consulta
METADADOSReescritorobterMapeamentos(Atributo)
Para cada atributo da consulta global
54
Consulta aos DadosSELECT first_name, last_name, cpf, endereco
FROM Paciente
CONTROLE
PROCESSAMENTO DE
CONSULTA
INTERFACE
Consulta
Consulta
METADADOSReescritorobterFuncaoMapeamento( classe, funcao)
Para cada mapeamento que necessite de função
55
Consulta aos DadosSELECT first_name, last_name, cpf, endereco
FROM Paciente
CONTROLE
PROCESSAMENTO DE
CONSULTA
INTERFACE
Consulta
Consulta
METADADOSReescritorobterDadosFonte(nomeFonte)
Para cada fonte envolvida
56
Consulta aos DadosSELECT first_name, last_name, cpf, endereco
FROM Paciente
CONTROLE
PROCESSAMENTO DE
CONSULTA
INTERFACE
Consulta
Consulta
METADADOSOtimizadorobterEstatisticasTabela(
tabela)
Para cada tabela de exportação envolvida
57
Consulta aos Dados
PROCESSAMENTO DE
CONSULTAMETADADOSMEC
Arquivo XML
ACESSOAOS
DADOS
Wrapper Relacional Wrapper XML
Arquivo XML Arquivo XML
Fonte Recepção(Relacional)
Fonte Ambulatório(XML)
SubconsultaSQL
“Subconsulta”XML
58
Consulta aos Dados
PROCESSAMENTO DE
CONSULTAMETADADOS
ACESSOAOS
DADOS
MEC
Wrapper Relacional Wrapper XML
Resultado Resultado
Fonte Recepção
Fonte Ambulatório
Resultado(Relacional)
Resultado(XML)
Notificação(Caminho)Junção
59
Consulta aos Dados
CONTROLE
PROCESSAMENTO DE
CONSULTA
INTERFACE
Resultado
Resultado
METADADOSMEC
first_name last_name cpf endereco
Leonardo Silvestre 222.222.222-22 Rua X,12 ...
... ... ... ...
Resultado
60
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
61
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
62
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
63
Conclusões
Metadados são fundamentais para sistemas de integração componentes de metadados de sistemas de integração devem
atender a diversas demandas
Ontologias permitem uma melhor representação para os metadados de sistemas de integração
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)
64
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
65
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
PERGUNTAS?