S.E.P. S.E.S. D.G.E.S.T.
CENTRO NACIONAL DE INVESTIGACIÓN
Y DESARROLLO TECNOLÓGICO
cenidet
“GESTOR DE ACAPARAMIENTO DE SIT...
i
Resumen
En el presente reporte técnico se muestran los avances de la tesis titulada Gestor de
Acaparamiento de Sitios We...
ii
TABLA DE CONTENIDOS
I. INTRODUCCIÓN.......................................................................................
iii
VISUALIZACIÓN DE RECURSOS WEB EN DESCONEXIÓN (ACAPARADOS) .......................................... 31
VISUALIZACIÓN ...
iv
Figura 33. Transcodificación de contenidos Web a PDF. _______________________________________ 32
Figura 34. Transcodifi...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web
transcodificados para plataforma Pocket PC”...
Próxima SlideShare
Cargando en…5
×

Report2

178 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
178
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Report2

  1. 1. S.E.P. S.E.S. D.G.E.S.T. CENTRO NACIONAL DE INVESTIGACIÓN Y DESARROLLO TECNOLÓGICO cenidet “GESTOR DE ACAPARAMIENTO DE SITIOS WEB TRANSCODIFICADOS PARA PLATAFORMA POCKET PC” SEGUNDO REPORTE DE AVANCE CUATRIMESTRAL PRESENTA ING. JUAN CARLOS OLIVARES ROJAS Director de Tesis M.C. JUAN GABRIEL GONZÁLEZ SERNA Codirector de Tesis DRA. AZUCENA MONTES RENDÓN CUERNAVACA, MORELOS ABRIL DE 2006
  2. 2. i Resumen En el presente reporte técnico se muestran los avances de la tesis titulada Gestor de Acaparamiento de Sitios Web Transcodificados para Plataforma Pocket PC en donde se muestran de manera general las actividades realizadas así como los resultados obtenidos. En términos generales se tiene un avance del 70% general de todo el proyecto cumpliendo al 100% con los objetivos propuestos en la minuta del avance anterior. Este reporte técnico de actividades está organizado de la siguiente forma. En el apartado I se muestran la introducción a este tema de tesis, haciendo énfasis en la metodología de solución y la arquitectura propuesta. En el apartado II, se muestran los compromisos cumplidos en el período pasado esto con el objetivo de dar un breve repaso de lo que se hizo para una mejor ubicación de lo que es el trabajo actual. El apartado III Compromisos para este período es el tema central del presente reporte ya que es aquí donde se reportan las actividades realizadas durante este periodo entre las cuales destacan: diseño e implementación del GAP (Gestor de Acaparamiento Local, Pruebas), adaptación del GAP (ARM, MIPS, SH3), diseño e implementación del GAT (Analizador HTTP, Integración del Transcodificador, Integración del Acaparador, Sincronizador de la Caché); así como otras actividades que no estaban en el cronograma de actividades y que se realizaron. En el apartado IV, se detallan los compromisos por realizar para el siguiente período como es el caso del diseño e implementación del GAT (Gestor de Desconexión, Pruebas), Pruebas (Integración del GAP y GAT, Depuración) y por último la Redacción de Tesis (Pruebas, Capítulos, Revisiones). En el apartado V, se muestran todos los resultados y logros que se han obtenido durante el desarrollo de este trabajo de tesis, como son las publicaciones de artículos, los casos de prueba (visualización de recursos Web en línea, en desconexión, en distintos formatos, visualización del estado de las peticiones, de la configuración del sistema, etc.) del sistema, entre otros. En el apartado VI, se dan las conclusiones o sumario de este reporte. Para finalizar, en el capítulo VII, se muestran toda la literatura empleada en el desarrollo de este trabajo de tesis y en el presente reporte.
  3. 3. ii TABLA DE CONTENIDOS I. INTRODUCCIÓN...................................................................................................................... 1 METODOLOGÍA DE SOLUCIÓN Y ARQUITECTURA................................................................ 1 II. COMPROMISOS CUMPLIDOS (PASADOS)...................................................................... 4 III. COMPROMISOS PARA ESTE PERÍODO ............................................................................ 5 5 DISEÑO E IMPLEMENTACIÓN DEL GAP......................................................................................... 5 GESTOR DE ACAPARAMIENTO LOCAL................................................................................................. 5 PRUEBAS.............................................................................................................................................. 6 ANEXOS............................................................................................................................................... 6 6. ADAPTACIÓN DEL GAP................................................................................................................ 14 ARM.................................................................................................................................................. 15 MIPS ................................................................................................................................................. 15 SH3.................................................................................................................................................... 15 7. DISEÑO E IMPLANTACIÓN DEL GAT........................................................................................... 15 ANALIZADOR HTTP.......................................................................................................................... 16 INTEGRACIÓN DEL TRANSCODIFICADOR........................................................................................... 16 INTEGRACIÓN DEL ACAPARADOR ..................................................................................................... 24 SINCRONIZADOR DE CACHÉ .............................................................................................................. 25 OTRAS ACTIVIDADES REALIZADAS EN ESTE PERÍODO................................................................... 27 IV. COMPROMISOS SIGUIENTE PERÍODO........................................................................... 27 7. DISEÑO E IMPLEMENTACIÓN DEL GAT...................................................................................... 28 GESTOR DE DESCONEXIÓN ................................................................................................................ 28 PRUEBAS............................................................................................................................................ 28 8. PRUEBAS ....................................................................................................................................... 28 INTEGRACIÓN DEL GAP Y GAT........................................................................................................ 28 DEPURACIÓN ..................................................................................................................................... 28 9. REDACCIÓN DE TESIS................................................................................................................... 29 PRUEBAS............................................................................................................................................ 29 CAPÍTULOS ........................................................................................................................................ 29 REVISIONES ....................................................................................................................................... 29 V. RESULTADOS Y LOGROS IMPORTANTES ...................................................................... 29 PUBLICACIONES ............................................................................................................................... 29 ARTÍCULOS........................................................................................................................................ 29 LOGROS ............................................................................................................................................. 30 CASOS DE PRUEBA............................................................................................................................ 30 VISUALIZACIÓN DE RECURSOS WEB EN LÍNEA. ................................................................................ 30
  4. 4. iii VISUALIZACIÓN DE RECURSOS WEB EN DESCONEXIÓN (ACAPARADOS) .......................................... 31 VISUALIZACIÓN DE RECURSOS EN DISTINTOS FORMATOS................................................................. 32 VISUALIZACIÓN DEL ESTADO DE LAS PETICIONES ............................................................................ 33 VISUALIZACIÓN DE LA CONFIGURACIÓN DEL SISTEMA..................................................................... 34 PRUEBAS MULTIPLATAFORMA .......................................................................................................... 35 VI. CONCLUSIONES .................................................................................................................... 36 VI. REFERENCIAS Y BIBLIOGRAFÍA..................................................................................... 36 Lista de figuras Figura 1. Modelo general de solución. _______________________________________________________ 2 Figura 2. Arquitectura Moviware de la cual está basado este trabajo. ______________________________ 3 Figura 3. Esquema a bloque de los componentes. ______________________________________________ 3 Figura 4. Arquitectura general del proyecto. __________________________________________________ 4 Figura 5. Cronograma de actividades del período anterior. ______________________________________ 4 Figura 6. Cronograma de actividades del período actual. ________________________________________ 5 Figura 7. Diagrama de caso de uso del GAP.__________________________________________________ 6 Figura 8. Diagrama de clases del GAP. ______________________________________________________ 7 Figura 9. Diagrama de secuencia cuando el recurso no está en la caché y existe patrón de acaparamiento._ 7 Figura 10. Diagrama de secuencia para el caso de uso de configuración del GAP. ____________________ 8 Figura 11. Diagrama de secuencia para la visualización de error cuando no existe conexión y el recurso no está en la caché. ________________________________________________________________________ 8 Figura 12. Escenario de visualización de error cuando existe conexión, el recurso no está en la caché y no se pudo obtener recurso en línea. _____________________________________________________________ 9 Figura 13. Diagrama de secuencia para la visualización de errores cuando existe conexión, el recurso no está en la caché, se pudo obtener en línea pero no transcodificar.__________________________________ 9 Figura 14. Diagrama de secuencia del escenario cuando existe conexión, el recurso no está en la caché, y existe patrón de acaparamiento. ___________________________________________________________ 10 Figura 15. Diagrama de secuencia para el escenario cuando existe conexión, el recurso no está en la caché, y el recurso se obtiene en línea. ___________________________________________________________ 10 Figura 16. Diagrama de secuencia que modela el escenario cuando existe conexión, el recurso no está en la caché, y el recurso se obtiene en línea mediante transcodificación.________________________________ 11 Figura 17. Diagrama de secuencia para el escenario donde el recurso está en la caché sin importar la conexión. _____________________________________________________________________________ 11 Figura 18. Diagrama de secuencia para el caso de uso de visualización de peticiones.________________ 12 Figura 19. Diagrama de actividades del procesamiento de acaparamiento. _________________________ 12 Figura 20. Diagrama de actividades del proceso de desconexión en el GAP. ________________________ 13 Figura 21. Diagrama de acceso a un recurso de la caché._______________________________________ 13 Figura 22. Diagrama de actividades del proceso de transcodificación._____________________________ 22 Figura 23. Proceso de transcodificación del documento.________________________________________ 22 Figura 24. Modelo-Vista-Controlador en el GAT MT. __________________________________________ 23 Figura 25. GAT MT funcionamiento de proxy. ________________________________________________ 23 Figura 26. GAT MT mecanismo transcodificador. _____________________________________________ 24 Figura 27. Diagrama de clases del GAT MA._________________________________________________ 25 Figura 28. Diagrama de actividades del proceso de sincronización de la caché en el GAP._____________ 26 Figura 29. Sincronización de la caché en el GAT MA.__________________________________________ 26 Figura 30. Caso de prueba número 1._______________________________________________________ 31 Figura 31. Caso de prueba número 2._______________________________________________________ 31 Figura 32. Caso de prueba número 3._______________________________________________________ 32
  5. 5. iv Figura 33. Transcodificación de contenidos Web a PDF. _______________________________________ 32 Figura 34. Transcodificación de recursos Web a WML._________________________________________ 33 Figura 35. Transcodificación de contenidos Web a XHTML-MP. _________________________________ 33 Figura 36. Visualización del estado de las peticiones en línea. ___________________________________ 34 Figura 37. Opciones de configuración del GAP _______________________________________________ 35 Figura 38. Ejecución del GAP en Windows: "WinGAP". ________________________________________ 35 Figura 39. Ejecución del GAP en un Smartphone con Windows Mobile: "SmartGAP". ________________ 36 Lista de tablas Tabla 1. Estructura del archivo contenedor de patrones. _______________________________________ 14 Tabla 2. Archivo patrón del sitio Web http://www.cenidet.edu.mx/ ________________________________ 14 Tabla 3. Archivo de configuración del GAP. _________________________________________________ 14 Tabla 4. Encabezado de una petición HTTP después de haber pasado por el GAP. ___________________ 16 Tabla 5. Documento HTML original. _______________________________________________________ 17 Tabla 6. Documento transformado en XHTML. _______________________________________________ 18 Tabla 7. Documento en XML. _____________________________________________________________ 18 Tabla 8. Archivo intermedio generado.______________________________________________________ 19 Tabla 9. Extracto de la plantilla generada para PDF __________________________________________ 20 Tabla 10. Documento generado en WML.____________________________________________________ 21 Tabla 11. Encabezado de respuesta generado. ________________________________________________ 21 Tabla 12. Selección del puerto 10800 del GAP por parte de la IANA. ______________________________ 30 Tabla 13. Muestra de la bitácora del GAP.___________________________________________________ 34
  6. 6. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 1 I. Introducción La presente sección tiene como finalidad dar un pequeño repaso de lo que es este trabajo de tesis, describiendo los aspectos básicos del trabajo como son descripción del problema, alcances y limitaciones, objetivos y beneficios; así como una breve introducción al tema. En un mundo donde la información es pilar en la sociedad, el acceso a ésta se ha vuelto de suma importancia en los últimos años. Actualmente el sueño de acceder a la información desde cualquier lugar, en todo momento y a través de cualquier medio se está realizando gracias en gran medida a los dispositivos móviles. Los dispositivos móviles hoy en día son muy diversos entre los cuales destacan los teléfonos celulares, los PDAs, los handhelds, entre otros. La creciente popularización de tales dispositivos se ha debido en gran parte a dos fenómenos: el auge de redes inalámbricas y, la creciente miniaturización de componentes a precios realmente accesible a los consumidores. La problemática que presentan los dispositivos móviles se refiere básicamente al hecho de que los recursos disponibles en la Web en la gran mayoría de los casos no están diseñados para esta nueva clase de aparatos [Alarcón02]. Por otra parte, la Web está basada en HTTP/TCP lo cual hace que sea orientada a conexión. En dichos protocolos se requieren de conexiones persistentes y fiables entre los clientes y los servidores, de lo contrario las transacciones no pueden lograrse. Desafortunadamente los dispositivos móviles presentan características totalmente distintas a las que se presentan en una arquitectura cliente/servidor tradicional: no se puede garantizar enlaces confiables y persistentes la mayoría del tiempo, es por esto que no se pueden visualizar recursos Web [González02a]. Para solucionar el problema de la visualización de recursos de la Web en dispositivos móviles se hace uso de dos conceptos básicos: el acaparamiento y la transcodificación de contenidos Web. Por acaparamiento se entiende el proceso de replicación y procesamiento de datos en desconexión que han sido copiados al cliente móvil [Valenzuela02]. De esto ya se abundó en el estado del arte del reporte anterior, pero la mejor analogía para entender el proceso es hablar de una “recarga de datos”, así como los dispositivos móviles necesitan de recargar sus baterías para tener autonomía y lograr su movilidad, los dispositivos móviles necesitan. Por transcodificación se entiende el proceso de conversión y adaptación de un recurso en la Web para que se ajuste en un dispositivo móvil y pueda ser visualizado de la mejor manera posible [Uriarte04]. El objetivo principal de este trabajo es desarrollar un prototipo de agente (servicio) intermediario para dispositivos Pocket PC 2000, que gestione el acaparamiento de páginas Web cuando se presenten eventos de desconexión. La meta de este trabajo es que la Web este a un tap (punteo) de distancia por parte de los usuarios; es decir; que la Web este presente en el bolsillo de los usuarios. Metodología de solución y arquitectura El objetivo de este apartado es mostrar de manera breve como se está solucionando el problema, esto es de suma importancia para entender el contexto donde está ubicado este trabajo ya que se define una terminología propia de esta investigación.
  7. 7. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 2 Para solucionar este problema se planteo una variación a la arquitectura cliente/servidor con intermediarios. Esto con la finalidad de mantener sin cambios tanto a las aplicaciones clientes como servidoras. Este esquema puede ser visto en la Figura 1. Figura 1. Modelo general de solución. Para ello se proponen dos servicios intermediarios uno en el lado cliente y otro en el lado servidor. El servicio intermediario en el lado cliente recibe el nombre de GAP (Gestor de Acaparamiento para Pocket PC) y el servicio en el lado cliente recibe el nombre de GAT (Gestor de Acaparamiento y Transcodifcación). Este proyecto forma parte de la plataforma de Software desarrollada en el cenidet denominada Moviware (básicamente un middleware para dispositvos móviles) cuya finalidad es brindar una serie de servicios a clientes móviles que están propensos a desconexiones frecuentes [González03]. En la Figura 2, se muestra gráficamente donde está inmerso el presente trabajo. El desarrollo de este trabajo se centra en el GAP (círculo continuo) dado que este servicio intermediario en el lado cliente se ejecuta en dispositivos móviles Pocket PC y hasta el momento no se ha encontrado referencias de algo similar; por otra parte, también es importante el GAT (círculo con líneas en cuadros) que surge de la integración de dos módulos de la arquitectura Moviware: del Acaparador [Verduzco03] y del Transcodificador [Uriarte04]. Las entradas de este proyecto dependen de los patrones obtenidos por el módulo Minero (círculo con líneas punteadas circularmente). El GAP esta formado por tres partes básicas: un observador, un GAL (Gestor de Acaparamiento Local) y un GDL (Gestor de Desconexiones Locales). Es la parte más novedosa de este trabajo de tesis por que existen pocos servicios de red para esta clase de plataforma. Además de ser el primer desarrollo totalmente ejecutable en esta clase de dispositivos. Por otra parte, el GAT está formado por dos componentes: el MA (Mecanismo
  8. 8. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 3 Acaparador) encargado de interpretar los patrones generados por el minero de bitácoras Web [Hernández05], descargar el patrón, comprimirlo y enviarlo al cliente móvil; y el MT (Mecanismo Transcodificador) que es el encargado de transformar, reformatear y adaptar el contenido Web para el cliente móvil. Esto se puede visualizar en la Figura 4. En la Figura 3 se muestra de modo generalizado la forma en como interactúan los distintos componentes desarrollados. Se nota que la comunicación se realiza a través de encabezados de solicitud y respuesta en HTTP. Figura 2. Arquitectura Moviware de la cual está basado este trabajo. Figura 3. Esquema a bloque de los componentes.
  9. 9. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 4 Figura 4. Arquitectura general del proyecto. II. Compromisos cumplidos (pasados) En la revisión anterior se cumplieron las actividades pasadas (se tenían problemas con el Observador y GDL pero se tenía de adelanto un porcentaje de esta actividad). El periodo pasado se aceptó un 36.25% de avance a este trabajo. Las actividades realizadas se muestran en la Figura 5. # C o n c e p t o 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 E v a lu a c ió n d e h e r r a m ie n t a s E m b e d d e d V is u a l T o o ls V is u a l S t u d i o . N e t J a v a 2 M ic r o E d i t io n O t r a s h e r r a m ie n t a s C o m p a r a t iv a s 2 A n a lis is d e r e c u r s o s a a c a p a r a r T a m a ñ o T ip o d e r e c u r s o s E s t r u c t u r a d e a lm a c e n a m ie n t o D o c u m e n t a c ió n 3 E s t u d io h e r r a m ie n t a s e le c c io n a d a 4 E s t u d io d e M o v iw a r e A c a p a r a d o r C o n t e n e d o r d e P a t r o n e s T r a n s c o d if ic a d o r G e s t o r d e d e s c o n e x ió n D o c u m e n t a c ió n 5 D is e ñ o e im p le m e n t a c ió n d e l G A P O b s e r v a d o r G e s t o r d e D e s c o n e x ió n L o c a l S E P T O C T N O V D I C 100% 100% 100% 100% 100% # C o n c e p t o 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 E v a lu a c ió n d e h e r r a m ie n t a s E m b e d d e d V is u a l T o o ls V is u a l S t u d i o . N e t J a v a 2 M ic r o E d i t io n O t r a s h e r r a m ie n t a s C o m p a r a t iv a s 2 A n a lis is d e r e c u r s o s a a c a p a r a r T a m a ñ o T ip o d e r e c u r s o s E s t r u c t u r a d e a lm a c e n a m ie n t o D o c u m e n t a c ió n 3 E s t u d io h e r r a m ie n t a s e le c c io n a d a 4 E s t u d io d e M o v iw a r e A c a p a r a d o r C o n t e n e d o r d e P a t r o n e s T r a n s c o d if ic a d o r G e s t o r d e d e s c o n e x ió n D o c u m e n t a c ió n 5 D is e ñ o e im p le m e n t a c ió n d e l G A P O b s e r v a d o r G e s t o r d e D e s c o n e x ió n L o c a l S E P T O C T N O V D I C 100% 100% 100% 100% 100% Figura 5. Cronograma de actividades del período anterior.
  10. 10. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 5 III. Compromisos para este período Se cumplieron al 100% las actividades de este periodo (terminar el diseño e implementación del GAP así como tener al menos el 50% del diseño e implementación del GAT), logrando un poco más de lo previsto. El porcentaje de avance de esta tesis que proponemos es del 70% incluyendo redacción de tesis. Las actividades realizadas durante este período se muestran el cronograma de la Figura 6. A continuación se describe cada actividad realizada. Figura 6. Cronograma de actividades del período actual. 5 Diseño e implementación del GAP En este cuatrimestre se continuó con el diseño y la implementación del GAP. También se modificaron y actualizaron los diversos módulos por lo que se tuvo que cambiar el diseño original propuesto para esta actividad. A continuación se detalla con mayor precisión cada una de las actividades realizadas. Gestor de Acaparamiento Local Es el encargado de administrar los recursos de la caché y mostrárselos a los usuarios, así como de la sincronización de los recursos de la caché entre otras actividades. Como se mencionó esta actividad se tenia adelantada un 30% del período pasado pero en este período se concluyó al 100%. En este momento este módulo no se ha probado en su totalidad debido a la problemática de que no existen implementaciones del algoritmo
  11. 11. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 6 zip en .NET Compact Framework y las herramientas que se han encontrado son demos o limitadas. Se acaba de conseguir una herramienta al parecer de libre distribución. También se revisaron protocolos e implementaciones para lograr la mejor forma de transmisión de los recursos acaparados (está por verse si se implementa algo así). Pruebas Se han realizado pruebas de unidad de los módulos del GAP funcionando correctamente (faltan pruebas de integración de todo sistema que se realizará el próximo cuatrimestre). Las pruebas se detallan en el apartado de resultados. Anexos Diseño del GAP (actualizado con respecto a las modificaciones) Diagrama de casos de uso Figura 7. Diagrama de caso de uso del GAP. Diagrama de clase Sólo se muestra el diagrama general del proyecto omitiendo métodos y propiedades de cada clase.
  12. 12. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 7 Figura 8. Diagrama de clases del GAP. Diagrama de secuencias Figura 9. Diagrama de secuencia cuando el recurso no está en la caché y existe patrón de acaparamiento.
  13. 13. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 8 Figura 10. Diagrama de secuencia para el caso de uso de configuración del GAP. Figura 11. Diagrama de secuencia para la visualización de error cuando no existe conexión y el recurso no está en la caché.
  14. 14. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 9 Figura 12. Escenario de visualización de error cuando existe conexión, el recurso no está en la caché y no se pudo obtener recurso en línea. Figura 13. Diagrama de secuencia para la visualización de errores cuando existe conexión, el recurso no está en la caché, se pudo obtener en línea pero no transcodificar.
  15. 15. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 10 Figura 14. Diagrama de secuencia del escenario cuando existe conexión, el recurso no está en la caché, y existe patrón de acaparamiento. Figura 15. Diagrama de secuencia para el escenario cuando existe conexión, el recurso no está en la caché, y el recurso se obtiene en línea.
  16. 16. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 11 Figura 16. Diagrama de secuencia que modela el escenario cuando existe conexión, el recurso no está en la caché, y el recurso se obtiene en línea mediante transcodificación. Figura 17. Diagrama de secuencia para el escenario donde el recurso está en la caché sin importar la conexión.
  17. 17. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 12 Figura 18. Diagrama de secuencia para el caso de uso de visualización de peticiones. Diagrama de actividades Figura 19. Diagrama de actividades del procesamiento de acaparamiento.
  18. 18. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 13 Figura 20. Diagrama de actividades del proceso de desconexión en el GAP. Arquitectura de la caché Figura 21. Diagrama de acceso a un recurso de la caché.
  19. 19. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 14 Modificación de archivos XML de configuración, contenedor de patrones y patrones: Tabla 1. Estructura del archivo contenedor de patrones. <?xml version="1.0" encoding="UTF-8" ?> <cache> <peticion sitio="http://www.cenidet.edu.mx/" patron="cenidet.xml" fecha="10/10/2005" formato=”PDF”/> <peticion sitio="http://www.itcolima.edu.mx/" patron="itmorelia.xml" fecha="10/10/2005" formato=”WML”/> … </cache> Tabla 2. Archivo patrón del sitio Web http://www.cenidet.edu.mx/ <?xml version="1.0" encoding="UTF-8" ?> <recursos> <acaparado nombre="/index.html" ubicacion="index.html" /> <acaparado nombre="/css/general.css" ubicacion="general.css" /> … </recursos> Tabla 3. Archivo de configuración del GAP. <?xml version="1.0" encoding="UTF-8"?> <GASWT> <GAT ip="192.168.190.33" puerto="2700" transformador="0" ipMA="192.168.190.33" puertoMA="1800" formato=“WML”/> <GAP ip="127.0.0.1" puerto="10800" cache="" indice="patrones.xml" conexion="1" /> <ALMACENAMIENTO espacio="64248" longitud="4096" maximo="101" tipos="*.jpg|*.gif|*.css|*.pdf" /> </GASWT> 6. Adaptación del GAP Esta actividad salió de manera directa al desarrollar nuestro prototipo en un ambiente multiplataforma por lo que nos evitamos esta tarea que si bien no es de alta complejidad si era consumidora de tiempo. La mayoría de las pruebas se han realizado directamente sobre los dispositivos, en otros casos con emuladores o probado directamente sobre otros equipos como computadoras de escritorio y teléfonos inteligentes. Por simplicidad hemos denominado WinGAP a la versión que se ejecuta sobre Windows de escritorio y SmartGAP a la versión que se ejecuta en Windows Mobile.
  20. 20. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 15 ARM Es el microprocesador más utilizado en esta plataforma. Desde la versión 2002, para Pocket PC y Smartphone es el único microprocesador soportado; sin embargo, se sigue soportando en todas las versiones de Windows CE. Se ha probado el funcionamiento de esta clase de microprocesador en una Compaq iPAQ h3630 (PPC 2000), HP Jornada 5450 (PPC 2002) y HP iPAQ rx3115 (PPC 2003). MIPS Este microprocesador se sigue utilizando en dispositivos móviles heterogéneos como en algunas consolas de videojuegos. En teoría se garantiza que el programa realizado funciona adecuadamente en esta plataforma debido a que se cuenta con código gestionado en .NET Compact Framework. Se ha probado el desarrollo en este caso con emuladores. SH3 Esta otra familia de microprocesadores. Al igual que en el microprocesador anterior, no se cuenta con un dispositivo que tenga este microprocesador para realizar la prueba. Pero se ha probado con éxito en el emulador de Pocket PC. 7. Diseño e implantación del GAT Esta es una de las actividades principales de este período. En un principio (actividad 4 ‘Estudio de Moviware’) se había determinado la forma en que se pretendía integrar dichos servicios. En un principio se mencionaron tres alternativas: 1. Dejar los módulos como tal y realizar un middleware que gestionará la integración. 2. Ver la funcionalidad de cada módulo y hacer una adaptación en un solo programa. 3. Rediseñar nuevamente todo. Se había determinado que la mejor opción era la segunda ya que permitía mejorar el proceso pero también era complicado hacerlo no tanto como la tercera pero más que la primera. La alternativa que se eligió para integrar dichos módulos consistió básicamente en realizar pequeñas modificaciones (en algunos casos de suma consideración) para que el sistema funcionase. Se eligió este esquema ya que permite que las aplicaciones anteriores puedan ejecutarse, por que se observó que el flujo de trabajo sería el mismo y no se ahorraría nada en integrarlo completamente. Además el tiempo de implementación se vería reducido en cierto grado. A continuación se muestran las actividades realizadas, su porcentaje de avance y su diseño de manera general.
  21. 21. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 16 Analizador HTTP Aquí básicamente las modificaciones consistieron en agregar un módulo tanto en el GAT MT como GAT MA para que interprete los nuevos encabezados generados en el GAP como es el caso del encabezado X-Transform que como se verá mas adelante sirve para indicar que se quiere transcodificar el contenido a cierto formato. También se detecta si el usuario quiere realizar transcodificación o no, para ello en el GAP si el cliente no es Pocket PC se agrega al encabezado User-Agent: el valor de Windows CE GAP, ya que el GAT MT detecta la presencia de está línea en el encabezado y realiza transcodificación; en el caso contrario, en el que un dispositivo Pocket PC no quiera obtener recursos transcodificados se cambia el valor de Windows CE por cualquier otro, en este caso por ‘Servidor GAP’. Esta actividad está terminada al 100%. Tanto el GAT MT como MA se agregó al archivo de configuración el parámetro Formato, que indica el tipo de formato que se aplicará de manera predeterminada a la transcodificación (anteriormente sólo se utilizaba HTML). Integración del Transcodificador Para realizar la Transcodificación se revisaron tanto las entradas como las salidas del proceso. Durante la fase de modificación de este módulo se cambió la manera de generar diferentes versiones (formatos) de la página Web. Este es un alcance que no está dentro de este trabajo de tesis pero se decidió hacerlo por lo que nuestra herramienta es posible convertir un recurso Web en HTML a WML, XHTML-MP, HTML reformateado y PDF. El proceso para realizar la transformación es el siguiente. El GAP se encarga de interceptar todas las peticiones a recursos HTTP, generando un nuevo encabezado denominado X-Transform, tal y como se muestra a continuación. Tabla 4. Encabezado de una petición HTTP después de haber pasado por el GAP. GET http://www.cenidet.edu.mx/ HTTP/1.0 Accept: */* UA-OS: Windows CE (Pocket PC) –Version 3.0 UA-Color: Color16 UA-Pixeles: 240x320 UA-CPU: ARM SA1110 UA-Voice: False UA-Language: Mozilla/2.0 Accept-Encoding: gzip, deflate User-Agent: Mozilla/2.0 (Compatible; MSIE 3.02; Windows CE; PPC; 240x320) Host: www.itmorelia.edu.mx Proxy-Connection: Keep-Alive X-Transform: XHTML-MP Una vez identificado el formato se procede con la transformación del recurso como a continuación se muestra.
  22. 22. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 17 El primer paso consiste en determinar el tipo de recurso, si el recurso es diferente de HTML el transcodificador funciona como cualquier otro Web Proxy. Si el recurso es HTML se procede a su descarga, es necesario tener el documento completo ya que de lo contrario no es posible operar con él. Tabla 5. Documento HTML original. <HTML> <Head><title>Prueba del transcodificador</title></head> <Body> <center> <h1>Prueba del transcodificador</h1> </center> <p>Página de prueba <br> Diseñado por < a href=”malito:jcolivares04c@cenidet.edu.mx”>Juan Carlos Olivares Rojas </a><hr> Centro Nacional de Investigación y Desarrollo Tecnológico <i>(cenidet)</i> <a ref.=”http://www.cenidet.edu.mx”> <img src=”cenidet.jpg” alt=”cenidet”></a> <table> <tr> <td>Area:</td> <td>Sistemas Distribuidos</td> <td><a ref.=”http://www.sd-cenidet.com.mx”> http://www.sd-cenidet.com.mx </a></td> </tr> <tr> <td> Especialización: </td> <td> Cómputo móvil </tD> <td> <a ref.=”http://www.cenidet.edu.mx/~wm-serna/”> http://www.cenidet.edu.mx/~wm-serna </a></TD> </tr> </table> </body> </html> Una vez descargado el recurso, se procede a convertir el documento de HTML a XHTML, el cual es un documento con las mismas características que el documento HTML pero con la salvedad de que está bien formado y es válido (dado que es un documento basado en XML). Esta transformación se realiza con JTidy que es un convertidor de XHTML para Java. Los errores y alertas generados se guardan en el archivo erroresXHTML.txt
  23. 23. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 18 Tabla 6. Documento transformado en XHTML. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head><title>Prueba del transcodificador</title></head> <body> <center> <h1>Prueba del transcodificador</h1> </center> <p>Página de prueba <br /> Diseñado por < a href.=”malito:jcolivares04c@cenidet.edu.mx”>Juan Carlos Olivares Rojas </a><hr /> Centro Nacional de Investigación y Desarrollo Tecnológico <i>(cenidet)</i> <a ref.= <img src=”cenidet.jpg” alt=”cenidet”> </img> </P> <table> <tr> <td>Area:</td> <td>Sistemas Distribuidos</td> <td><a href.=”http://www.sd-cenidet.com.mx”> http://www.sd-cenidet.com.mx </a></td> </tr> <tr> <td> Especialización: </td> <td> Cómputo móvil </td> <td> <a ref.=”http://www.cenidet.edu.mx/~wm-serna/”> http://www.cenidet.edu.mx/~wm-serna </a></td> </tr> </table> </body> </html> Una vez obtenido el documento XHTML (si es que no ha ocurrido un error grave), el modelo se convierte a XML añadiendo los encabezados respectivos para posteriormente subirlo a memoria y procesarlo. Tabla 7. Documento en XML. <?xml version="1.0" encoding="iso-8859-1"?> <html> <head><title>Prueba del transcodificador</title></head> <body> <center> <h1>Prueba del transcodificador</h1> </center> <p>Página de prueba <br /> Diseñado por < a href.=”malito:jcolivares04c@cenidet.edu.mx”>Juan Carlos Olivares Rojas </a><hr /> Centro Nacional de Investigación y Desarrollo Tecnológico <i>(cenidet)</i>
  24. 24. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 19 <a ref.= <img src=”cenidet.jpg” alt=”cenidet”> </img> </p> <table> <tr> <td>Area:</td> <td>Sistemas Distribuidos</td> <td><a href.=”http://www.sd-cenidet.com.mx”> http://www.sd-cenidet.com.mx </a></td> </tr> <tr> <td> Especialización: </td> <td> Cómputo móvil </td> <td> <a href.=”http://www.cenidet.edu.mx/~wm-serna/”> http://www.cenidet.edu.mx/~wm-serna </a></td> </tr> </table> </body> </html> Estando el documento en memoria es posible aplicarle un reformateo al documento extrayendo toda la información relevante del documento como es el título, el texto, las imágenes y los enlaces con base en esta información primeramente se construyen un archivo intermedio reflejando el nuevo formato y una plantilla de transformación. Para realizar esta transformación se genera un archivo intermedio eliminando todos los elementos que causan ruido en el documento y que no se pueden mostrar de manera adecuada en el dispositivo, tal es el caso de tablas, formularios, marcos, etc. A este documento intermedio será al que se le aplique el proceso de transformación a otros formatos si es que no se presentó ningún error a la hora de realizar la transformación. Tabla 8. Archivo intermedio generado. <html> <head><title>Prueba del transcodificador</title></head> <body> <h1>Prueba del transcodificador</h1> <p>Página de prueba <br /> Diseñado por <hr /> Centro Nacional de Investigación y Desarrollo Tecnológico <i>(cenidet)</i> <a ref.= <img src=”cenidet.jpg” alt=”cenidet”> </img> Area Sistemas Distribuidos Especialización: Cómputo móvil <p>Enlaces</p> <p><a href.=”http://www.cenidet.edu.mx/~wm-serna/”> http://www.cenidet.edu.mx/~wm-serna </a></p> <p><a href.=”http://www.sd-cenidet.com.mx”> http://www.sd-cenidet.com.mx </a></p>
  25. 25. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 20 <p>< a href.=”malito:jcolivares04c@cenidet.edu.mx”>Juan Carlos Olivares Rojas </a></p> </body> </html> Esta plantilla depende del formato seleccionado en X-Transform la cual se basa en el documento en cuestión (WML, XHTML, PDF) para generar el nuevo documento. La transformación se basa en dos tecnologías de XSL: XSLT y XSL-FO. La primera para transformar documentos basados en XML a otros documentos basados en XML (WML, XHTML, o cualquier otro lenguaje de marcado como podría ser RDF, OWL, MathML, UIML, VoiceML, etc.). La segunda tecnología se enfoca a documentos no basados en XML como es el caso de PDF, RTF, PS, entre otros. Tabla 9. Extracto de la plantilla generada para PDF <?xml version='1.0' encoding='iso-8859-1'?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:output method="xml" indent="yes"/> <xsl:template match="html"> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"> <fo:layout-master-set>…. <fo:block font-family="Helvetica" font-size="18pt" text-align="end" space- before="2cm"> GAT MT X-transform Convertidor de recursos Web a PDF </fo:block> <fo:block font-weight="bold" color='blue'> Prueba del transcodificador</fo:block> <fo:block font-size="12pt"> <xsl:value-of select="body" /><xsl:text> </xsl:text> <fo:block font-size="12pt" color='red'> * Imágenes *</fo:block> <fo:block><fo:external-graphic src='cenidet.jpg' height='1.4cm' width='2.0cm' scaling='uniform' /></fo:block> <fo:block font-size="12pt" color='red'> * Enlaces * <fo:basic-link external-destination='http://www.cenidet.edu.mx/~wm-serna' color='blue'>http://www.cenidet.edu.mx/~wm-serna/ </fo:basic-link> … </xsl:template> </xsl:stylesheet>
  26. 26. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 21 Tabla 10. Documento generado en WML. <wml> <card title=”Prueba del transcodificador”> <p><big>Prueba del transcodificador</big></p> <p>Página de prueba Diseñado por Centro Nacional de Investigación y Desarrollo Tecnológico (cenidet) Area Sistemas Distribuidos Especialización: Cómputo móvil </p> <p>* Imágenes *</p> <p> <a ref.= <img src=”cenidet.jpg” alt=”cenidet”> </img> </p> <p>* Enlaces * </p> <p><a href.=”http://www.cenidet.edu.mx/~wm-serna/”> http://www.cenidet.edu.mx/~wm-serna </a></p> <p><a href.=”http://www.sd-cenidet.com.mx”> http://www.sd-cenidet.com.mx </a></p> <p>< a href.=”malito:jcolivares04c@cenidet.edu.mx”>Juan Carlos Olivares Rojas </a></p> </card> </wml> Una vez realizada la transformación se devuelve el recurso en caso de éxito o se muestra el mensaje de error. Es importante en la respuesta construir un encabezado de respuesta con el tipo MIME respectivo para que el usuario Tabla 11. Encabezado de respuesta generado. HTTP/1.0 200 Ok Server: cenidet GAP Content-Type: text/wml Content-Length: 100 El proceso de transformación se visualiza en los siguientes diagramas de actividades (Figura 22, Figura 23).
  27. 27. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 22 Figura 22. Diagrama de actividades del proceso de transcodificación. Esquematizando el proceso de transformación podría verse como una implementación del patrón de diseño Modelo-Mista-Controlador (MVC) el cual grosso modo consiste en separar los datos de un programa o lógica del negocio (modelo), la forma de interacción del sistema con el usuario y con otras partes del mismo sistema; es decir, la entrada o el proceso (controlador) y la forma en como se muestran los datos (vista). En nuestro caso el modelo corresponde al recurso original (html), el controlador representa el GAT MT (ya que indica como debe ser procesado el modelo), y la vista son los recurso transcodificados en los diferentes formatos tal y como se muestra en la Figura 24. Figura 23. Proceso de transcodificación del documento.
  28. 28. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 23 Figura 24. Modelo-Vista-Controlador en el GAT MT. Debido a la gran variedad de formatos en los cuales se puede convertir el documento es necesario llevar un control efectivo de los distintos tipos de caché, para lo cual se modificó el mecanismo de control de la caché para mantener el mismo sitio Web en diferentes formatos. Esta actividad está terminada al 100% pero es susceptible a mejoras, el problema radica en que el tiempo es corto para terminarlas pero se verá que cosas no son tan consumidoras de tiempo y que pueden implementarse. En las Figura 25 y Figura 26, se muestran los diagramas de clase donde en los recuadros se marca todos aquellos métodos y propiedades que se agregaron y/o modificaron del módulo transcodificador, las pequeñas modificaciones no se ven reflejadas. Figura 25. GAT MT funcionamiento de proxy.
  29. 29. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 24 Figura 26. GAT MT mecanismo transcodificador. Integración del Acaparador Para realizar esta actividad nuevamente se volvieron a revisar entradas y salidas del proceso MA. Se agregó un campo para determinar el tipo de recurso que debe enviarse al MT si es que se requiere realizar transcodificación. También Se descubrió que el MT revisa el encabezado User-Agent de una petición HTTP por lo que si cambiamos el encabezado de la petición por uno distinto a Windows CE, PalmPilot, Epoc no se realizará transformación (esto es útil si se desea tener una cache sin transcodificar) con esto logramos que el MA pueda pedir los recursos al MT y así tener caché normal y cachés transcodificadas. También se arregló el sistema de control de recursos para que pueda trabajar con varios sitios (la versión que se modificó solo podía acaparar) Esta actividad está finalizada en un 100% (quizás menos) El mayor reto consiste en interpretar los patrones disponibles dado que no se cuenta con muchas bitácoras, el proceso de minado es demasiado lento y costoso computacionalmente hablando por lo que se deben generar patrones sintéticos para probar la herramientas (o archivo zip ya
  30. 30. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 25 replicados). Pero esta parte tiene que ver más con las pruebas que con el proceso de integración. Una mejora podría ser que el usuario directamente en el servidor escogiera el recurso acaparado (seleccionando todo aquello que el quisiera replicar), se tendría una módulo que pidiera recursos y los actualizará en el sistema. (La responsabilidad caería en el manejador del sitio o la herramienta, similar a como realizan la herramienta) En la Figura 27, se muestran los métodos y propiedades que se agregaron y/o modificaron del módulo Acaparador en el lado servidor de Moviware. Las pequeñas modificaciones no se muestran (ya que de lo contrario habría que remarcar prácticamente todo el diagrama). Figura 27. Diagrama de clases del GAT MA. Sincronizador de Caché Esta actividad tiene que ver especialmente con la integración del Acaparador pero se consideró aparte por la importancia que ésta tiene. En ese sentido, ya se reciben y mandan
  31. 31. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 26 las caché al cliente móvil, solo falta probar la sincronización de la caché en el dispositivo local. Esta actividad esta terminada al 100% faltando únicamente su sincronización. Por otra parte, tanto en el GAP como en el GAT MT y MA se manejan diferentes las caches pero en esencia se tienen los mismos tipos: caché sin transcodificar, HTML reformateado, WML, XHTML-MP y PDF. El proceso de sincronización de la caché en el lado cliente (GAP) se muestra en la Figura 28, mientras que el proceso de sincronización de la caché en el lado servidor (GAT MT) se muestra en la Figura 29. Figura 28. Diagrama de actividades del proceso de sincronización de la caché en el GAP. Figura 29. Sincronización de la caché en el GAT MA.
  32. 32. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 27 Otras actividades realizadas en este período Durante el presente período se realizaron muchas actividades que no estaban contempladas en el plan de actividades que originalmente se diseño y que a continuación se muestra: 1. Se realizaron pruebas sobre la plataforma Smartphone con Windows Mobile para determinar si el prototipo se puede ejecutar en esta clase de dispositivos. Se vio que es posible solo quitando algunas partes de la interfaz que no están definidas en la shell de Smartphone (Abrir archivo de cuadro de dialogo). 2. Se trabajó con la nueva versión de .NET Compact Framework 2.0, observando que tiene implementado nuevos componentes y métodos no disponibles en la versión anterior, desgraciadamente sólo se ejecuta en equipos recientes Pocket PC 2003 y superior 3. Se probó el desarrollo en el emulador del nuevo Windows Mobile 5 para Pocket PC así como en el emulador de Windows CE 5, se comprobó que se ejecuta tanto con el .NET CF 1.0 y 2.0 4. Se arregló el problema principal de la obtención en línea del documento, que nos traía retrasados por varias semanas. 5. Se creó un miniservidor Web de modo gráfico y texto, observando que es posible diseñar nueva clase de servicios de red en esta plataforma. 6. Se rediseñó la interfaz del GAP ahora se ejecuta en modo gráfico en lugar de modo consola. El diseño gráfico sigue los estándares recomendados para las nuevas plataformas garantizando su ejecución sin ningún problema en el futuro. 7. Se creó un modulo gráfico de configuración del sistema (no estaba pensado, pero se extendió el uso de la interfaz gráfica). 8. Se creó una bitácora en siguiendo el formato nativo de squid lo cual lo hace compatible con otros sistemas de caché. 9. Se creó una bitácora en línea del proceso de investigación http://mail.cenidet.edu.mx/~jcolivares04c/ (con las actualizaciones semanales respectivas). 10. Se actualizó el sistema de la caché para soportar nuevos sitios transcodificados. 11. Se crearon dos mini portales uno en formato WML y otro en formato XHTML-MP para mostrar la complejidad que implica diseñar contenido Web en distintas plataformas. 12. Revisión de nueva literatura (tecnologías pull & push, HTTPMU, HTTPU, GENA, Arquitectura MVC, J2ME Polish, Model 2 Java), Así como de tecnologías XML: XSL, XSLT y XSL-FO. 13. Pruebas del GAP en otros navegadores para Pocket PC. IV. Compromisos siguiente período Nos comprometemos a terminar el prototipo al 100%, incluyendo pruebas y obtención de resultados. Dejamos la redacción de tesis para después (aunque no descartamos que en ese mismo período se esté o se termine de redactar el documento de tesis).
  33. 33. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 28 7. Diseño e implementación del GAT Para esta actividad se debe terminar todos los módulos de este prototipo, así como arreglar los pequeños detalles de los módulos codificados este período. Gestor de desconexión Esta sección se omitió como tal desde el primer avance, solo se revisará el adecuado funcionamiento entre el GAP y GAT cuando se presenten eventos de desconexión. Pruebas En esta sección se realizaran las pruebas sobre los módulos pertenecientes al GAP faltando realizar las pruebas completas. 8. Pruebas Aquí se terminarán todas las actividades del prototipo realizando pruebas, depurando y obteniendo resultados de este trabajo. Integración del GAP y GAT Aquí se probarán los dos proxys tanto del lado cliente como del servidor. El plan de pruebas consistirá en dos partes. La primera consistirá en pruebas de funcionalidad con el objetivo de probar que el sistema funciona por partes y en su totalidad; mientas que por otra parte, se realizarán pruebas de desempeño con el objetivo de ver resultados en cuanto a tiempo de proceso, consumo de recursos, entre otras métricas. Por otra parte, en el segundote tipo de pruebas se espera hacer comparaciones entre el GAP, WinGAP y SmartGAP para medir que tan efectivos es el prototipo en diferentes conceptos. Depuración En esta parte se corregirán todos los problemas detectados en la fase de prueba.
  34. 34. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 29 9. Redacción de tesis En esta actividad se termina de ordenar toda la información técnica de este trabajo de tesis. Y con esto se termina este trabajo de tesis, faltando simplemente la defensa de la tesis. Pruebas Al ser la última actividad las pruebas al prototipo este es el primer capítulo de la tesis que se redacta. Capítulos Aquí se terminan de redactar los demás capítulos de la tesis: Introducción, Marco Teórico, Análisis y diseño del sistema, y Conclusiones. Revisiones Este proceso consiste en realizar las correcciones al documento de tesis indicadas por los revisores. V. Resultados y logros importantes Publicaciones Artículos En este período se presentaron dos ponencias en congresos que a continuación se indican: J. G. González S., A. Montes R., V. J. Sosa S. y J. C. Olivares R., “Arquitectura de una caché para almacenar sitios Web en dispositivos móviles Pocket PC”, V Jornadas Iberoamericanas de Ingeniería de Software e Ingeniería del Conocimiento, JIISIC’06 Puebla, Puebla, México, febrero de 2006, ISBN: 970-94770-0-5, pp. 263-270. J. C. Olivares R., J. G. González S., A. Montes R. y V. J. Sosa S., “Control de desconexiones en la visualización de páginas Web con dispositivos móviles Pocket PC”, XVI Congreso Interuniversitario de Electrónica, Computación y Eléctrica, CIECE’06 Ciudad Obregón, Sonora, México, Abril de 2006.
  35. 35. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 30 Aceptados: J. C. Olivares R., J. G. González S., A. Montes R. and V. J. Sosa S., “GAP: A Tool to Solve the Problem of the Visualization of Web Contents in Pocket PC Devices”, IEEE Looking Forward Computer Society Electronic Magazine, (all papers was accepted). Por lo que se cuenta ya con 5 publicaciones desprendidas de este trabajo de investigación (CICC’05, CIINDET’05, SICI’05 y estas dos últimas publicaciones). Se están preparando información para artículos en inglés esperando próximamente meter a revisión un artículo en revista o congreso indexado en dicho idioma. Logros Aceptación por parte de la IANA (Internet Assigned Number Authority) del puerto 10800 del servicio GAP lo que le da validez a este trabajo de tesis, ya que es un reconocimiento a aplicaciones importantes de servicios en Internet. La IANA es el organismo de regular los puertos que están disponibles en Internet (65535 puertos) siendo los primeros 1024 (0-1023) reservados para aplicaciones ampliamente utilizadas en Internet, como es el caso de los protocolos HTTP (80), SMTP (25), SSH (22), etc. En la dirección: http://www.iana.org/assignments/port-numbers se muestra la relación de dichos puertos (última actualización 4 de abril). Tabla 12. Selección del puerto 10800 del GAP por parte de la IANA. # 10289-10799 Unassigned gap 10800/tcp Gestor de Acaparamiento para Pocket PCs gap 10800/udp Gestor de Acaparamiento para Pocket PCs # Juan Carlos Olivares Rojas <jcolivares04c@cenidet.edu.mx> March 2006 # 10801-10804 Unassigned Casos de prueba Visualización de recursos Web en línea. En este caso de prueba se muestra que es posible acceder a cualquier recurso en la Web de manera normal con el GAP.
  36. 36. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 31 Figura 30. Caso de prueba número 1. Visualización de recursos Web en desconexión (acaparados) En este caso se muestra que es posible acceder a recursos acaparados cuando no existe conexión. Figura 31. Caso de prueba número 2.
  37. 37. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 32 Visualización de recursos en distintos formatos En este caso de prueba se muestra que es posible visualizar el mismo recurso Web transcodificados en los siguientes formatos: HTML reformateado (versión anterior), WML, XHTML-MP y PDF. Figura 32. Caso de prueba número 3. Figura 33. Transcodificación de contenidos Web a PDF.
  38. 38. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 33 Figura 34. Transcodificación de recursos Web a WML. Figura 35. Transcodificación de contenidos Web a XHTML-MP. Visualización del estado de las peticiones Este caso de prueba se muestra de manera gráfica el estado de las peticiones (ver Figura 23) y, se muestra el esquema de la bitácora propuesta.
  39. 39. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 34 Figura 36. Visualización del estado de las peticiones en línea. El formato de la bitácora está en formato nativo de Squid lo cual lo hace compatible para futuras mejoras como servidores proxys caché cooperativas con dispositivos móviles Pocket PC. A continuación se muestra un ejemplo sencillo de bitácora: Tabla 13. Muestra de la bitácora del GAP. 1143746322.266 2063 192.168.190.33 TCP_MISS/0 -1 GET http://antares.itmorelia.edu.mx/~kaos - DIRECT/192.168.190.33 1143746470.906 1547 192.168.190.33 TCP_MISS/0 -1 GET http://antares.itmorelia.edu.mx/~kaos - DIRECT/192.168.190.33 1143746471.844 937 192.168.190.33 TCP_MISS/200 -1 GET http://antares.itmorelia.edu.mx/inicio.htm - DIRECT/192.168.190.33 application/pdf; charset=iso-8859-1 1143746471.938 1031 192.168.190.33 TCP_MISS/200 -1 GET http://antares.itmorelia.edu.mx/ini_fr02.htm - DIRECT/192.168.190.33 application/pdf; charset=iso-8859-1 1143746472.016 1156 192.168.190.33 TCP_MISS/200 -1 GET http://antares.itmorelia.edu.mx/ini_fr01.htm - DIRECT/192.168.190.33 application/pdf; charset=iso-8859-1 1143746476.406 63594 192.168.190.33 TCP_NEGATIVE_HIT/200 -1 GET http://antares.itmorelia.edu.mx/~kaos - NONE/-- 1143746478.188 391 192.168.190.33 TCP_MISS/0 -1 GET http://antares.itmorelia.edu.mx/~kaos - DIRECT/192.168.190.33 Visualización de la configuración del sistema En este caso de prueba se muestra que es posible configurar el sistema de manera gráfica permitiendo a los usuarios una mayor facilidad de administrar el sistema.
  40. 40. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 35 Figura 37. Opciones de configuración del GAP Pruebas multiplataforma En este caso de pruebas se muestra que el prototipo que se está desarrollando es capaz de ejecutarse en distintas plataformas: Windows de escritorio (WinGAP) y Windows Mobile for Smartphone (SmartGAP) con ninguna y pequeñas mejoras respectivamente. Figura 38. Ejecución del GAP en Windows: "WinGAP".
  41. 41. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 36 Figura 39. Ejecución del GAP en un Smartphone con Windows Mobile: "SmartGAP". VI. Conclusiones En el presente reporte técnico se mostraron los avances y logros más importantes llevados acabo durante el presente periodo (Enero-Abril de 2006) de la tesis titulada Gestor de Acaparamiento de Sitios Web Transcodificados para plataforma Pocket PC. Se estima el avance en el desarrollo de esta tesis en un 70% incluyendo redacción de tesis. VI. Referencias y bibliografía [Burbeck92] Steve Burbeck, “Applications Programming in Smalltalk-80: How to use Model-View- Controller (MVC)”, 1987 y 1992. [Dabas05] Ahmad Dabas, “Proxy Server for Handhelds”, Tesis de Maestría, Universidad Técnica Checa en Praga, Facultad de Ingeniería Eléctrica, Mayo de 2005. [Eisenberg02] David Eisenberg, “Using XML”, [Online] http://www.alistapart.com/stories/usingxml/ , julio de 2002, Consultado: marzo de 2006. [Vázquez03] María del Rosario Vázquez Aragón, “Generador Automático de Informes Web en Base al Esquema de Base de Datos Utilizando Tecnologías XML”, tesis de maestría, cenidet, noviembre de 2003, pp. 112. [González02] Roble Leonel González Urbieta, “Servidor XML para aplicaciones de Web”, tesis de maestría, cenidet, Cuernavaca, Morelos, México, agosto de 2002, pp. 128. [Gutiérrez01] Abraham Gutiérrez, Raúl Martínez, “XML a través de ejemplos”, Alfaomega Rama, Madrid, España, 2001, ISBN: 970-15-0714-2. [Akif02] Mohammad Akif, Steven Bordead, Andrei Cioroianu, James Hart, Eric Jung, Dave Writz, “Java y XML Referencia para programadores”, Anaya Multimedia, Madrid, España, 2002, ISBN: 84-415- 1364-5 [Morrison02] Michael Morisson et al., “XML al descubierto”, Prentice Hall, Madrid, España, 2002, ISBN: 84-205-2964-. [Chanchaem03] Thong Chanchaem, “A Survey on Internet Content Transcoding for Universal Access”, Department of Computer Science, Kent State University, May 2003. [Alam06] Hassan Alam, Fuad Rahman1, “Web Document Manipulation for Small Screen Devices: A Review”, sin fecha ni datos de aparición, visto en abril de 2006. [North99] Simon North, “Sams Teach Yourself XML in 21 Days”, Macmillan Computer Publishing, ISBN: 1575213966, 04/13/99, libro electrónico. [Borland03] Borland, “Guía del desarrollador de XML”, manuales de Borland JBuilder 8.0, 2003. [González02a] Gabriel González, Rodolfo Pazos, F. Menchaca, David Valenzuela, y Fernando Alarcón, “Plataforma Middleware Reflexiva para la Implementación de Aplicaciones de Cómputo Móvil
  42. 42. Segundo reporte de avance cuatrimestral “Gestor de acaparamiento de sitios Web transcodificados para plataforma Pocket PC” 37 (MoviWare)”, memorias del 9 Congreso Internacional de Investigación en Ciencias Computacionales CIICC’02, Puebla, Puebla, México, 2002. [Schaefer02] Robbie Schaefer, Andreas Dangberg,Wolfgang Mueller, “Fuzzy Rules for HTML Transcoding”, Proceedings of the 35th Hawaii International Conference on System Sciences , ISBN: 0-7695-1435- 9/02, 2002, IEEE. [Bouillon06] Laurent Bouillon and Jean Vanderdonckt, “Retargeting Web Pages to other Computing Platforms with VAQUITA”, Université catholique de Louvain, Institut d’Administration et de Gestion, Louvain-la-Neuve, Belgium (sin más datos de referencia), visto en abril de 2006. [Oracle06] Oracle, “Oracle 9iAS Wireless Server Transcoding”, visto en abril de 2006. [Bangalore06] Vish Bangalore, “HTML to WML conversion”, (sin demás datos de referencia), visto en abril de 2006. [Dugas01] Robert Dugas, “WWW Unplugged: An HTML to WML Transcoding Proxy”, 2001 (no existen más referencias), visto en abril de 2006. [Maheshwari06] Anuj Maheshwari, Aashish Sharma, Krithi Ramamritham, “TranSquid : Transcoding and Caching Proxy for Heterogenous E-Commerce Environments”, si más datos de referencia, visto abril de 2006. [Laako05] Timo Laakko, Tapio Hiltunen, “Adapting Web Content to Mobile User Agents”, revista IEEE Internet Computing, marzo-abril 2005, IEEE Computer Society, ISBN: 1089-7801/05/ [Valenzuela02] David R. Valenzuela Molina, “Mecanismo para Predicción de Acaparamiento de Datos en Sistemas Cliente/Servidor Móviles”, tesis de maestría, cenidet, agosto de 2002. [Uriarte04] Claudia Selene Uriarte Cabada. “Transformador de Contenidos Web para Asistentes Personales Digitales”, tesis de maestría, cenidet, julio de 2004. [González05] J. Gabriel González Serna. “Esquema Adaptativo para la Gestión de Movilidad en Sistemas Cliente/Servidor a través de Internet”. Documento para la revisión pre-doctoral. CIC-IPN, 2005. [Alarcón02] Alarcón Gálvez Fernando, “Mecanismo para Gestión de Conexión en Sistemas Cliente/Servidor Móviles”, tesis de maestría, cenidet, agosto de 2002. [González03] González Serna Juan Gabriel. “Plataforma middleware reflexiva para aplicaciones de cómputo móvil en Internet (Movirware)”, Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET), de septiembre de 2001 a agosto de 2003, financiamiento COSNET: 570.01-P. [Verduzco03] Verduzco Reyes Gustavo, “Gestor de Acaparamiento de Patrones de Sitios Web en Clientes Móviles”, tesis de maestría, cenidet, agosto de 2003. [Hernández05] Hernández Méndez Gabriel. “Generador de patrones de navegación de usuarios aplicando Web log mining”, tesis de maestría en desarrollo, cenidet, septiembre de 2005.

×