Tratamento de conflitos e detecção de deltas em atualização através de visões XML - Vargas, Andre Prisco (2007)
A linguagem XML tem se tornado um padrão no intercâmbio de informações naWeb. No entanto, a maioria das organizações continua a armazenar seus dados em bancos de dados relacionais. Diante deste ambiente, surge a necessidade de se construir aplicações que permitam às empresas o intercâmbio de informações via XML, mas sem que estas empresas tenham que migrar suas bases relacionais. Neste trabalho, é apresentada uma técnica para importar e exportar documentos XML, focada em cenários entre empresas onde visões XML são extraídas de uma base de dados relacional e enviadas via Web (ou qualquer outro meio) para outra aplicação que as edita e as retorna. Através da edição da visão XML, a própria base de dados relacional é modificada, atualizando assim os dados da empresa. A base de dados relacional deve ser atualizada com as novas informações da visão XML. Neste tipo de transação tem-se as seguintes considerações: 1. A visão XML pode ser atualizada por qualquer aplicação. Editores de texto, banco de dados XML e aplicações específicas estão entre as aplicações que podematualizála. 2. A aplicação que recebe a visão XML fica de posse dela por um período não determinado, podendo inclusive não retornar a visão. Durante este período a aplicação pode ficar desconectada da base de dados geradora da visão XML. 3. Enquanto a visão XML está sendo editada, outras aplicações podem acessar e atualizar a base de dados. 4. Não existe conhecimento semântico específico sobre os dados contidos na visão XML. Portanto, para este tipo de aplicação, não é realista fazer um controle de concorrência baseado em bloqueios das tuplas contidas na visão. Da mesma forma, não é possível esperar que o usuário expresse, através de uma linguagem ou formato padrão, as alterações efetuadas na visão XML. Ocorre neste ambiente dois problemas: (i) identificar as modificações feitas na visão e (ii) identificar e resolver conflitos que possam ser causados por modificações na base de dados durante a transação. O objetivo deste trabalho é desenvolver uma técnica para exportação e importação de visões XML que minimize estes dois problemas. Neste trabalho é proposta uma arquitetura que utiliza algoritmos de detecção de diferenças em documento XML e uma extensão do sistema de atualização de visões XML PATAXÓ, um sistema já existente de importação e exportação de documentos XML em bases relacionais. Também é apresentado, para o módulo de gerenciamento de transações da arquitetura, uma proposta de detecção e tratamento de conflitos baseada em regras geradas apenas sobre a estrutura da visão XML.