X-Spread : um mecanismo automático para propagação da evolução de esquemas para documentos XML - Silveira, Vincent Nelson Kellers da (2007)
Assim como as aplicações, as bases de dados evoluem ao longo do tempo. Esta evolução ocorre em função de alterações de cunho técnico ou por alterações na realidade modelada pela base de dados. Bases de dados semiestruturados, compostas por esquemas e documentos XML, são afetadas por esta evolução de uma maneira diversa daquela observada em bases de dados relacionais. Modificações em esquemas podem levar bases de dados semiestruturados a um estado inconsistente, pois as instâncias podem tornar-se incompatíveis com as definições mais recentes dos esquemas. Em bancos de dados relacionais, modificações que levem a base a um estado inválido são bloqueadas pelo sistema gerenciador. Em bases de dados semiestruturados sem um sistema gerenciador, modificações no esquema não podem ser bloqueadas em função das instâncias existentes, em função da ausência do gerenciador. Trabalhos acadêmicos e comerciais na área de evolução de esquemas XML modelam diferentes aspectos deste processo, mas usualmente não abordam o efeito que a evolução do esquema possui sobre as instâncias existentes. As soluções propostas para este problema usualmente demandam intervenção do administrador do banco de dados na adaptação das instâncias ou a utilização de uma interface específica para edição do esquema. Este trabalho especifica o X-Spread, um mecanismo automático para propagação de modificações em esquemas para documentos XML. O X-Spread monitora periodicamente esquemas XML, e ao identificar modificações em um esquema, inicia a revalidação dos documentos que referenciam o esquema modificado. A revalidação analisa somente as porções dos documentos correspondentes às porções modificadas no esquema. Documentos considerados inválidos no processo de revalidação serão submetidos ao processo de adaptação, a fim de tornarem-se novamente compatíveis com as definições do esquema. A arquitetura proposta para o X-Spread permite o seu emprego em diferentes cenários de utilização de bases de dados semiestruturados. A mesma arquitetura proposta para revalidação e adaptação de documentos XML é aplicável a mensagens XML trocadas entre aplicações através de uma rede de dados. Ao administrador do banco de dados semiestruturado é oferecida a flexibilidade de utilização de qualquer ferramenta desejada para edição do esquema, bem como a possibilidade de restringir conforme suas necessidades o conjunto de operações de revalidação e adaptação executadas pelo X-Spread. A principal contribuição do X-Spread é a modelagem de todas as fases do processo de evolução de esquemas e dos processos de revalidação e adaptação de documentos XML. O processos definidos aplicam-se a documentos armazenados em um servidor de arquivos e a documentos transmitidos entre diferentes aplicações através de uma rede de dados.