Los sistemas groupware ayudan a grupos de personas a colaborar para alcanzar un objetivo común. Dentro de este conjunto de sistemas, un subconjunto particular es el compuesto por los sistemas groupware sincrónicos. En ellos, las personas interactúan en tiempo real en pos de un objetivo común. Uno de los desafíos más interesantes en el desarrollo de groupware sincrónico es el mantenimiento de la consistencia de la información presentada a los usuarios.
Hoy en día, la mayoría de los sistemas groupware sincrónicos se basan en una arquitectura de coordinación centralizada (cliente-servidor). Utilizando este tipo de arquitectura, la implementación de las técnicas de mantenimiento de consistencia resulta más sencilla. En una arquitectura de coordinación distribuida (peer to peer), el uso de las técnicas tradicionales resulta complejo y presenta desventajas, lo cual anima al uso de técnicas no tradicionales.
Una técnica de mantenimiento de consistencia no muy utilizada es Operational Transformation (OT). En esta técnica, los cambios se encapsulan en operaciones. Cada uno de los nodos genera estas operaciones, que son ejecutadas primero localmente y luego propagadas al resto de los pares. Cuando una operación llega a un nodo, antes de ejecutarse, se determina si dicha operación se generó en forma concurrente con alguna otra, en cuyo caso se procederá a transformarla para que tenga en cuenta los cambios realizados por esta última.
El objetivo de este trabajo de tesis es contribuir en el desarrollo de aplicaciones groupware sincrónicas basadas en una arquitectura de coordinación distribuida. Para ello se dispone crear un framework para el desarrollo de sistemas groupware sincrónicos con arquitectura de coordinación distribuida el cual se enfocará en el mantenimiento de la consistencia de la información compartida por los usuarios.