1 |
Módulo para la Sincronización Automática de Documentos XMLMoya Bascur, Cristhian Andrés January 2007 (has links)
Esta memoria aborda el escenario de trabajo donde las personas necesitan
desplazarse entre distintas ubicaciones físicas, a fin de llevar a cabo su tarea. Estos
trabajadores utilizan dispositivos móviles, tales como Laptops y PDA's, para llevar a cabo sus
actividades y compartir recursos (información). La información que comparte cada individuo
corresponde a documentos XML. Cada persona puede modificar a su gusto las copias
locales de los documentos compartidos, aún si estos individuos se encuentran
temporalmente desconectados del servidor y de sus compañeros. Por esa razón, se pueden
generar inconsistencias entre las copias. Para alcanzar nuevamente un estado consistente;
los trabajadores tienen que sincronizar sus copias a bajo costo.
El principal objetivo de este trabajo de título es generar una aplicación que sea capaz
de sincronizar documentos XML en forma automática. El método de sincronización se enfocó
al escenario de uso de las aplicaciones colaborativas móviles que ejecutan en PDAs, y
utilizan redes inalámbricas como soporte de comunicación.
Se analizaron varias aplicaciones ya desarrolladas que reconcilian documentos XML y
que ejecutan sobre PDA's. Ninguna de ellas presentaba una real solución a los
requerimientos que planteaba el escenario en el que se enmarca este trabajo de título. Por
esta razón, se decidió desarrollar una aplicación que automatizara lo más posible el proceso
de reconciliación de documentos XML. Dada la flexibilidad en el formato de los documentos
XML, se definieron ciertas restricciones sobre los documentos XML a sincronizar por la
aplicación. Estas restricciones se vieron reflejadas en la incorporación de atributos a los
nodos de los documentos XML a sincronizar.
Se diseñó un esquema de sincronización extensible a través de clases C#. Este
esquema involucra dos pasos. Primero se genera el árbol de diferencias entre los
documentos XML a sincronizar. Luego, se resuelve cada una de las diferencias encontradas.
Para resolver las diferencias se desarrollaron clases llamadas Resolutores. Estos resolutores
definen políticas de reconciliación que se traducen en operaciones aritméticas, lógicas, de
orden, etc. Cuando los resolutores encuentran diferencias entre los documentos XML,
aplican las políticas de reconciliación para determinar cuál será el valor final del nodo
reconciliado. Las políticas de reconciliación de los resolutores son fácilmente programables y
extensibles. Con la creación de políticas de reconciliación de diferencias se logró automatizar
el proceso de sincronización.
En resumen, se considera que esta memoria alcanzó el objetivo planteado, dado que
se logró desarrollar una aplicación capaz de sincronizar diferencias entre documentos XML
de manera automática. Esta aplicación ejecuta tanto en PDA's como en PCs.
|
Page generated in 0.0385 seconds