Tesis
Un Framework de Apoyo al Desarrollo de Sistemas de Groupware para Infraestructuras Móviles de Comunicaciones
Autor
Ochoa-Delorenzi, Sergio Fabián
Pino-Urtubia, José Alberto
Universidad de Chile
Institución
Resumen
Los frameworks proveen soluciones estructurales a aspectos de diseño específicos de un cierto tipo de
sistema de software. Roberts y Johnson (Roberts and Johnson, 1996) definen los frameworks como
compuestos por dos elementos: (a) un conjunto de patrones que describe las soluciones a problemas
recurrentes en un dominio específico, y (b) un conjunto de componentes de software que implementan esas
soluciones y permiten a los desarrolladores reutilizarlas de manera sencilla. Las ventajas de desarrollar
software en base a frameworks han sido ampliamente discutidas y aceptadas por la comunidad científica.
Sin embargo, no siempre hay frameworks disponibles para cada dominio específico de aplicación. En el
caso del dominio de sistemas de groupware, los frameworks que hay disponibles suponen que las
aplicaciones se ejecutarán sobre una infraestructura fija y estable de comunicaciones, y que se contará con
un servidor central que administrará las peticiones enviadas por los clientes y almacenará los datos
compartidos.
En ese escenario los frameworks han demostrado ser muy útiles. Sin embargo, la centralización de datos y
servicios, y la estabilidad de comunicaciones requerida, hace que dichos frameworks no sean aplicables en
escenarios de trabajo colaborativo móvil. Tanto desde el punto de vista de diseño (patrones) como de
implementación (componentes de software), las soluciones propuestas por estas infraestructuras, no
representan "buenas soluciones" para este nuevo escenario de colaboración. Esto se debe
fundamentalmente a la baja disponibilidad de datos y de servicios que muestran las infraestructuras
centralizadas, cuando se ejecutan sobre redes móviles; particularmente sobre MANETs (Mobile Ad hoc
NETwork.$). Debido a esto, surge la necesidad de encontrar nuevas soluciones de apoyo a los aspectos de
diseño típicos, que abordan los problemas recurrentes del dominio de groupware, pero teniendo en cuenta
las características del nuevo escenario de colaboración. Entre los aspectos de diseño típicos a ser
considerados, están los siguientes: administración de sesiones, soporte para roles y vistas, mecanismos de
percepción, notificaciones y administración de los datos compartidos.
Esta tesis propone un framework para apoyar el desarrollo de sistemas de groupware móviles basados en
MANETs. Dicho framework está compuesto por un sistema de patrones y una plataforma de software. El
sistema de patrones propone soluciones para abordar los aspectos de diseño recurrentes en los sistemas de
groupware móviles. La plataforma de software implementa dichos patrones a través de un conjunto de
servicios, facilitando de esa manera la reutilización de estas soluciones. Estos dos componentes representan
las principales contribuciones de este trabajo de tesis.
El diseño del framework propuesto consideró como requisitos generales: la descentralización de servicios y
datos, el soporte para cambios repentinos de la composición y topología de la red, y la
sincronización/replicación de información distribuida. Los datos experimentales obtenidos durante la etapa
de evaluación, muestran que el uso del framework estaría ayudando a aumentar la factibilidad técnica de los
proyectos de desarrollo de este tipo de productos, a reducir el esfuerzo de desarrollo, y a aumentar la
calidad de los sistemas de groupware obtenidos.
Después de una búsqueda exhaustiva, no se ha encontrado otros frameworks o sistemas de patrones que
brinden soluciones a los aspectos de diseño antes mencionados, y que sean aplicables a escenarios de
colaboración móvil sobre MANETs. Por lo tanto, las soluciones que se proponen en el ámbito de esta tesis
podrían ser las primeras, sirviendo como referencia a futuras iniciativas en el área.
Por otra parte, se espera que esta propuesta pueda ayudar a la industria del software, permitiendo a los
desarrolladores de este tipo de productos a generar mejores soluciones, en forma más rápida y con menos
riesgos. Diversos investigadores del área han identificado el impacto positivo que podría tener este tipo de
soluciones en vanos ámbitos de trabajo, tales como educación, salud, actividades productivas y de servicios
(Schaffers et al., 2006). Por lo tanto, se espera que esta propuesta no sólo ayude a la industria del software,
sino también indirectamente a otras áreas de nuestra sociedad.