Modelo de Soporte de Operaciones Offline en Dispositivos Móviles para una Biblioteca Digital Edición Única
Texto completo
(2) INSTITUTO TECNOLÓGICO DE ESTUDIOS SUPERIORES DE MONTERREY DIVISIÓN DE TECNOLOGÍAS DE INFORMACIÓN Y ELECTRÓNICA PROGRAMA DE GRADUADOS EN TECNOLOGÍAS DE INFORMACIÓN Y ELECTRÓNICA. Los miembros del comité de tesis recomendamos que la presente tesis del LCC. LUIS RAMIRO BASTO DÍAZ sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias en Tecnología Informática.. Comité de tesis:. ______________________________ Dra. Lorena Guadalupe Gómez Martínez Asesor. ______________________________ Dr. Juan Carlos Lavariega Jarquín Sinodal. ______________________________ Dr. David A. Garza Salazar Sinodal. _________________________________________ Dr. David A. Garza Salazar Director del Programa de Graduados en Tecnologías de Información y Electrónica Mayo 2006. I.
(3) MODELO DE SOPORTE DE OPERACIONES OFFLINE EN DISPOSITIVOS MÓVILES PARA UNA BIBLIOTECA DIGITAL. POR:. LUIS RAMIRO BASTO DÍAZ. TESIS. Presentada al Programa de Graduados en Tecnologías de Información y Electrónica. Este trabajo es requisito parcial para obtener el grado de Maestro en Ciencias en Tecnología Informática. INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY. Mayo 2006. II.
(4) Agradecimientos Gracias a Dios Por estar presente en mí en todo momento, y por no dejarme caer en aquellos instantes difíciles. ¡Por la Cruz, a la Luz!. A mi asesora Por su apoyo brindado en este trabajo.. Al Dr. David Garza Que de una u otra forma me apoyó, siempre de manera objetiva, durante este proyecto y en general durante la etapa de la maestría.. A mis compañeros de PDLib Gracias por su valioso apoyo y aportaciones a este proyecto. Gracias especiales a Francisco Álvarez, Miguel Arellano y Eugenio Flores.. A mis compañeros de maestría Que siempre me hicieron sentir como en familia. Muchas gracias, los tendré siempre en el corazón.. III.
(5) Dedicatoria Al gran amor de mi vida A ti Vale, por tu paciencia y esmero. Porque sin tí, este logro no sería gratificante para mi. Te amo.. A mis padres, Que siempre han estado conmigo y que con su amor me han apoyado en todos los proyectos de mi vida. Todo esto es por y para ustedes Gracias Papás.. A mis hermanas Que siempre me han apoyado y alentado a seguir adelante, y que aún lejos de ustedes están pendientes de mí. Las quiero mucho.. A mis sobrinitos María Jesús, Eduardo y, Alejandro, que sin saber lo que hice estos dos años lejos de ellos, siempre estaban pendientes de mí. Los quiero mucho.. IV.
(6) Tabla de Contenido RESUMEN ........................................................................................................................................................ 1 1.1 PLANTEAMIENTO DEL PROBLEMA .......................................................................................................... 3 1.2 ORGANIZACIÓN DE LA TESIS................................................................................................................... 6 CAPÍTULO 2: ANTECEDENTES ................................................................................................................. 7 2.1 FUNDAMENTO TEÓRICO .......................................................................................................................... 7 2.1.1 Características y Retos del Cómputo Móvil .................................................................................... 7 2.1.2 Dispositivos Móviles ...................................................................................................................... 10 2.1.4 El proyecto PDLib: Personal Digital Library............................................................................... 14 2.1.5 Lenguaje de Programación para Dispositivos Móviles ................................................................ 19 2.1.6 Mecanismo de almacenamiento en J2ME.................................................................................... 21 2.1.7 Representación de datos con XML ............................................................................................... 21 2.1.8 Protocolo de comunicación en ambientes móviles ....................................................................... 24 2.1.9 Uso de SyncML para la sincronización de datos.......................................................................... 25 2.1.10 XML como intermediario de representación de datos................................................................ 28 2.2 OTROS PROYECTOS QUE MANEJAN EL CONCEPTO OFF-LINE ............................................................... 28 2.2.1 Mecanismos de soporte a operaciones desconectadas en ambientes móviles.............................. 28 2.2.2 Contratos de servicios para operaciones desconectadas .............................................................. 29 2.2.3 CODA............................................................................................................................................. 30 2.3 RESUMEN ............................................................................................................................................... 31 CAPÍTULO 3: MODELO DE OPERACIONES OFFLINE....................................................................... 33 3.1 INTRODUCCIÓN ...................................................................................................................................... 33 3.2 ESCENARIOS DEL MANEJO DE LAS OPERACIONES OFFLINE ................................................................. 35 3.3 MODELO DE LAS OPERACIONES OFFLINE ............................................................................................. 37 3.3.1 Arquitectura................................................................................................................................... 37 3.3.2 Modelo de las operaciones offline realizadas en el mismo dispositivo ........................................ 39 3.3.3 Comunicación peer to peer entre dispositivos móviles ................................................................. 41 3.4 OPERACIONES OFFLINE EN PDLIB ....................................................................................................... 42 3.5 SINCRONIZACIÓN DE DATOS ................................................................................................................. 45 3.6 ESTRUCTURA DE LA BIBLIOTECA DIGITAL LOCAL (XML)................................................................... 54 3.7 SINCRONIZACIÓN DESDE EL DISPOSITIVO HACIA EL MCM ................................................................. 58 3.8 RESUMEN ............................................................................................................................................... 65 CAPÍTULO 4: IMPLEMENTACIÓN DEL MODELO.............................................................................. 66 4.1 INTRODUCCIÓN ...................................................................................................................................... 66 4.2 OPERACIONES DISPONIBLES EN EL PROTOTIPO ................................................................................... 66 4.3 SINCRONIZACIÓN ................................................................................................................................... 67 4.3.1 Sincronización del Servidor al Cliente.......................................................................................... 68 4.3.2 Sincronización del Cliente al Servidor.......................................................................................... 83 4.4 RESULTADOS DE LAS PRUEBAS .............................................................................................................. 84 4.5 RESUMEN ............................................................................................................................................... 87 CAPÍTULO 5: CONCLUSIONES Y TRABAJO FUTURO....................................................................... 88 5.1 CONCLUSIONES ...................................................................................................................................... 88 5.2 TRABAJO FUTURO ................................................................................................................................. 89 GLOSARIO..................................................................................................................................................... 92 APÉNDICE ..................................................................................................................................................... 95 BIBLIOGRAFÍA .......................................................................................................................................... 122. V.
(7) Lista de Figuras Figura 2.1: Arquitectura de un sistema de base de datos móvil [1]................................................................... 8 Figura 2.2: Modelo de Datos de PDLib [7] ..................................................................................................... 15 Figura 2.3 Arquitectura de PDLib [28]............................................................................................................ 16 Figura 2.4 Tecnología J2ME [23].................................................................................................................... 20 Figura 2.5. Ejemplo de un documento XML..................................................................................................... 22 Figura 2.6: Funcionamiento del protocolo XML-RPC [22]............................................................................. 24 Figura 2.7Código ejemplo, el cliente envía información al servidor ............................................................... 26 Figura 3.1 Conexión directa entre el cliente móvil y el MCM ......................................................................... 33 Figura 3.2 Tipos de desconexiones entre el cliente móvil y el servidor de datos ............................................. 34 Figura 3.3 Motivación en el trabajo propuesto ................................................................................................ 34 Figura 3.4 Comunicación entre: Clientes, MCM y el Servidor de Datos........................................................ 37 Figura 3.5: Arquitectura General de las operaciones offline........................................................................... 38 Figura 3.6: Arquitectura de las operaciones offline......................................................................................... 39 Figura 3.7: Comunicación entre dispositivos y un servidor de datos............................................................... 46 Figura 3.8 Sincronización de Dispositivos Móviles con una Base de Datos.................................................... 47 Figura 3.9: El Servidor de Datos actualiza al cliente móvil mediante el MCM............................................... 48 Figura 3.10: El cliente móvil actualiza al mediante el MCM........................................................................... 48 Figura 3.11: El cliente móvil y el servidor de mediante el MCM datos actualizan su información................. 48 Figura 3.12: Diagrama de secuencia para obtención del skeleton .................................................................. 50 Figura 3.13: Diagrama de secuencia para la ejecución de las operaciones offline......................................... 51 Figura 3.14 Estructura lógica de la biblioteca digital (Skeleton) .................................................................... 54 Figura 3.15 Ejemplo de la estructura lógica de una biblioteca digital (Skeleton.xml) .................................... 56 Figura 3.16 Sintaxis de la operación Collection Retrieval............................................................................... 57 Figura 3.17 Sintaxis de la operación Document Retrieval............................................................................... 57 Figura 3.18 Formato del documento XML de operaciones offline................................................................... 58 Figura 3.19 Sintaxis de la operación Create Collection .................................................................................. 59 Figura 3.20 Sintaxis de la operación Delete Collection................................................................................... 59 Figura 3.21 Sintaxis de la operación Move Collection .................................................................................... 60 Figura 3.22 Sintaxis de la operación Create Document................................................................................... 61 Figura 3.23 Sintaxis de la operación Delete Document ................................................................................... 61 Figura 3.24 Sintaxis de la operación Copy Document ..................................................................................... 62 Figura 3.25 Sintaxis de la operación Email ..................................................................................................... 63 Figura 3.26 Sintaxis de la operación Set Collection MetadataSet ................................................................... 63 Figura 3.27 Sintaxis de la operación Create Document................................................................................... 64 Figura 3.28 Sintaxis de las operaciones Set Collection/Document Permission ............................................... 64 Figura 4.1 Opciones de sincronización ............................................................................................................ 68 Figura 4.2 Forma para la autenticación de usuarios....................................................................................... 69 Figura 4.3 Estructura de la biblioteca digital local ......................................................................................... 70 Figura 4.4 Navegación por las colecciones...................................................................................................... 70 Figura 4.5 Menú de operaciones ...................................................................................................................... 71 Figura 4.6 Ver permisos de una colección ...................................................................................................... 72 Figura 4.7 Opción crear documentos ............................................................................................................... 72 Figura 4.8 Editar metadatos............................................................................................................................. 73 Figura 4.9. Opción compose document ............................................................................................................ 73 Figura 4.10 Etiquetas de la operación Create Document ................................................................................ 74 Figura 4.11 Editor del contenido del documento ............................................................................................. 74 Figura 4.12 vista del documento creado .......................................................................................................... 74 Figura 4.13 Opción ver documentos ................................................................................................................ 75 Figura 4.14 Información del documento seleccionado..................................................................................... 76 Figura 4.15 Ver contenido del documento........................................................................................................ 77 Figura 4.16 Ver metadatos ............................................................................................................................... 77 Figura 4.17 Enviar documento por E-mail....................................................................................................... 78. VI.
(8) Figura 4.18 Copiar o Mover el documento ...................................................................................................... 78 Figura 4.19 Opción de crear colecciones......................................................................................................... 79 Figura 4.20 Pantalla de crear colecciones....................................................................................................... 79 Figura 4.21 Vista de la nueva colección........................................................................................................... 80 Figura 4.22 Alerta al crear colección .............................................................................................................. 80 Figura 4.23 etiquetas de la operación Create Collection................................................................................. 80 Figura 4.24 Opción de eliminar colecciones.................................................................................................... 81 Figura 4.25 Aviso de eliminar colección .......................................................................................................... 81 Figura 4.26 Etiquetas de la operación Delete Collection ................................................................................ 81 Figura 4.27 Opción de eliminar documentos ................................................................................................... 82 Figura 4.28 Aviso de eliminar documentos ...................................................................................................... 82 Figura 4.29 Etiquetas de la operación Delete Document................................................................................. 82 Figura 4.30 Opción de Sincronizar del dispositivo al Servidor ....................................................................... 83. VII.
(9) Lista de Tablas Tabla 2.1 Servicios en dispositivos Móviles ..................................................................................................... 10 Tabla 2.2: porcentaje de ventas de las PDA’s por compañía [17]................................................................... 12 Tabla 2.3 Ventajas y desventajas de Palm OS y Windows CE ......................................................................... 13 Tabla 2.4 Características principales de Palm OS y Windows CE .................................................................. 13 Tabla 2.5 Ventas de PDA’s por Sistema Operativo en el primer cuarto del 2005 [17] ................................... 14 Tabla 2.6: Operaciones en PDLib .................................................................................................................... 18 Tabla 3.1: Operaciones en PDLib que pueden manejarse fuera de línea ........................................................ 44 Tabla 4.1: Operaciones implementadas en el prototipo ................................................................................... 67 Tabla 4.2 Memoria utilizada en la aplicación y el parseo del Skeleton ........................................................... 84 Tabla 4.3 Número de Colecciones y documentos en una biblioteca de 770KB ................................................ 85 Tabla 4.4 Tiempos de obtención y parseo de la estructura de una biblioteca de 770KB ................................. 85 Tabla 4.5 Colecciones y documentos en una biblioteca de 1.82MB................................................................. 86 Tabla 4.6 Tiempos de obtención y parseo de la estructura de una biblioteca de 1.82MB................................ 86. VIII.
(10) Resumen El campo de las bibliotecas digitales ha evolucionado con el tiempo, ya que a principios solo se podía tener acceso a documentos o archivos de texto digitalizados, sin embargo hoy en día, la información puede ser almacenada de muchas formas, documentos de texto, sonidos, imágenes fijas y en movimiento. Debido a esto, existe la necesidad de poder contar con repositorios para almacenar dicha información y poder consultarla en cualquier momento. En el proyecto PDLib (Personal Digital Library) que se realiza en el ITESM campus Monterrey, se propone una arquitectura para las bibliotecas digitales con soporte a dispositivos móviles (PDA’s, TabletPC, Laptop). En PDLib, el usuario móvil puede realizar operaciones o puede obtener servicios que el servidor le ofrece solamente cuando existe una conexión activa entre estos elementos, es decir, si el usuario móvil no cuenta con una conexión con el servidor en un momento determinado, entonces no podrá obtener los servicios de su biblioteca digital. Debido a esto, nace la necesidad de crear un mecanismo para soporte de operaciones offline en bibliotecas digitales personales soportadas por dispositivos móviles. La contribución principal de este trabajo es permitir que el usuario móvil pueda trabajar con su Biblioteca Digital Personal (PDLib), si necesidad de tener una conexión directa con el servidor, de manera que se satisface una necesidad importante para el usuario móvil y en general de la comunidad tecnológica. En este trabajo se identificaron y resolvieron algunas de las necesidades de PDLib como son: Minimizar la dependencia de los clientes móviles con el servidor de datos, la sincronización de la información de la biblioteca digital entre el servidor y los clientes móviles, la sincronización del usuario móvil con el servidor y la creación de un mecanismo de almacenamiento de la estructura lógica de la biblioteca digital.. -1-.
(11) Capítulo 1: Introducción La tecnología inalámbrica, se ha convertido en uno de los principales puntos de estudio en relación a la transmisión de voz y datos, sobretodo en aquellos lugares donde no es posible instalar las redes alámbricas. La variedad en su aplicación es muy amplia, desde conectarse con una computadora en una WLAN, o comunicaciones vía satélite tipo GPS. La tecnología inalámbrica ha ayudado a cubrir la necesidad de movilidad, logrando unir usuarios de computadoras portátiles manteniendo la conexión a la red aún cuando están en movimiento, a este tipo de tecnología se le ha llamado cómputo móvil [27]. El cómputo móvil apareció a principio de los 90’s con el campo de los sistemas distribuidos y con la aparición de las laptops y de las redes inalámbricas. Se refiere a la interconexión de varios dispositivos los cuales tienen acceso a diferentes redes de información, estos dispositivos están conectados en cualquier lugar, y en cualquier momento [1]. Los dispositivos móviles como su nombre lo indica, pueden estar moviéndose por un área específica y aún así mantener una conexión con la red y con otros dispositivos, ya sea móviles (como las laptops, Asistentes Personales Digitales o PDA’s, TabletPC’s, teléfonos celulares etc.), o a dispositivos fijos (servidores, estaciones de trabajo, impresoras, etc.). Los dispositivos fijos a diferencia de los móviles, necesitan cableado físico, para conectarse a la red. Con el crecimiento del cómputo móvil y la disponibilidad de los dispositivos móviles se ha creado un ambiente de cómputo global que tiene un papel importante en las actividades diarias de millones de personas en el mundo entero. Los usuarios pueden: comunicarse, trabajar y en general usar todos los dispositivos conectados a la red que provee el acceso a datos u otros dispositivos independientemente de su ubicación geográfica. Algunas de las características principales del cómputo móvil y que lo hacen interesante son [27]: 1. Proporcionar un soporte para las notificaciones rápidas en los eventos críticos. 2. Acceso a repositorios de información en cualquier lugar y en cualquier momento. 3. Comunicación adaptable 4. y sobre todo la cooperación entre los usuarios. Además, con la llegada del cómputo móvil se ha incrementado el número de oportunidades en el área de manejo de datos móviles. El manejo de datos móviles difiere de las tecnologías tradicionales empleadas en esa área, como son: los procesos de consulta, transacciones y procesos de negocios, ya que deben ser consideradas cuestiones no tradicionales como semántica de datos móviles, consulta de dependencia de ubicación, broadcast y multicast y técnicas de caching y pre-fetching [2].. -2-.
(12) Los dispositivos de hoy en día pueden conectarse con relativa facilidad a una red inalámbrica, aunque son muy reducidos en tamaño y poder de cómputo su portabilidad los hace ser de gran beneficio para los usuarios que están en movimiento constante, sin embargo estas características traen consigo nuevos retos para el campo de la informática. Un concepto innovador en el ambiente móvil es el que se presenta en [28], donde se propone el acceso a una biblioteca digital con soporte a clientes móviles a través de un middleware. Este concepto, provee a los usuarios móviles acceder a bibliotecas digitales desde cualquier lugar y en cualquier tiempo.. 1.1 Planteamiento del Problema El ambiente móvil ha impuesto nuevos retos para el campo de la informática. Estos retos hacen que los sistemas móviles sea un área de investigación prometedora. Los retos fundamentales en el cómputo móvil son los siguientes [5]: 1. Adaptación de conexión 2. Recursos limitados 3. Movilidad 4. Seguridad Estos problemas repercuten en el diseño de sistemas con soporte de dispositivos móviles, ya que incrementan la complejidad en el desarrollo debido a la capacidad del cliente contra la capacidad de los servidores de datos. Así, los dispositivos móviles con su baja confiabilidad requieren los servicios de los servidores fijos. En el manejo de operaciones, el cómputo móvil introduce nuevas características que no eran presentadas en sistemas de proceso de transacciones. Algunos conceptos importantes sobre transacciones en ambientes móviles son los siguientes [6]: . Consideraciones de ancho de banda y tasa de transferencia de datos. . Migración de lugar. . Desconexiones frecuentes planeadas. . Fallas frecuentes de la red. . Migración de dirección. -3-.
(13) . Recuperación de servicios. Una consideración importante es que los usuarios de dispositivos móviles, cambian de lugar constantemente y esto puede provocar desconexiones frecuentes. Debido a esto, si el usuario móvil realiza algunas operaciones durante ese movimiento algunas pueden resultar inconclusas o pueden perderse. De esta manera nace la necesidad de implementar mecanismos que soporten estas desconexiones y que todas las operaciones realizadas se ejecuten tarde o temprano. Debido a las consideraciones hechas anteriormente se pueden presentar algunos de los problemas siguientes: . Si el dispositivo no está conectado a la red, no se puede realizar operación alguna.. . El usuario no puede dejar las operaciones a medias, es decir, tiene que esperar a que terminen todas para desconectarse de la red.. . Si el usuario móvil está realizando alguna operación y si hay algún tipo de desconexión, la transacción se perderá.. Con los problemas mencionados, los clientes móviles también desean realizar algunas operaciones offline (fuera de línea o desconectados de la red). Debido a esto, resulta la necesidad de implementar mecanismos para el soporte de operaciones offline. El objetivo general del presente trabajo es definir un modelo de soporte a operaciones offline en dispositivos móviles para bibliotecas digitales personales, en el contexto del proyecto PDLib. El proyecto PDLib propone una arquitectura para las bibliotecas digitales con soporte a dispositivos móviles, el cual provee al usuario móvil una abstracción de una biblioteca digital personal en su dispositivo, el cual puede ser una PDA, una TabletPC, una Laptop o una computadora de escritorio [4]. Para lograr el objetivo de este trabajo, se definió un esquema de comunicación entre dispositivos móviles y una biblioteca digital, de manera que se permita que el cliente móvil realice operaciones o servicios en modo offline. Este trabajo se centra y se limita a las desconexiones planeadas por parte del cliente y a las desconexiones por fallas de la red, es decir, el cliente móvil se puede desconectar del servidor de datos de forma planeada y realizar algunas operaciones fuera de línea tal y como lo haría si estuviera conectado con el servidor. Así, aunque el cliente móvil, no tenga conexión con el servidor se almacenan todas las operaciones en el dispositivo y posteriormente al tener una conexión se ejecutarán. De igual manera, si ocurre un fallo en la red, el cliente puede seguir trabajando con su biblioteca, ya que cuenta con una copia almacenada en su dispositivo.. -4-.
(14) En este trabajo de tesis se desarrolló el manejo de operaciones offline, se basa en las operaciones que se realizan en el proyecto PDLib (Personal Digital Library) [4], el cual se desarrolla en el Centro de Investigación en Informática del Instituto Tecnológico de Estudios Superiores de Monterrey, Campus Monterrey. En el proyecto PDLib se han implementado algunos mecanismos que pueden ayudar a optimizar el esquema de las operaciones offline [3], sin embargo, estos mecanismos no se implementaron en el desarrollo de esta tesis ya que no es el objetivo principal. Estos mecanismos son: 1. Mecanismo de paginación, ayuda a realizar descargas de documentos sin sobrecarga de buffer y sin interrumpir la interacción con los clientes. 2. Mecanismo de cache, permite que la información requerida por el usuario le sea proporcionada más rápidamente. Para el acceso a una biblioteca digital en PDLib, el usuario realiza algunas peticiones para ver el contenido de su biblioteca. El servidor de datos procesa las peticiones de los clientes y regresa los resultados. Lo que el servidor regresa es la información de los documentos o colecciones contenidos en la biblioteca digital. El usuario interactúa con PDLib creando y borrando colecciones, subiendo, moviendo, copiando o recibiendo documentos, además, puede definir los metadatos, los cuales describen el contenido de cada colección [28]. Las técnicas del manejo de operaciones offline que se presentan en este trabajo se basan en la idea de sincronización de la información, es decir, el concepto de que el cliente móvil puede ver la misma información en su dispositivo como en el servidor de datos sin necesidad de que el dispositivo tenga una conexión con el servidor. En la figura 1.1 se muestra la forma general en que el usuario interactúa con el servidor de datos. Al conectarse el usuario a PDLib, se hace la sincronización con el servidor, esto es, se obtiene información de colecciones y documentos que se encuentren en su biblioteca digital personal y se almacena en su dispositivo, así el usuario mantiene una “vista local” de las colecciones y documentos de su biblioteca personal (Vista Remota). Una vista local es una estructura lógica de la biblioteca digital que se encuentra almacenada en el dispositivo. La vista remota es la biblioteca digital que está almacenada en el servidor, el usuario móvil puede acceder a ella solamente a través de una conexión de red con el servidor.. Send Digital Library Information Send Operations PDA. Servidor. Vista Local. Vista Remota. Figura 1.1 Vista local y vista remota de la información Una vez que el usuario tiene una copia local de su biblioteca, trabaja directamente con ella y no con la que está en el servidor, de manera que, aunque tenga conexión con el -5-.
(15) servidor, las operaciones que realice son en base a su copia local. Cabe aclarar que la copia de la biblioteca digital no es completa, es decir, no es toda la biblioteca digital que se almacena en el dispositivo, solamente información de los nombres de las colecciones y los metadatos de los documentos, no los documentos digitales. El usuario puede realizar algunas operaciones o servicios como lo haría si tuviera una conexión con el servidor, estas operaciones son almacenadas en el dispositivo para su futura ejecución. Así, cuando el usuario decide realizar esas operaciones, se conecta al servidor y le envía (sincroniza) las operaciones para su ejecución. De tal manera que es el usuario el que decide en que momento enviar las operaciones al servidor. Los objetivos específicos de este trabajo de tesis son los siguientes: . Reducir la dependencia del usuario móvil con el servidor de datos.. . Definir un mecanismo de sincronización entre cliente y servidor.. . Identificación de la estructura lógica de PDLib y los metadatos que serán almacenados en el cliente.. . Definición de un mecanismo de almacenamiento de la información de una biblioteca digital en el cliente móvil mediante el manejo de documentos XML.. . Identificación de los servicios de PDLib que pueden ser realizados Offline.. . Acceso del usuario a su biblioteca digital almacenada en el cliente a cualquier hora y en cualquier lugar sin necesidad de la conexión con el servidor.. . Acceso a operaciones o servicios de PDLib (identificados en puntos anteriores) en su biblioteca aún sin tener conexión con el servidor de datos.. 1.2 Organización de la Tesis Este trabajo de investigación se organiza en 5 capítulos, el capítulo 2 describe los antecedentes de esta investigación, los fundamentos teóricos así como los trabajos relacionados al presente. El capítulo 3 el marco teórico del modelo para operaciones offline, su estructura y las herramientas utilizadas. El capítulo 4 describe el prototipo realizado en este trabajo, así como los resultados de las pruebas hechas con dicho prototipo. El último capítulo se relaciona con las conclusiones y el trabajo futuro a esta investigación.. -6-.
(16) Capítulo 2: Antecedentes En este capítulo se describen las características y retos principales del cómputo móvil, los distintos dispositivos móviles en el mercado recalcando a los Asistentes personales Digitales (PDA’s). Se describe de manera más amplia el proyecto PDLib, su arquitectura, los elementos que intervienen, las funciones de cada uno de esos elementos, y las distintas operaciones que el usuario móvil puede efectuar en PDLib. Se presenta una descripción del lenguaje de programación para dispositivos móviles, así como la razón de porqué se escogió ese lenguaje. La representación de los datos por medio de XML y cómo este estándar ha evolucionado para el manejo e intercambio de información en la unión de otras tecnologías como lo es XML-RPC como protocolo de comunicación entre diferentes sistemas. Por último se mencionan varios trabajos que manejan el concepto de operaciones desconectadas u offline, presentando características y funciones de cada uno de ellos.. 2.1 Fundamento Teórico En esta sección se describirá a detalle la base teórica de este trabajo de tesis. Se inicia con las características del cómputo móvil, teniendo en cuenta sus características: como limitaciones o restricciones en el manejo. Se presentan las características de los distintos dispositivos en la actualidad, haciendo énfasis en las PDA’s, con características como memoria, almacenamiento, sistema operativo, compatibilidad con otros sistemas, etc. En las últimas dos secciones se describe a detalle la estructura de PDLib ya que este trabajo está basado en él, se describen sus componentes, los elementos que intervienen, los lenguajes de programación y las herramientas que se utilizaron para el desarrollo del mismo.. 2.1.1 Características y Retos del Cómputo Móvil El cómputo móvil ha llegado a ser una realidad gracias a la aparición y crecimiento de dos tecnologías: la aparición de dispositivos portables, hoy en día llamados dispositivos móviles, y el desarrollo de redes confiables. Estos dispositivos, pueden ejecutar consultas a diversas bases de datos sobre canales de comunicación inalámbrica [1]. Los elementos involucrados en esta comunicación forman un conjunto de elementos móviles y fijos y bases de datos, llamado: sistema de bases de datos móviles (M-DBS). En [1] se propone una arquitectura de un sistema de base de datos móvil, en la Figura 2.1 se muestra esta arquitectura y enseguida se describen los elementos involucrados.. -7-.
(17) MU. BS. Fixed Host DBS. MU. DBS BS. Fixed Host Cell. MU. Wireless Link. M-DBS: Mobile Database System DBS = Database Server MU = Mobile Unit BS = Base Station Figura 2.1: Arquitectura de un sistema de base de datos móvil [1]. Como se puede observar en la figura 2.1, un M-DBS está compuesto de host fijos (Fixed Host), Unidades móviles (MU), estaciones base (BS) y servidores de bases de datos (DBS) [1]. Los host fijos pueden ser servidores o estaciones de trabajo, pero la característica especial de éstos es que tengan una conexión de red segura y que sus características de hardware y software sean poderosas. Las unidades móviles se pueden considerar computadoras con bajo poder de cómputo, como pueden ser dispositivos móviles como PDA’s, teléfonos móviles, pagers, etc, aunque también se puede considerar como unidades móviles a las laptop’s ya que pueden cambiar su ubicación de un momento a otro aunque no con tanta regularidad como los dispositivos anteriores. Las estaciones base, son equipos o computadoras que soportan la conexión con los dispositivos móviles, es decir, son el enlace entre los dispositivos móviles y las bases de datos. La célula es un área geográfica lógica cubierta por una estación base. Cada célula tiene una estación base. Una unidad móvil se conecta a los componentes de la red alámbrica, a través de las estaciones base por medio de los canales inalámbricos. La unidad móvil puede cambiar de ubicación y de conexión de red mientras el host fijo, la estación base y los componentes del servidor de base de datos realizan las funciones del manejo de datos en su representación [1].. -8-.
(18) Los modos de conexión de un host en un sistema distribuido son [1]: conectado o totalmente desconectado, sin embargo en el cómputo móvil pueden ser: . Completamente conectado (Esta es la conexión normal). . Totalmente desconectado. . Parcialmente conectado (conectado vía un ancho de banda bajo). La característica esencial del cómputo móvil es precisamente su movilidad, sin embargo esto tiene su consecuencia y por ende trae consigo algunas restricciones, en [5] se proporcionan las cuatro restricciones de la movilidad: . . . Los elementos móviles tienen recursos limitados en comparación con los elementos fijos: Las consideraciones de hardware y software en los elementos móviles son menores a los elementos fijos, tales consideraciones pueden ser, peso, tamaño, velocidad de procesamiento, tamaño de memoria y capacidad del disco duro. El peligro de la movilidad: Este punto se basa en la seguridad de los equipos, es mucho mas seguro un equipo fijo puesto en una oficina con llave que un dispositivo que se pueda estar moviendo en cualquier lugar y a cualquier hora de tal manera que esto lo hace mas susceptible a robo o daño. La conectividad varía en cuestión de rendimiento y confiabilidad: Los dispositivos móviles normalmente se conectan con bajo ancho de banda, por lo tanto pueden sufrir desconexiones frecuentes y/o predecibles. Los elementos móviles tienen energía limitada: A pesar de que se ha aumentado el poder en las baterías, aún así no deja de ser finita, esto es, su energía se agotará en un tiempo determinado, esto hace que los elementos se limiten en el manejo de su energía.. Los cuatro puntos anteriores se pueden ver como las restricciones generales del cómputo móvil. En [1] se proporciona un esquema donde se clasifican estos problemas, a continuación se presenta este esquema:. Conexión. . Bajo ancho de banda Desconexiones frecuentes Variabilidad en el ancho de banda Desconexiones predecibles Comunicación asimétrica. Recursos Limitados. . Bajo poder en la batería Limitado poder de procesamiento Memoria limitada Pequeña tamaño de pantalla Poca o nula escalabilidad -9-.
(19) Movilidad. . Rápido cambio de ubicación. Seguridad. . Alta Susceptibilidad a ataques maliciosos Susceptible a daños debido a accidentes. Los problemas de desconexión, recursos limitados y movilidad serán de alguna manera atacados en este trabajo de tesis.. 2.1.2 Dispositivos Móviles Los dispositivos móviles son todos aquellos dispositivos en los cuales su característica esencial es la portabilidad y su conectividad a una red privada o Internet. Dentro de estos dispositivos se encuentran, los smart phones, asistentes personales digitales (PDA’s), computadoras personales como laptops, Tablet PC’s, entre otros [15,16]. Con el crecimiento del mercado móvil muchas empresas ven la necesidad de encarar la integración de sus sistemas en los dispositivos móviles ya que pueden ofrecer diversos servicios. Algunos de los servicios que estos dispositivos pueden ofrecer son descritos en la tabla 2.1 [10, 11, 12]: Servicio Envío y recepción de mensajes de texto Envío y recepción de E-mail Sincronización con el PC Reproducir música Despliegue de imágenes Wi-Fi Lectura y edición de e-books. PDA X. SmartPhone X. X X X X X X. X X X X. Tabla 2.1 Servicios en dispositivos Móviles. Como se puede observar en la tabla 2.1 se puede acceder a e-mails desde muchos tipos de dispositivos móviles, y pueden usarse para navegar por Internet o la Intranet de una empresa. Pueden usarse para acceder a aplicaciones e información dentro de la red privada de una empresa, y tal información puede almacenarse en la PDA/teléfono. Los dispositivos móviles de alguna manera están siendo más funcionales y se pueden conectar más fácilmente a la red y a Internet. - 10 -.
(20) Algunas de las características que se han añadido a estos dispositivos y que a los usuarios le han sido de gran utilidad son las siguientes [16]: . La adición de teclados: Permite a los usuarios crear y modificar de manera rápida y sencilla, documentos, hojas de cálculo, notas, redacción de e-mails, etc.. . Adición de soporte al protocolo TCP/IP: Conecta a los usuarios a Internet, envío y recepción de e-mails, incorporación de visor de Web y otras aplicaciones basadas en este protocolo.. . Capacidad para almacenar sonido y video: La capacidad de almacenamiento ha aumentado de manera considerable. A los usuarios se les hace mas atractiva la idea de poder almacenar multimedia en sus dispositivos y cargar con ello en todo momento.. En general, los dispositivos móviles hasta cierto punto están emergiendo todo en uno, y los dispositivos más avanzados ahora tienen funciones que estaban solamente presentes en las computadoras de escritorio. Algunos retos importantes con que se enfrentan las empresas al utilizar estos dispositivos, aunados a los que se mencionaron en la sección anterior son los siguientes [16]: . Compatibilidad entre la plataforma y la aplicación Muchas empresas tienen un conjunto de aplicaciones dispuestas a interactuar con los dispositivos móviles, sin embargo, muchas veces, la plataforma o sistema operativo de estos dispositivos no son compatibles con estas aplicaciones. Hoy en día, los dispositivos móviles líderes en el mercado ofrecen los sistemas operativos PalmOS y Windows CE [16], y cada uno de ellos implementa aplicaciones que los hacen ser compatibles con una gran variedad de herramientas y/o aplicaciones de PC’s.. . Velocidades de conexión remota Las velocidades de conexiones de red han estado aumentando con los años, y en los dispositivos móviles no ha sido la excepción. Las empresas desean tener conexiones de ancho de banda mayores con el objetivo de transportar mayor cantidad de información en poco tiempo.. . Sincronización de datos y seguridad Uno de los mayores retos con que se enfrentan las corporaciones es la de sincronizar la información con aplicaciones en su PC’s y sus dispositivos móviles. Sin embargo, esta sincronización conlleva a otro reto todavía más fuerte, el de la seguridad. El subir y bajar información a los dispositivos y PC’s puede acarrear riesgos de seguridad como scripts no deseados o intrusos obteniendo o revisando información de la empresa a través de la red.. - 11 -.
(21) Este trabajo se desarrolla en el ambiente de las PDA’s, por lo tanto haremos énfasis a estos dispositivos, de cualquier manera, los otros dispositivos móviles tienen muchas de las características que se presentan en las PDA’s.. 2.1.3 Características de los Asistentes Personales Digitales (PDA’s) Las PDA’s son dispositivos móviles que se han orientado al manejo de la información, mas que del manejo de multimedia. Estos dispositivos enfocan sus tareas en el almacenamiento de la información, envío y recepción de correo y comunicación inalámbrica que puede ser de varios tipos, Wireless LAN (WLAN) [29], BlueTooth [30] y Wireless Wide Area Network [31]. Según estudios recientes [17], las ventas de las PDA’s se ha incrementado considerablemente, más de 3.4 millones de unidades en el primer cuatrimestre del año 2005, lo cual es el 25% más sobre el año anterior. Según estas investigaciones ese incremento se debe a la popularidad del correo electrónico en esos dispositivos y la implementación de los teclados QWERTY que involucra la posibilidad de ser usados con las dos manos. La siguiente tabla muestra el incremento de ventas de las PDA’s con los principales proveedores: Compañía. Porcentaje de Ventas (1er Cuarto del 2005) 20.8 % 18 % 17.6 % 9.9 % 6.3 % 27.3 % 100%. RIM PalmOne HP Nokia Dell Others Total. Tabla 2.2: porcentaje de ventas de las PDA’s por compañía [17]. Hoy en día, existen docenas de marcas de Asistentes Personales Digitales (PDA) en el mercado. Pero tres categorías principales de PDA’s los caracterizan: Los que usan el sistema operativo de la Palm (Palm OS), los que usan como sistema operativo Windows CE de Microsoft, los que tienen sistema operativo Linux y algunos otros aún menos populares que éstos que ofrecen sus propios sistemas operativos como Royal [9]. En la actualidad existen dos competidores principales, los dispositivos que usan Palm OS y los que usan Windows CE, debido a esto, este trabajo se realizó tomando en cuenta estas dos plataformas [16]. A continuación se da algunas ventajas y desventajas de los dispositivos de la Palm y de Windows CE [10]:. - 12 -.
(22) Ventaja Amplio rango de modelos. Palm OS. Windows CE. Desventaja Sistema Operativo e interface no muy familiar para muchos usuarios Batería de larga vida Difícil sincronizar con más de una PC Sistema Operativo más ligero que Muchos modelos no tienen Windows CE Wireless LAN como estándar Ventaja Desventaja Vista familiar para los usuarios de Procesador de alto poder Windows que reduce más rápido la batería. Amplio rango de modelos Difícil sincronizar con más de una PC Pantalla de color de alta calidad Tabla 2.3 Ventajas y desventajas de Palm OS y Windows CE. En [11, 12] se dan algunas características Windows CE y Palm OS, algunas de ellas se resumen en la tabla 2.4. Característica Propósito. Administración de procesos. Portabilidad. Almacenamiento. Windows CE Brindar algunos servicios que puede ofrecer una computadora, aún con sus capacidades limitadas. Soporta hasta 32 tareas ejecutándose de manera simultánea. Se puede ejecutar en otros dispositivos como en teléfonos móviles. Provee una estructura de almacenamiento similar a los sistemas operativos de Windows.. Palm OS Organizador personal. Un solo proceso se puede ejecutar a la vez. Solo está disponible para ejecutarse en dispositivos de la misma compañía. Cuenta con una Base de Datos, para almacenar los programas y los datos.. Tabla 2.4 Características principales de Palm OS y Windows CE. La diferencia principal entre la arquitectura Palm y Windows CE es que la Palm provee software libre, tal como su kit de desarrollo y documentación, para desarrollar nuevas aplicaciones en sus dispositivos [11]. La mayor ventaja que puede tener Windows CE con respecto a la Palm, es la semejanza con la compatibilidad con los sistemas Windows, de tal manera que muchos usuarios lo. - 13 -.
(23) prefieren. El mercado entre estos dos sistemas era muy parejo, sin embargo, las tendencias para este año son favorables para Windows CE tal y como lo muestra la tabla 2.5 [17]. Compañía Windows CE RIM Palm OS Symbian Linux Others Total. Ventas 1,573,062 711,000 684,750 340,000 27,300 83,000 3,419,112. Porcentaje de Ventas (1er Cuarto del 2005) 46.0 % 20.8 % 20 % 9.9 % 0.8 % 2.4 % 100%. Tabla 2.5 Ventas de PDA’s por Sistema Operativo en el primer cuarto del 2005 [17]. 2.1.4 El proyecto PDLib: Personal Digital Library A continuación se presentarán las características principales del proyecto PDLib, la arquitectura, los diversos servicios que brinda, y su relación con este trabajo propuesto.. 2.1.4.1 Introducción Antes de definir y dar las características del proyecto PDLib, se define lo que son las bibliotecas digitales. El término biblioteca digital ha sido empleado para definir un gran almacén de información digital accesible a través de las redes de computadoras. Al igual que una biblioteca tradicional, una biblioteca digital sirve como un archivo de conocimientos que abarca muchos temas. Dado que la información puede ser almacenada de muchas formas, una biblioteca digital puede contener texto, sonidos, imágenes fijas y en movimiento, así como conversaciones [13,14]. Las bibliotecas digitales poseen características como: Creación de documentos digitales, indexamiento y búsquedas, administración y control de acceso, personalización, distribución de la información, interfaz adecuada para presentar los resultados, etc. El proyecto PDLib tiene como objetivo principal proporcionar los servicios de una biblioteca digital con soporte a usuarios móviles, en donde cada usuario puede tener su propia biblioteca digital. El usuario de PDLib cuenta con la abstracción de una biblioteca digital personal en su PDA, laptop, TabletPC o en su máquina de escritorio [32], es decir, el usuario no tiene en sí su biblioteca digital en su dispositivo, si no simplemente se le presenta como si la tuviera en él.. - 14 -.
(24) Los servicios que ofrece PDLib son los siguientes: . Clasificación e indexamiento. . Búsqueda y recuperación de documentos. . Distribución de documentos almacenados. . Administración y control de acceso para evitar el uso no autorizado. . Personalización de preferencias para cada usuario. En PDLib una biblioteca contiene una o mas colecciones, a su vez una colección puede contener documentos o más colecciones y se asocia a un conjunto de metadatos. El conjunto de metadatos está compuesto de una o más definiciones de metadatos. En la figura 2.2 se ilustra el modelo de datos de PDLib.. Figura 2.2: Modelo de Datos de PDLib [7]. A continuación se define cada uno de los elementos del modelo de datos de PDLib: Colecciones: Son contenedores o carpetas para el usuario que pueden incluir otras colecciones y documentos. Documentos: Son documentos físicos que el usuario puede obtener de su biblioteca. Conjunto de Metadatos: Se compone de una o más definiciones de metadatos. Ejemplo: name = “Autor”, type = “Text”, name = “Titulo”, type = “Text”. Metadatos de documentos: Son las definiciones de los metadatos de los documentos, por ejemplo Name=“Autor”, Value=“Luis Basto”, Name=“Título”, Value=“Soporte de Operaciones Offline en una Biblioteca Digital”, etc. Los campos que componen los metadatos de documentos están determinados por el conjunto de metadatos de la colección. Permisos: Los permisos son definidos para los accesos de los usuarios, estos pueden ser:. - 15 -.
(25) • • • • •. Personal. Donde el acceso es solo para el propietario de la biblioteca, Incoming. A otros usuarios se les permite crear documentos y colecciones, Outgoing. A otros usuarios se les permite ver las colecciones y recibir documentos, Update. A otros usuarios se les permite actualizar documentos y metadatos, pero no se permite que puedan crear o borrar documentos, por último Shared, que es compartido entre otros usuarios.. Un documento puede tener uno o más formatos de documentos, estos formatos pueden ser: Texto, PDF, Doc, etc.. 2.1.4.2 Arquitectura PDLib La arquitectura de PDLib se compone básicamente de tres capas (Figura 2.3), la capa de clientes, capa del servidor y la capa de interoperabilidad.. Figura 2.3 Arquitectura de PDLib [28]. La capa del cliente (Client tier) está integrada por los clientes móviles (PDA’s, Celulares, Laptop’s y Tablet PC) y los no móviles (computadoras de escritorio), en este trabajo por la naturaleza del mismo, solo nos enfocaremos a los dispositivos móviles. La capa de Servidor se encarga de proveer los servicios a los clientes móviles y se compone del Mobile Connection Middleware (MCM), el servidor de datos y el Web Front-End. Con la capa de interoperabilidad los clientes se pueden comunicar con otros servidores de bibliotecas digitales externos y bibliotecas OAI (Open Archive Initiative por sus siglas en inglés) [33], de tal manera que esta comunicación externa es transparente para el usuario móvil.. - 16 -.
(26) Como se puede apreciar en la figura 2.3, los clientes móviles se comunican con el MCM por medio de la red inalámbrica (líneas punteadas) y este a su vez se comunica con el Servidor de Datos (Data Server). Todos los clientes móviles pasan por el MCM para poder comunicarse con el Servidor de Datos, esto es porque se tiene un mecanismo de adaptación entre el cliente y el servidor de datos [3] implementado en el MCM. García [3] presenta la implementación del MCM que actúa como intermediario entre los clientes móviles y el servidor de datos. La implementación de este componente ayuda a liberar de carga pesada al servidor y al cliente. Es el encargado de adaptar las tareas o peticiones del cliente y enviárselas al servidor y de igual manera el servidor al enviar información al cliente lo hace a través del middleware. De esta manera el cliente y el servidor de datos no se comunican directamente y el middleware funciona como servidor al cliente y como cliente para el servidor de datos. Otros tipos de clientes que no son móviles como las PC’s se conectan con el servidor de datos por medio del Web Front-End. Las Laptop’s y las TabletPC’s caen en las dos categorías, en las de clientes móviles y clientes fijos, esto es dependiendo del tipo de conexión que realicen ya sea inalámbrica o alámbrica. En la figura 2.3 se muestra las distintas conexiones, tomando en consideración las líneas punteadas como conexiones inalámbricas y las líneas normales como las conexiones alámbricas. Para fines de este trabajo la capa de interoperabilidad no la tomaremos en cuenta, ya que no es relevante para el desarrollo del mismo, solo nos es de importancia la comunicación de los dispositivos móviles con el servidor de datos tomando al MCM como intermediario. Tampoco se tomarán en cuenta los dispositivos que se conectan por una red alámbrica, es decir, este trabajo se centra en las operaciones que puedan realizar los dispositivos móviles que cuenten con una conexión inalámbrica y por lo tanto tengan una comunicación directa con el MCM.. 2.1.4.3 Manejo de operaciones en PDLib PDLib brinda una serie de operaciones o servicios [7] al usuario móvil. Estas operaciones son resumidas en la Tabla 2.6.. - 17 -.
(27) Objetos. Servicios. Library. Creation, Retrieval, Update and Deletion. Collection. Creation, Retrieval, Update, Deletion, Copy and Move. Document. Submission, Retrieval, Update, Deletion, Send, Search, Email, and Copy. Document Format. Submission, Retrieval, Update, Deletion and Conversion. Metadata Set. Creation, Retrieval, Update, Deletion, and Get/Set Collection Metadata Set. Document Metadata Update Document Metadata Permission. Get/Set Collection Permission and Get/Set Document Permission Tabla 2.6: Operaciones en PDLib. En las versiones más recientes del servidor de datos se tienen todas las operaciones anteriores, sin embargo las operaciones de Document Submission y Document Format Submission no se tienen implementadas en el cliente móvil, solo en el cliente Web. Algunos de los servicios básicos proveídos por PDLib, son los siguientes: . Operaciones CRUD (Creation, Retrieval, Update y Deletion): Estas son las operaciones generales que se pueden realizar con la biblioteca, colecciones, documentos, formatos de documentos, y los metadatos.. . Copiar o Mover colecciones (Copy and Move): Se proveen para duplicar o recolectar colecciones en la biblioteca.. . Copiar documentos (Copy): Copia un documento de una biblioteca a otra, o de una colección a otra en la misma biblioteca.. . Búsqueda de documentos (Search): Se efectúa una búsqueda booleana y clasificada. Para las operación de búsquedas se tienen algunas variantes: o o o o o. . Búsqueda Simple Búsqueda Avanzada Búsqueda por texto completo Búsqueda recursiva Búsqueda multi-bibliotecas digitales. Enviar documentos a otros usuarios (Send): Con este servicio se pueden enviar documentos a la biblioteca de otro usuario.. - 18 -.
(28) . Enviar documentos por e-mail (Email): Si una persona no cuenta con una biblioteca digital, se puede enviar documentos a su dirección de correo electrónico por medio de este servicio.. . Recibir o asignar un conjunto de metadatos a una colección dada (Get/Set Collection Metadata Set): En esta parte es donde se definen los metadatos para cada colección.. . Conversión de Formato de Documento (Conversion): Se realizan las conversiones de los formatos de los documentos, por ejemplo, de texto plano a PDF, o de PS a PDF.. . Actualizar los metadatos de un documento (Update Document Metadata).. . Permitir a los usuarios otorgar o revocar permisos a otros usuarios de colecciones y/o documentos (Get/Set Collection Permission, Get/Set Document Permission). Los tipos de permison son: (a) Personal, el acceso es restringido al propietario de la biblioteca; (b) Incoming, se les permite a otros usuarios crear documentos y colecciones, solo es aplicable a colecciones. (c) Outgoing, se les permite a otros usuarios ver las colecciones y recibir información de los documentos, (d) Update, se les permite a otros usuarios actualizar documentos, sus metadatos asociados y los formatos de los documentos, pero no pueden crear documentos o borrarlos. (e) Shared, se les permite el acceso total a los documentos y colecciones.. . En la operación de subir documentos y formatos (Submission), el usuario puede añadir documentos y formatos de documentos a su biblioteca. Como se mencionó anteriormente, estas operaciones solo están disponibles por el momento en el cliente Web.. 2.1.5 Lenguaje de Programación para Dispositivos Móviles Las aplicaciones de los dispositivos móviles por su arquitectura y sus limitaciones necesitan ser programados con herramientas que tengan un bajo costo en procesamiento y almacenamiento. En García [3], se realizó una comparación entre dos de las plataformas más utilizadas para el desarrollo de aplicaciones móviles, J2ME y .Net CF (Compact Framework). La primera es de la compañía Sun Microsystem y .Net CF es de Microsoft Corporation. García llegó a la conclusión de que se debe utilizar J2ME para el desarrollo de PDLib, ya que se basa en tecnología Java y como consecuencia es un sistema multiplataforma. Por lo tanto, describiremos un poco lo que es J2ME.. - 19 -.
(29) J2ME es un conjunto estándar de configuraciones para dispositivos pequeños. En J2ME se definen configuraciones (Configuraciones de modelos de hardware con soporte de software) y perfiles (Soporte de APIs de software) que permiten que Java sea usado en los dispositivos móviles [23]. En la figura 2.4 se muestra la arquitectura de la tecnología J2ME y enseguida se describen sus elementos.. Figura 2.4 Tecnología J2ME [23]. En las configuraciones se definen dos tipos: Connected Limited Device Configuration (CLDC) y connected Device Configuration (CDC). La configuración CLDC, es la más pequeña de las dos configuraciones y está diseñada para dispositivos con conexiones de red intermitentes, procesadores lentos, y con memoria limitada. Algunos ejemplos de dispositivos con este tipo de configuración son: Teléfonos móviles, PDA’s y Pagers de dos vías. La configuración CDC está diseñada para dispositivos como: TV set-up boxes, gateways residenciales, etc. Estos dispositivos cuentan normalmente con mayor cantidad de memoria, procesadores más rápidos y ancho de banda mayor que en dispositivos CLDC. Realmente no existe una cantidad de memoria o procesamiento específico para decidir que configuración utilizar para cada dispositivo, simplemente se especificó de acuerdo al tipo de dispositivo. Cabe mencionar que CDC contiene API’s que los CLDC no contienen y esto lo hace ser más apto para dispositivos con mayor capacidad de procesamiento que la mayoría de los dispositivos móviles como PDA’s, celulares y Pagers. Los perfiles son un conjunto de API’s de alto nivel que definen el ciclo de vida de la aplicación, interfaz de usuario, y el acceso a las características propias del dispositivo. Estos se dividen en: MIDP, PDA, POS.. - 20 -.
(30) MIDP o MID está diseñado para teléfonos móviles y PDA’s, ofrece la funcionalidad requerida por aplicaciones móviles como la interfaz de usuario, la conectividad de la red, almacenamiento local y la administración de la aplicación. MIDP minimiza el uso de la memoria y el consumo de energía en el dispositivo. El perfil PDA es para PDA’s de mediana a alta capacidad de procesamiento y almacenamiento y el perfil POS (Point of Sale) es para sistemas de puntos de venta. El perfil MID se utiliza para dispositivos limitados, como pueden ser las PDA’s y celulares y es precisamente el que se utiliza en el proyecto PDLib por las características antes mencionadas. Los otros perfiles, Foundation profile y Personal profile, se utilizan para dispositivos con mucho mayor poder de procesamiento o de almacenamiento, pero no para dispositivos gráficos, es decir, no tienen una pantalla de visualización.. 2.1.6 Mecanismo de almacenamiento en J2ME Los dispositivos móviles normalmente tienen dos tipos de memoria: memoria para correr las aplicaciones y memoria para el almacenamiento persistente. El almacenamiento persistente permite que los datos manejados por las aplicaciones se almacenen de manera definitiva en el dispositivo, tales datos pueden ser, configuraciones y/o información que posteriormente puede ser cambiado dinámicamente [20]. Por definición una base de datos es una colección de datos dinámicos que provee algunas operaciones para describir, establecer, manipular y accesar estos datos. J2ME define un sistema de base de datos simple orientado a registros, llamado Record Management System (RMS). Cada tabla de la base de datos es llamado un record store, y cada entrada en un record store es llamado registro [38]. El RMS es una poderosa herramienta para almacenamiento de datos en un dispositivo móvil, sin embargo toda la información almacenada esta en un solo nivel, no se cuenta con una estructura jerárquica tipo un sistema de archivos como FAT, FAT32 ó NFS de Windows o de otros sistemas. En este trabajo de tesis, se utilizaron varios record stores (RMS) para el almacenamiento de diversa información necesaria para la ejecución de las operaciones offline. En capítulos posteriores se mencionan y describen cada uno de estos RMS’s.. 2.1.7 Representación de datos con XML XML [18,19] por sus siglas en inglés de eXtensible Markup Language, es un formato de texto flexible y simple en su estructura. Originalmente se diseñó para publicaciones electrónicas de gran tamaño, sin embargo XML ha evolucionado y ahora está jugando un. - 21 -.
(31) papel muy importante en el intercambio y compartición de una amplia variedad de datos en Internet y sobre todo en el Web. La mayor ventaja de XML es que es un lenguaje que provee un formato estándar independiente de sistema para que precisamente se pueda intercambiar la información a través de la red y en diferentes plataformas y en diferentes aplicaciones. Si podemos pensar desde el punto de vista del programador, el lenguaje de programación Java es multiplataforma, es decir, es independiente del sistema operativo que se esté utilizando y por lo tanto hace a las aplicaciones portables entre diferentes plataformas, XML hace los datos portables entre diferentes aplicaciones, haciendo más fácil la comunicación entre distintas aplicaciones programadas en diversos lenguajes. Un documento XML está formado por etiquetas, estas etiquetas definen la estructura de los elementos dato. La sintaxis del XML es muy similar al del lenguaje HTML. Un ejemplo de la estructura de un documento XML se presenta en la figura 2.5. <?xml version="1.0" ?> <mail> <From> Luis Basto</From> <To> Pdlib group</To> <Cc> </Cc> <Date> 18-9-2005</Date> <Subject> Thesis</Subject> <Body language= “English”> Send my thesis. <Signature>LCC. Luis Basto</Signature> </Body> </mail> Figura 2.5. Ejemplo de un documento XML. Como se puede observar en la figura 2.5, el documento XML asemeja una estructura del envío de un correo electrónico. Las etiquetas definen la estructura y los límites de ésta. En general hay cuatro componentes asociados con un documento XML: Elementos, atributos, entidades y DTD’s [18,19]: 1. Un elemento, es lo que describe a un dato, el elemento se compone de las etiquetas y el contenido dentro de las etiquetas. En el ejemplo anterior la etiqueta From con su contenido forma un elemento: <From> Luis Basto</From>. 2. Un atributo se usa para proveer información adicional acerca del elemento. Normalmente se usa dentro de la etiqueta de inicio del elemento. En la figura 2.5 la etiqueta Body tiene el atributo language: <Body language= “English”>. 3. Las entidades es un tipo de almacenamiento virtual de una pieza de dato que se pueden referenciar en un documento XML. Estos datos pueden ser datos de texto o binarios. En la figura 2.5 no se muestra ninguna entidad y en relación a este trabajo no se utilizarán. - 22 -.
(32) 4. Una Definición de Tipo de Documento (DTD), es una parte opcional de un documento XML el cual define la estructura que será permitido para la creación de un XML, es decir, podemos pensar que el DTD es una plantilla, la cual define los elementos y atributos que serán utilizados en un XML. Como se observa en la figura 2.5 el documento XML tiene una estructura de árbol. Esta estructura lo hace comparable con una tabla de una base de datos en el modelo relacional, es decir, la estructura XML se puede “mapear” a una tabla en el modelo relacional en donde cada elemento de un documento XML puede mapearse como los campos en la tabla. [18,19]. Las anidaciones en la estructura refleja que las etiquetas pueden contener otras etiquetas y debido a eso forma una estructura de árbol. Se ha descrito la forma de cómo se crea un XML con su estructura de etiquetas, sin embargo, el XML por si mismo no arroja funcionalidad alguna; para que el XML logre su objetivo se debe tener un mecanismo que analice el documento y que devuelva la información contenida en sus etiquetas. A este mecanismo se le llama “parseo” del documento XML y a las aplicaciones que realizan este análisis se les llama parsers, así el programador solamente tiene que saber utilizar estas aplicaciones. Existen dos tipos de parsers [20]: Parser basado en eventos: Este tipo de parser le reporta los eventos ocurridos directamente a la aplicación a través de métodos de comunicación de vuelta o callbacks. El acceso al documento es serial y las aplicaciones que utilizan este tipo de parsers deben de implementar el manejador de interfaces para poder recibir los eventos. Un ejemplo de este tipo de parser es el SAX (Simple API for XML). Parser basado en estructura de árbol: Este tipo de parser lee un documento XML completo y forma una estructura de árbol en memoria. Cada nodo del árbol representa una pieza de datos. Como todo el documento lo mantiene en memoria, esto permite a la aplicación manipular de manera fácil y rápida la información. Un ejemplo de este parser es el DOM (Document Object Model). En este trabajo, se utiliza el parser basado en estructura de árbol, específicamente el DOM, explicado en el párrafo anterior. Este modelo fue utilizado por sus características de llevar todo el documento XML a memoria y hacer más fácil y rápido el parseo del documento. El tiempo que se emplea para parsear el documento es el tiempo en que el parser “sube” el documento a memoria RAM, esto puede parecer lento para documentos grandes, sin embargo, una vez en memoria, el acceso a los nodos del árbol es mucho más rápido, y por lo tanto, la navegación del usuario en la biblioteca digital será rápida igual. Si se hubiera utilizado el parser basado en eventos, sería mucho más lento, ya que cada vez que el usuario seleccione alguna colección o documento, este se parsea y se lleva a memoria, haciendo con esto la navegación a través de la biblioteca muy lenta. En particular, el API del parser que se utilizó en este trabajo de tesis es el kxml para dispositivos móviles [39]. Las restricciones del uso del DOM radican en que hay que contemplar el tamaño del documento XML, ya que pueden ocurrir errores de memoria. - 23 -.
(33) insuficiente durante el parseo, sin embargo si se restringe a cierto tamaño del documento o capacidad de memoria el DOM es muy rápido y eficiente.. 2.1.8 Protocolo de comunicación en ambientes móviles Desde el nacimiento de Internet se han definido una serie de reglas para la comunicación entre diferentes sistemas de computadoras. Estas reglas o protocolos se han definido con el fin de que la comunicación sea adecuada y fluida. En los dispositivos móviles la comunicación también es posible. Se puede tener un sistema que provea información (servidor) a los dispositivos (clientes) y estos a su vez se comuniquen con el servidor. Para lograr esta comunicación es necesario utilizar algún protocolo. Los dispositivos móviles de hoy en día, soportan HTTP, que es el protocolo de hipertexto que se utiliza para comunicación en el Web entre computadoras clientes y servidores. Para la comunicación entre aplicaciones en los dispositivos móviles y aplicaciones remotas que pueden estar en un servidor o bien en otro dispositivo móvil existen algunos protocolos que toman en cuenta la capacidad de los dispositivos. Salinas [21] hace una comparación de dos protocolos para el intercambio de información entre sistemas: SOAP [34] y XML-RPC [22]. SOAP (Simple Object Access Protocol) es un protocolo de intercambio de información entre sistemas en un ambiente distribuido [34]. Se basa en una estructura XML que puede ser intercambiado entre los diferentes protocolos fundamentales y XML-RPC es un protocolo con una serie de implementaciones que permiten invocar procedimientos remotos (RPC por sus siglas en inglés de Remote Procedure Call) enviando mensajes con formato de documentos XML [22]. XML-RPC utiliza el protocolo HTTP como medio de transporte y utiliza XML como medio de codificación de datos. Aunque permite estructuras de datos complejas para ser transmitidas, procesadas y devueltas, XML-RPC está diseñado para ser lo más simple posible. Su funcionamiento lo describe la figura 2.3 obtenida de [22].. Figura 2.6: Funcionamiento del protocolo XML-RPC [22]. - 24 -.
Figure
Outline
Documento similar
Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el
La determinación molecular es esencial para continuar optimizando el abordaje del cáncer de pulmón, por lo que es necesaria su inclusión en la cartera de servicios del Sistema
1) La Dedicatoria a la dama culta, doña Escolástica Polyanthea de Calepino, señora de Trilingüe y Babilonia. 2) El Prólogo al lector de lenguaje culto: apenado por el avan- ce de
Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
o Si dispone en su establecimiento de alguna silla de ruedas Jazz S50 o 708D cuyo nº de serie figura en el anexo 1 de esta nota informativa, consulte la nota de aviso de la
Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de
Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y