530 likes | 635 Views
SECCOM - UFSC Semana de Cursos e Palestras da Computação Outubro/2005. Pesquisa em Integração de Dados XML. Ronaldo dos Santos Mello INE / CTC / UFSC ronaldo@inf.ufsc.br. Roteiro. Integração de Dados XML Integração de Dados XML Estudo de Caso: Abordagem BInXS Considerações Finais.
E N D
SECCOM - UFSC Semana de Cursos e Palestras da Computação Outubro/2005 Pesquisa em Integração de Dados XML Ronaldo dos Santos Mello INE / CTC / UFSC ronaldo@inf.ufsc.br
Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais
Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais
Integração de Dados • Problemática antiga na área de Banco de Dados! • necessidade de acesso compartilhado, não-redundante e transparente a dados heterogêneos • Exemplos de gerenciamento de dados heterogêneos • BDD (réplicas e fragmentos) • dados cadastrais de pessoas físicas (receita federal, bancos, SPC, ...) • dados geográficos (órgãos governamentais, institutos de pesquisa, ...) • pesquisa a dados de determinados domínios na Web com resultado não-redundante • . . .
Gerência de Dados Heterogêneos • Duas principais abordagens
visões do esquema global . . . Esquema Externo 2 Esquema Externo m Esquema Externo 1 resultado da integração dos esquemas de exportação Esquema Global porção do esquema local a ser integrada . . . Esquema Exportação 1 Esquema Exportação 2 Esquema Exportação n esquema local no modelo canônico . . . Esquema Componente 1 Esquema Componente 2 Esquema Componente n Esquema Local 2 . . . Esquema Local 1 Esquema Local n BD Local 1 BD Local n BD Local 2 Arquitetura de um BDF
define mapeamentos entre 2 esquemas MultiDBs . . . Esquema Correspondência m Esquema Correspondência 1 equivalente a um esquema de exportação . . . Esquema MultiDB 1 Esquema MultiDB n Esquema MultiDB 2 Esquema Local 2 . . . Esquema Local 1 Esquema Local n BD Local 1 BD Local n BD Local 2 Arquitetura de um Multidatabase
Integração de Esquemas • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação
Integração de Esquemas • decidir quais partes de cada esquema devem ser integradas • mapear cada esquema para uma • representação canônica • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação
Integração de Esquemas • determinar correspondências • semânticas entre conceitos dos • esquemas • análise de nomenclatura, estrutura, • relacionamentos, restrições, ... • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação
Integração de Esquemas • resolver conflitos entre conceitos • equivalentes e gerar uma • representação integrada para eles • atualizar os mapeamentos locais • levando em conta a nova representação • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Reestruturação Unificação
Integração de Esquemas • adequar melhor o esquema • global à semântica do domínio • mudanças de nomenclatura, • inclusão de relacionamentos • semânticos, remoção de • relacionamentos redundantes, ... • Atividade de geração de um esquema global e de seus mapeamentos para esquemas locais • manual, semi-automática ou automática • Etapas tradicionais esquemas canônicos + mapeamentos esquemas de entrada Comparação de Esquemas Pré-Integração esquemas canônicos + mapeamentos + equivalências entre conceitos esquema global reestruturado + mapeamentos esquema global + mapeamentos Unificação Reestruturação
Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais
XML (eXtensible Markup Language) • Tecnologia desenvolvida pela W3C (1998) • W3C: World Wide Web Consortium • Linguagem de marcação • semelhança com a linguagem HTML • utiliza tags para descrição os dados • tag: indica a intenção do dado e delimita o seu conteúdo • meta-linguagem • cada aplicação define o seu protocolo (linguagem) para a representação dos seus dados • Dados são descritos em um documento XML • arquivos texto • não ocupam muito espaço em disco
<?xml version =“1.0” encoding ="ISO-8859-1“> <!–- documento XML sobre livros --> <!DOCTYPE listaDeLivros [ <!ELEMENT listaLivros(livro+) ...]> <listaLivros> <livro ISBN=“112”> <título>Tecnologia XML</título> <autor> <nome>João da Silva</nome> <eMail>js@hotmail.com</eMail> </autor> ... <capítulo nome=“Introdução”>A XML foi ... <seção> <nome>Linguagens de Marcação</nome> ... </seção> </capítulo> ... </livro> ... </listaLivros> informações do documento elemento (raiz) atributo elemento (simples) elemento (composto) elemento (misto) dado XML: estrutura hierárquica, ordenada e complexa XML - Estrutura
XML - Aplicação • Representação e transferência de dados em diversos domínios de aplicação e tecnologias para a Web • comércio eletrônico(CXML, ebXML) • SIG(SVG, GML) • referências bibliográficas(DBLP, SIGMOD, ...) • dispositivos móveis(WAP/WML) • mensagens e processos(SOAP, WSDL) • . . .
XML - Tecnologia • Definição de esquemas de documentos • DTD (Document Type Definition) • XSD (XML-Schema Definition) • Linguagens de consulta a documentos • XPath e XQuery • APIs para processamento de documentos • DOM, SAX, ... • BDs para XML • Tamino, eXist, XIndice, ...
Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais
Por quê se Preocupar com Integração de Dados XML? • Alta disponibilidade de dados XML na Web • mais fácil e mais econômico de publicar, se comparado com estruturas de BDs • muitos dados são redundantes e/ou complementares • interessante ter uma visão única e integrada desses dados • excelente para máquinas de busca e aplicações na Web • Web Semântica • visão da Web como um grande BD! • BDs XML Distribuídos • lidam com fragmentos XML redundantes
Integração de Dados XML • Mais complexa que a integração de BDs! • XML são dados semi-estruturados • dados são parcialmente estruturados • instâncias XML em uma mesma fonte podem ter estruturas diferentes (dados opcionais, dados repetidos, ...) • instâncias XML em uma mesma fonte podem ter representações alternativas <pessoa> <nome>João Silva</nome> <CPF>10101010101</CPF> <eMail>js@xxx.aa.br</eMail> <eMail>joao@yy.zz.br</eMail> </pessoa> <pessoa> <nome>João Silva</nome> <endereço>rua B, 23</endereço> <eMail>js@xxx.aa.br</eMail> </pessoa> <pessoa CPF = “10101010101”> <nome>João Silva</nome> </residência><rua>B</rua><nro>23</nro></residência> </pessoa>
Usuários e aplicações Consulta global Resultado Interface de Consulta Esquema Global Consulta global textual Documento XML global Usuário Especialista Mediador Esquemas e documentos XML Locais Consultas locais . . . Wrapper 1 Wrapper n Esquema XML 1 Esquema XML n Fonte de dados XML 1 Fonte de dados XML n Arquitetura Típica de Integração XML
Abordagens de Integração XML • Integração manual X integração semi-automática • integração manual • ferramentas de apoio a usuários especialistas para a definição de esquemas globais • desvantagens • baixo grau de automatização • usuário deve ter conhecimento profundo do domínio • integração semi-automática • preferível, pois retira do usuário todas as decisões de integração • devem ser bem projetadas para produzir resultados mais exatos possíveis com um mínimo de intervenção do usuário
Abordagens de Integração XML • Quanto ao modelo canônico adotado • modelo de implementação ou lógico • DTD ou XSD ou algum modelo de grafo hierárquico • ênfase apenas na estrutura dos dados • mapeamento direto e simples do esquema XML • modelo conceitual • UML, ER, ORM, ... • ênfase na estrutura e na semântica dos dados • mapeamento mais complexo do esquema XML • deve inferir relacionamentos semânticos entre os dados XML
Abordagens de Integração XML • Abordagens mais ricas • semi-automáticas + modelo canônico conceitual + análise de diversos tipos de equivalência + tratamento de todos os tipos de conflitos • Limitações destas abordagens • não lidam com todos os problemas de integração inerentes a natureza dos dados XML • abstrações canônicas e processos de unificação não consideram elementos mistos e/ou elementos com representações alternativas e/ou ... • nem todos os tipos de análise de determinação de equivalência são considerados • análise de estrutura, de restrições, de instâncias, ... • Estudo de caso: Abordagem BInXS • tenta suprir as limitações das abordagens atuais
Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais
BInXS • Abordagem de integração semântica de fontes de dados XML • BInXS é uma sigla para • Bottom-up Integration of XML Sources • BInXS é um dos trabalhos em desenvolvimento no Grupo de Banco de Dados da UFSC (GBD-UFSC) • http://www.grupobd.inf.ufsc.br
BInXS – Principais Contribuições • Abordagem bottom-up • gera, de forma semi-automática, um esquema global a partir dos esquemas XML das fontes locais • considera todos os dados presentes em todas as fontes • Representações conceituais de esquemas XML • esquemas canônicos e global são conceituais • alto nível de abstração para os dados XML • Estratégia de unificação específica para XML • leva em conta as características semi-estruturadas dos dados XML
Esquema Global BInXS Unificação BDs Terminológicas . . . Esquema Conceitual 1 Esquema Conceitual n Usuário Especialista . . . Conversão Conversão Esquema XML 1 . . . Esquema XML n Documentos XML Documentos XML BInXS - Arquitetura • BInXS é um mediador em uma arquitetura mediador-wrapper
BInXS – Etapa de Conversão • Baseado em um conjunto de regras para mapeamento de construtores do modelo XML para construtores do modelo conceitual • Documentos XML (instâncias) são também analisados • objetivo: gerar, de forma automática, um esquema conceitual preliminar mais próximo de um esquema exato • Modelo conceitual de dados escolhido: ORM • correspondência mais próxima com o modelo XML • elemento complexo conceito não-léxico • elemento simples ou atributo conceito léxico • todas as associações entre dados no modelo XML possuem associações correspondentes no modelo ORM
Esquema XML em DTD Categoria Livro (1,1) <!ELEMENT Livro (Título, Ano?, Autor+)> <!ATTLIST Livro Categoria CDATA (técnico | ficção)> <!ELEMENT Autor (Nome, (Universidade+ | Empresa), ...)> <!ELEMENT Nome (#PCDATA) . . . (1,N) (0,1) (0,1) Autor Título Ano (1,1) Endereço (1,1) (1,N) (1,1) Nome Universidade Empresa Modelo XML Nome string (1,1) (1,1) (1,N) (1,N) Universidade (1,N) (1,N) Livro Autor Ano (0,1) (1,N) string integer (1,N) (1,N) (1,N) (1,N) (1,1) comercial residencial (1,1) Empresa (0,1) (1,1) Modelo ORM Categoria string string Endereço {técnico, ficção} Modelos Considerados na Conversão
Publicação Conversão de Elemento Composto <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)>
Publicação análise de docs XML Ano integer default: string Conversão de Elemento Simples <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)>
... <Ano>2002</Ano> ... <Ano>1999</Ano> ... <Ano>2005</Ano> ... Tipo de dado de Ano: integer Análise de Documentos XML • Análise de tipo de dado
análise de docs XML Publicação default: (1,N) (1,N) (0,1) Ano regras de cardinalidade integer Conversão de Componentes <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)>
... <Publication Title = “XML”> ... <Year>2002</Year> ... </Publication> ... <Publication Title = “ORM”> ... <Year>2002</Year> ... </Publication> ... Cardinalidade AnoPublicação: (1,N) Análise de Documentos XML • Análise de cardinalidade inversa
Publicação (1,N) (1,N) (1,N) (0,1) Autor Ano (1,N) (1,N) (1,1) (1,N) integer Universidade Empresa string string Conversão de Representações Alternativas <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)>
consulta à BD terminológica Publicação <Publicação IS-A Livro> (1,N) (1,N) (1,N) (0,1) Autor Livro Ano (1,N) (1,N) (1,1) (1,N) integer Universidade Empresa string string Deifinição de Relações de Especialização <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)>
Publicação (1,N) (1,N) (0,1) (1,N) Autor Ano integer Livro (1,N) (1,N) (1,N) (1,1) (1,N) (1,1) Universidade Empresa Categoria string string string {técnico, ficção} Conversão de Atributos <!ELEMENT Publicação (Ano?,...,Autor+,...,Livro?)> <!ELEMENT Ano(#PCDATA)> <!ELEMENT Autor(Nome,(Universidade+ | Empresa), ...)> <!ATTLIST Livro Categoria CDATA #REQUIRED(técnico | ficção)>
Livro (1,1) (1,N) Capítulo (1,1) (1,1) (0,N) (0,N) Seção Capítulo-Texto string Conversão de Elementos Mistos ... <!ELEMENT Livro (Editora,...,Capítulo+,...)> <!ELEMENT Capítulo (Seção | #PCDATA)*>
Fonte XML 1: LivroCapítulo: conteúdo/capítulo CapítuloLivro: . . / . . Fonte XML 2: Livro (1,1) (1,N) Fonte XML 1: /publicação/livro Fonte XML 2: /acervo/midiaImpressa/livro Capítulo Fonte XML 1: /publicação/livro/conteúdo/capítulo Fonte XML 2: BInXS – Dados de Mapeamento • Dados gerados durante a conversão • Expressões XPath 1.0 • indicam o caminho até o dado XML na fonte local • facilitam a execução de futuras consultas a partir do esquema global • mapeamento definido para conceitos e relacionamentos • Exemplos
BInXS – Etapa de Unificação • Geração de um esquema conceitual global a partir dos esquemas conceituais locais • Uma integração tradicional de esquemas é feita • Comparação de Esquemas • agrupa conceitos ORM em clusters de afinidade • apoio de BDs Terminológicas para determinar esses clusters • “Casamento” (Unificação propriamente dita) • gera um conceito global para cada cluster de afinidade • trata 3 casos de unificação: LxL, NLxNL e NLxL • Reestruturação • executa ajustes manuais e automáticos no esquema global • remoção de relacionamentos redundantes, generalização de conceitos, ...
{técnico, infantil, poesia} {técnico, ficção} Classe Categoria X string[30] string[20] Fonte XML 2 Fonte XML 1 {técnico, ficção, infantil, poesia} Categoria Esquema Global string[30] Exemplo de Unificação L x L
Classe (1,N) Categoria Universidade (1,N) (1,1) (1,N) (0,2) Universidade (1,N) (1,N) (1,1) (1,N) (1,1) (1,N) Instituto-Pesquisa (1,N) Empresa Autor (1,N) Escritor (1,N) (1,1) Empreendimento (1,N) (1,N) Escritório (1,N) (1,1) (1,N) Escritório Domicílio X (1,N) (1,1) Fonte XML 2 Residência Fonte XML 1 Categoria (0,N) Universidade (1,N) Residência (1,N) (0,1) Empresa (1,N) (1,N) (1,N) Autor (1,N) Instituto-Pesquisa (1,N) (0,1) (1,N) Esquema Global (0,1) Escritório Exemplo de Unificação NL x NL
Residência Domicílio (1,N) X (1,1) (1,1) (1,N) Rua (0,1) (1,1) Número Cidade Fonte XML 2 Fonte XML 1 Residência (1,N) (1,1) (1,1) (1,N) Rua (0,1) (1,1) Mapeamento do conceito Cidade para a Fonte XML 2: /Autores/Autor/Domicílio Número Esquema Global Cidade Exemplo de Unificação NL x L
Publicação Título Publicação generalização de conceitos (1,1) (1,1) Artigo Livro Artigo Livro (1,1) (1,1) Título (1,1) (1,1) remoção de relacionamentos redundantes Publicação Publicação (1,N) (1,N) (1,1) (1,1) (1,N) (1,1) Livro Ano Livro Ano Exemplos de Reestruturação
BInXS – Trabalhos no GBD-UFSC • Concluído • sistema de controle de BD terminológicas • Em Fase de Conclusão • conversão de esquemas XSD para ORM • Em Andamento • geração de esquemas XSD a partir de docs XML • gerência de resultados de consultas a partir do esquema global • determinação de equivalência entre instâncias XML heterogêneas • operações de integração de instâncias XML heterogêneas • Em Fase Inicial • funções de análise de documentos XML para a Conversão • análise e incorporação de RIs de domínio das fontes XML no esquema global • A Desenvolver... • um monte de trabalhos!!!!!
Roteiro • Integração de Dados • XML • Integração de Dados XML • Estudo de Caso: Abordagem BInXS • Considerações Finais
Considerações Finais • Integração de Dados XML é um tópico atual de pesquisa • popularização de dados XML é um fato! • gerados por aplicações na Web • disponibilizados em sites na Web • gerados por SGBDs para exportação • Web semântica está caminhando para uma formato universal XML • forma padrão de ver dados, esquemas, informações semânticas de domínios na Web (ontologias), ...