C APITULO 5 P ATRONES Y C LASIFICACIÓN
5.3 C ATALOGO DE P ATRONES
5.3.1 Acceso: Sincronización
Este patrón fue presentado por primera vez para este dominio por J. Roth y básicamente describe los mecanismos para mantener actualizada idéntica información almacenada en varios dispositivos, móviles o no, que mantienen una conexión esporádica. La información es consultada y modificada por los usuarios de dichos dispositivos.
Aquí lo que se verá es una especialización de este patrón teniendo en cuenta las áreas de aplicación presentadas en el capitulo 2, esto es: portales, administración de documentos compartidos y el acceso a bases de datos
Debe notarse que en el caso del patrón de Sincronización de portales, el mismo fue descripto por W. Risi y G. Rossi, como Static Accessing. Aquí se le ha dado una visión ligeramente diferente y complementaria en algunos aspectos.
Sincronización :: Portales
Propósito: Permitir al cliente móvil la navegación a través de sitios Web cuando el dispositivo no sea capaz de acceder al mismo.
Problema: El usuario móvil desea acceder a un sitio Web desde un dispositivo con restricciones que no le permiten hacerlo. Estas restricciones pueden ser propias del dispositivos, por ejemplo no contar con ningún funcionalidad de interconexión, o impuestas por la situación, por ejemplo la no disponibilidad de servicio de red en el lugar en el que se encuentra.
Solución: Disponer de una copia local de los sitios Web que el cliente desea acceder, los cuales previamente deberán ser almacenados en forma local y luego actualizados cada vez que el dispositivo móvil pueda establecer una conexión con el servidor donde reside el sitio Web original. El siguiente grafico esquematiza esta solución.
Motivación: El conector de Sincronización es una entidad que contribuye a que el cliente móvil pueda acceder al sito Web independientemente del estado de la conexión.
Cada vez que la conexión al Sitio Web Remoto este activa, y el cliente solicite el acceso a un Sitio Web el conector de Sincronización deberá cumplir su función, esto es: el Administrador de Requerimientos, recibe el pedido de acceso, luego pasa este al Administrador de Actualización quien decidirá si el sitio local debe o no ser actualizado. Finalmente al Administrador de Requerimientos establecerá la conexión con el Sitio Web Remoto, a través del conector Conexión Remota. En el escenario de una conexión inestable, al realizar la sincronización en primer medida del sitio local con el sitio remoto, se esta asegurando que el cliente móvil accederá a una copia actualizada. Si se conectará al cliente directamente al sitio remoto y la conexión se perdiera, el cliente debería dirrecionarse al sitio local, pudiendo esto reflejar inconsistencias en la información que el usuario recibe.
Consecuencias: Si se dispone del conector de sincronización adecuado para el dispositivo en cuestión, el mismo permitirá la funcionalidad de acceso a un sitio Web. Se debe tener presente que durante el periodo donde el cliente no disponga de conexión, la información ofrecida por el sitio puede cambiar. Este patrón no es aplicable en los casos que dentro del sitio Web se tengan links que apunten a por ejemplo aplicaciones back-end, este seria el caso de un usuario que antes de salir de la oficina sincroniza parte de la Intranet en su dispositivo móvil. Como ya se sabe, un portal agrega varias fuentes de información, realizar la copia todas ellas, por razones obvias, no será posible.
Nótese que la sincronización puede hacerse a nivel de contenido, código o datos.
Usos Conocidos: Intellisync® SyncML Server es un producto que permite la sincronización de todo tipo de información entre un repositorio central y dispositivos móviles conectados a través de varios tipos de redes. Es un producto que permite ofrecer sobre una red inalámbrica servicios de sincronización multipunto. Para más información consultar: www.intellisync.com
AvantGo es un servicio de software libre que permite acceder desde PDAs o Smartphones a sitios Web especialmente formateados (a través de lo que denominan canales) ya sea en forma online o previamente descargados al dispositivo. Posee un mecanismo de sincronización que actualiza los sitios locales del dispositivo, cada vez que se establezca una conexión a Internet. Para mas información consulta: www.avantgo.com
Capitulo 5 –Patrones y clasificación
60
Sincronización :: Archivos Compartidos
Propósito: Proveer un mecanismo que permita que la información en documentos pueda ser compartida manteniendo la concurrencia de los mismos.
Problema: El usuario necesita acceder a documentos ubicados en un repositorio central, pero en un entorno móvil la conexión entre su dispositivo y el sistema de administración de documentos no puede ser asegurada.
Solución: Se realiza una copia local del árbol de directorios y los documentos de interés y luego se mantienen actualizados mediante sincronizaciones en los periodos que se cuente con conexión al sistema central de administración de documentos.
Motivación: Al igual que el patrón para sincronización de portales se tienen similares entidades con similares funciones. Solamente el Administrador de Actualización sufre cambios en las mismas, ya que en este caso el usuario puede modificar los archivos residentes en el dispositivo móvil y la sincronización deberá llevarse a cabo en los dos sentidos, es decir actualizar los archivos almacenados en el sistema local o actualizar los archivos almacenados en el servidor. Para la sincronización de portales se asumía implícitamente que el portal no era modificado por el cliente móvil.
Consecuencias: Este patrón contribuye a que el sistema móvil disponga de los documentos ubicados en la locación remota, independientemente de la conexión. Comúnmente el conector se encuentra integrado al sistema operativo. La sincronización del árbol de directorios puede realizarse en forma completa o incremental, según se priorice la exactitud entre los datos del Server y el cliente, o la eficiencia de la comunicación. La sincronización de documentos se lleva a cabo en forma completa, es decir, se destruye la copia anterior sobrescribiéndola con la nueva copia del archivo.
Usos Conocidos: Windows 2000 Advance Server permite a usuarios de dispositivos móviles trabajar con archivos de red estando desconectado de la misma. Los archivos “offline” proveen la manera de asegurar que se esta trabajando con la mas reciente versión del archivo de red y que el trabajo realizado sobre los mismos será sincronizado cuando se disponga nuevamente de la conectividad. Usando archivos “offline” el usuario puede navegar a través de carpetas compartidas y discos de red sin importarle el estado de la conexión. Una vez reconectado a la red, Synchronization Manager es el encargado de actualizar los archivos de red con cambios desde que se estuvo desconectado. Para mas detalles consultar: Windows 2000 Advance Server Documentation.
Sincronización :: Bases de Datos
Propósito: Permitir a los usuarios móviles acceder a datos remotos desde cualquier lugar o momento independientemente del estado de la conexión.
Problema: En un ambiente móvil, copias de los datos pueden existir en distintos sistemas clientes, los que no se encuentran continuamente conectados a la base de datos central, por lo cual sistema de base de datos no es capaz de prevenir cambios simultáneos por mas de un usuario. Los datos del sistema cliente se desactualizan durante los periodos en que el cliente no esta conectado.
Solución: Proveer de un mecanismo que, según un seguimiento de las modificaciones aplicadas a la información local, y el estado de la conexión, realice la sincronización de los datos.
Motivación: Las entidades que componen el conector de sincronización son similares, pero nuevamente existen diferencias en las funciones del Administrador de Actualización. Si bien la actualización debe llevarse a cabo en los dos sentidos, al igual que en el caso de la sincronización de archivos, la situación es más compleja ya que ahora no se trata de reemplazar un archivo por otro en forma completa. El Administrador de Actualización deberá llevar un detalle de las transacciones realizadas sobre la base de datos local para luego cotejar con las realizadas en la base de datos central y en función de estas intercambiar modificaciones y resolver conflictos. Estos conflictos podrán ser resueltos en forma automático o según su complejidad, requerirán la intervención del usuario.
Consecuencias: Este patrón es útil en aquellas aplicaciones donde la importancia de la actualización de los datos tenga menor importancia que la necesidad de la movilidad. El usuario debe ser advertido de que los datos pueden haber sido modificados en los periodos donde no se tuvo conexión, de manera que si el tomase decisiones sobre estos, las mismas puedan ser revertidas cuando los datos se encuentre sincronizados nuevamente.
Usos Conocidos: Microsoft® SQL ServerTM 2005 Mobile Edition 3.0 permite el acceso concurrente a la misma base de datos. Múltiples usuarios implica múltiples threads o procesos puede estar accediendo a la base de datos mientras un thread esta sincronizando la base de datos móvil con el SQL Server. Entre otras cosas este esquema multi-thread permite sincronizar los datos en background mientras el usuario continua trabajando.
Pylon Application Server es producto que extiende aplicaciones basada en un domino Lotus, como automatización de fuerza de ventas, inventario y
Capitulo 5 –Patrones y clasificación
62 aplicaciones para servicios de campo, a dispositivos móviles. Cuenta con servicio de sincronización que permite mantener actualizada la información de los dispositivos bajo el mismo concepto visto hasta ahora, es decir el de poder acceder a la misma estando online o no. Para mas detalles consultar:
http://www.ianywhere.com/products/pylon