SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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
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.
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
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
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
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.
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
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.
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.
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
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.
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.
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é.
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.
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.
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.
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.
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é.
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.
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.
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.
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
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>
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>
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>
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).
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.
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.
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
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
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.
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).
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.
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.
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.
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.
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.
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.
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.
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".
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
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.

Weitere ähnliche Inhalte

Andere mochten auch

Mariages .
Mariages . Mariages .
Mariages . lyago
 
Apprentissage Par Des Projets éTudes De Cas
Apprentissage Par Des Projets éTudes De CasApprentissage Par Des Projets éTudes De Cas
Apprentissage Par Des Projets éTudes De Casteedmedia
 
Wpf et Silverlight
Wpf et SilverlightWpf et Silverlight
Wpf et SilverlightSimon Robic
 
Les meubles de la chambre
Les meubles de la chambreLes meubles de la chambre
Les meubles de la chambreRubem21
 
Atelier Delplanque Fouré JFK2009
Atelier Delplanque Fouré JFK2009Atelier Delplanque Fouré JFK2009
Atelier Delplanque Fouré JFK2009Pierre Trudelle
 
Ccre 43 - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...
Ccre 43  - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...Ccre 43  - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...
Ccre 43 - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...Brioude Internet
 
Diallo GuinéE CIRAD 2010
Diallo GuinéE CIRAD 2010Diallo GuinéE CIRAD 2010
Diallo GuinéE CIRAD 2010Mira Slavova
 
Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...
Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...
Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...PERE MARQUES
 
Ordonnance n°21014-1090 du 26 septembre 2014.
Ordonnance n°21014-1090 du 26 septembre 2014.Ordonnance n°21014-1090 du 26 septembre 2014.
Ordonnance n°21014-1090 du 26 septembre 2014.Marchitecture
 
Disque solaire Hittite
Disque solaire HittiteDisque solaire Hittite
Disque solaire HittiteTocup
 
Core System + Web Shop
Core System + Web ShopCore System + Web Shop
Core System + Web Shopdaceti
 
Les 6 de la semaine #1
Les 6 de la semaine #1Les 6 de la semaine #1
Les 6 de la semaine #16co
 
recursos especializados para la investigación agrícola
recursos especializados para la investigación agrícolarecursos especializados para la investigación agrícola
recursos especializados para la investigación agrícolaLiz Pagan
 

Andere mochten auch (20)

Mariages .
Mariages . Mariages .
Mariages .
 
Heureux au Boulot
Heureux au BoulotHeureux au Boulot
Heureux au Boulot
 
Apprentissage Par Des Projets éTudes De Cas
Apprentissage Par Des Projets éTudes De CasApprentissage Par Des Projets éTudes De Cas
Apprentissage Par Des Projets éTudes De Cas
 
Wpf et Silverlight
Wpf et SilverlightWpf et Silverlight
Wpf et Silverlight
 
Les meubles de la chambre
Les meubles de la chambreLes meubles de la chambre
Les meubles de la chambre
 
Clase1
Clase1Clase1
Clase1
 
Ama al Hombre que te Ame
Ama al Hombre que te AmeAma al Hombre que te Ame
Ama al Hombre que te Ame
 
Atelier Delplanque Fouré JFK2009
Atelier Delplanque Fouré JFK2009Atelier Delplanque Fouré JFK2009
Atelier Delplanque Fouré JFK2009
 
Ccre 43 - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...
Ccre 43  - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...Ccre 43  - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...
Ccre 43 - Club des Créateurs Repreneurs d'Entreprises Haute Loire - Les Rése...
 
Diallo GuinéE CIRAD 2010
Diallo GuinéE CIRAD 2010Diallo GuinéE CIRAD 2010
Diallo GuinéE CIRAD 2010
 
Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...
Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...
Recerca SCP: Millora dels resultats acadèmics amb el curriculum bimodal (juny...
 
Ordonnance n°21014-1090 du 26 septembre 2014.
Ordonnance n°21014-1090 du 26 septembre 2014.Ordonnance n°21014-1090 du 26 septembre 2014.
Ordonnance n°21014-1090 du 26 septembre 2014.
 
Disque solaire Hittite
Disque solaire HittiteDisque solaire Hittite
Disque solaire Hittite
 
Robots
RobotsRobots
Robots
 
Bubbles
BubblesBubbles
Bubbles
 
Garcia Marquez
Garcia MarquezGarcia Marquez
Garcia Marquez
 
Core System + Web Shop
Core System + Web ShopCore System + Web Shop
Core System + Web Shop
 
Les 6 de la semaine #1
Les 6 de la semaine #1Les 6 de la semaine #1
Les 6 de la semaine #1
 
Nochevieja2012
Nochevieja2012Nochevieja2012
Nochevieja2012
 
recursos especializados para la investigación agrícola
recursos especializados para la investigación agrícolarecursos especializados para la investigación agrícola
recursos especializados para la investigación agrícola
 

Ähnlich wie Report2

Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones webdavirs1000
 
Proyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfProyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfceranobrian52
 
Gestión Proyectos Computacionales
Gestión Proyectos ComputacionalesGestión Proyectos Computacionales
Gestión Proyectos ComputacionalesFelixa Roa Valle
 
Libro de lenguaje c
Libro de lenguaje cLibro de lenguaje c
Libro de lenguaje cjhon baez
 
CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE
CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE
CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE Pedro Torres
 
Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...
Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...
Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...SANTIAGO PABLO ALBERTO
 
AuditoriadeSistemasCastello (1).pdf
AuditoriadeSistemasCastello (1).pdfAuditoriadeSistemasCastello (1).pdf
AuditoriadeSistemasCastello (1).pdfvanessaarredondohern
 
AuditoriadeSistemasCastello (1)111111111111111111111.pdf
AuditoriadeSistemasCastello (1)111111111111111111111.pdfAuditoriadeSistemasCastello (1)111111111111111111111.pdf
AuditoriadeSistemasCastello (1)111111111111111111111.pdfLizMontes8
 
Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1Juan Gallardo Ortiz
 

Ähnlich wie Report2 (20)

Reporte1
Reporte1Reporte1
Reporte1
 
Aplicaciones web
Aplicaciones webAplicaciones web
Aplicaciones web
 
Reporte3
Reporte3Reporte3
Reporte3
 
Lujan.pdf
Lujan.pdfLujan.pdf
Lujan.pdf
 
Proyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdfProyecto final facultad de ingeniería.pdf
Proyecto final facultad de ingeniería.pdf
 
PROYECTO FINAL
PROYECTO FINALPROYECTO FINAL
PROYECTO FINAL
 
Td reiapv
Td reiapvTd reiapv
Td reiapv
 
Gestión Proyectos Computacionales
Gestión Proyectos ComputacionalesGestión Proyectos Computacionales
Gestión Proyectos Computacionales
 
Libro de lenguaje c
Libro de lenguaje cLibro de lenguaje c
Libro de lenguaje c
 
Calcuilo de pci
Calcuilo de pciCalcuilo de pci
Calcuilo de pci
 
CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE
CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE
CONSOLIDACIÓN E IMPLEMENTACIÓN DE FLUJO CONTINUO EN LA LÍNEA DE
 
Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...
Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...
Electrónica digital: DIseño e implementacion de la plataforma Boole-Weblab-De...
 
El rol de las tic en la competitividad de las PyME - María Verónica Alderete
El rol de las tic en la competitividad de las PyME - María Verónica AldereteEl rol de las tic en la competitividad de las PyME - María Verónica Alderete
El rol de las tic en la competitividad de las PyME - María Verónica Alderete
 
El rol de las TIC en la competitividad de las PyME - Verónica Alderete
El rol de las TIC en la competitividad de las PyME - Verónica AldereteEl rol de las TIC en la competitividad de las PyME - Verónica Alderete
El rol de las TIC en la competitividad de las PyME - Verónica Alderete
 
AuditoriadeSistemasCastello (1).pdf
AuditoriadeSistemasCastello (1).pdfAuditoriadeSistemasCastello (1).pdf
AuditoriadeSistemasCastello (1).pdf
 
AuditoriadeSistemasCastello (1)111111111111111111111.pdf
AuditoriadeSistemasCastello (1)111111111111111111111.pdfAuditoriadeSistemasCastello (1)111111111111111111111.pdf
AuditoriadeSistemasCastello (1)111111111111111111111.pdf
 
Tfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plazaTfm javier eduardo_carrillo_plaza
Tfm javier eduardo_carrillo_plaza
 
Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 
Auditoriade sistemascastello
Auditoriade sistemascastelloAuditoriade sistemascastello
Auditoriade sistemascastello
 
Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1Guide liferay themestraining_lr6.2_v1
Guide liferay themestraining_lr6.2_v1
 

Mehr von Juan Carlos Olivares Rojas

Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersJuan Carlos Olivares Rojas
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasJuan Carlos Olivares Rojas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...Juan Carlos Olivares Rojas
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoJuan Carlos Olivares Rojas
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteJuan Carlos Olivares Rojas
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoJuan Carlos Olivares Rojas
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainJuan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityJuan Carlos Olivares Rojas
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Juan Carlos Olivares Rojas
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionJuan Carlos Olivares Rojas
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Juan Carlos Olivares Rojas
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Juan Carlos Olivares Rojas
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Juan Carlos Olivares Rojas
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Juan Carlos Olivares Rojas
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesJuan Carlos Olivares Rojas
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Juan Carlos Olivares Rojas
 

Mehr von Juan Carlos Olivares Rojas (20)

Ieee itmsb20
Ieee itmsb20Ieee itmsb20
Ieee itmsb20
 
Ropec20neural stick
Ropec20neural stickRopec20neural stick
Ropec20neural stick
 
Analítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board ComputersAnalítica de Datos usando Single Board Computers
Analítica de Datos usando Single Board Computers
 
Analitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las CosasAnalitica de Datos en Dispositivos de Internet de las Cosas
Analitica de Datos en Dispositivos de Internet de las Cosas
 
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
A Comparative Assessment of Cryptography Algorithms for Data Analytic Applica...
 
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de MéxicoPropuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
Propuesta de Flexibilidad Curricular en el Tecnológico Nacional de México
 
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición InteligenteAnalítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
Analítica de Datos en Simulador de Redes para Sistemas de Medición Inteligente
 
Propuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en MéxicoPropuesta de Mercado Eléctrico Minorista Transactivo en México
Propuesta de Mercado Eléctrico Minorista Transactivo en México
 
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign BlockchainCyber Security on Transactions in Smart Metering Systems usign Blockchain
Cyber Security on Transactions in Smart Metering Systems usign Blockchain
 
A Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobilityA Survey on Smart Metering Systems using Blockchain for E-mobility
A Survey on Smart Metering Systems using Blockchain for E-mobility
 
Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes Detección de Movimiento usando Medidores Inteligentes
Detección de Movimiento usando Medidores Inteligentes
 
A Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer InteractionA Survey on Smart Metering Systems using Human-Computer Interaction
A Survey on Smart Metering Systems using Human-Computer Interaction
 
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
Machine Learnign Model for the Detection of Electricity Energy Fraud Using an...
 
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
Forecasting Electricity Consumption Using Weather Data in Edge-Fog-Cloud Data...
 
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
Aplicacion de Tecnicas de UX en el Desarrollo de un Portal de un Sistema de M...
 
Internet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas InteligentesInternet de las Cosas en Redes Eléctricas Inteligentes
Internet de las Cosas en Redes Eléctricas Inteligentes
 
Estrategias didacticas
Estrategias didacticasEstrategias didacticas
Estrategias didacticas
 
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
Optimización de la Eficiencia Energética en los Hogares utilizando una Arquit...
 
Ciber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas InteligentesCiber Seguridad en Redes Eléctricas Inteligentes
Ciber Seguridad en Redes Eléctricas Inteligentes
 
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
Estudio de Vulnerabilidad de Protocolos y Redes de Comunicación para Medidore...
 

Report2

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.