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?