ViXQueL: uma ferramenta web para acesso a banco de dados XML nativo - Rangel Bastos, Petrus (2009)
XML tornou-se o padrão de fato para troca de informações entre diversas fontes de dados e aplicações. Assim, sistemas de gerenciamento de bancos de dados XML nativos (SGBD XML nativos) têm se tornado peça fundamental na infra-estrutura de empresas que lidam com tal diversidade de fontes de dados e aplicações. Gestores do mundo corporativo estão sempre precisando de informações sobre seus negócios, para que possam tomar decisões de forma rápida e eficiente. Entretanto, as interfaces gráficas disponíveis para recuperar estas informações não demonstram preocupação com esta classe de usuários, disponibilizando apenas interfaces textuais que os obrigam a ter conhecimento nas linguagens de consulta para XML, mais especificamente a XQuery. Visando contribuir para a melhoria desta situação, este trabalho apresenta a ViXQueL, que é uma ferramenta web de abstração para acesso aos SGBD XML nativos, permitindo que usuários não especialistas recuperem informações de bases de dados sem conhecimento na linguagem de consulta XQuery. Esta abstração foi alcançada por meio de uma interface gráfica para criação de consultas visuais, que por sua vez são transformadas em consultas textuais na linguagem XQuery. Devido à extensividade e complexidade, o protótipo desenvolvido permite a criação de consultas que representam um subconjunto da XQuery. Para a primeira versão da ferramenta foram considerados e avaliados diversos SGBD XML nativos, sendo escolhido o Sedna, por sua completude de funcionalidades, além de ser open source. Com o intuito de formalizar o processo de transformação da ferramenta, foram utilizados conceitos de MDA na definição e implementação do processo de geração do código XQuery. Dois metamodelos foram especificados em Ecore, que é a implementação de metamodelagem do Eclipse Modeling Framework (EMF), para representar as consultas visuais e as consultas textuais. Além disso, foram implementados dois scripts, na linguagem Kermeta, para realizar as transformações necessárias entre instâncias destes metamodelos