Una vez concretado el diseño inicial de la arquitectura software de la plataforma, en esta fase se programarán los diferentes módulos.
Hasta el momento, se ha generado la estructura genérica común de las diferentes páginas y se ha comenzado con la construcción de las diferentes páginas que forman parte de la misma. Para realizar esta tarea se han tenido que analizar las características específicas de cada página, respecto a la estructura, contenidos y funcionalidades de las mismas.
Se está llevando a cabo la adecuación funcional para soporte universal de navegadores en versiones actuales y el desarrollo de todos los elementos que intervienen en la generación y gestión de estas credenciales. En lo referente al desarrollo de los módulos de estadística para perfiles básicos de usuario se han definido las funcionalidades de la herramienta de análisis de tráfico, de la herramienta de administración y las características de usabilidad. En cuanto al desarrollo de los módulos de búsqueda de respuestas multilingüe, durante 2008 se han abordado dos tareas básicas: la definición de los requisitos del sistema en cuanto a la funcionalidad de búsqueda y el diseño arquitectónico de los componentes necesarios para este fin.
Durante esta tarea también se han llevado a cabo las acciones necesarias para adecuar la plataforma al cumplimiento de las directrices de accesibilidad Web en el nivel AA.
Al concluir esta tarea, en 2009, se debe obtener una versión completamente funcional de los módulos que formarán la versión inicial de la plataforma, listos para realizar la integración de los mismos.
El desarrollo de la plataforma comenzó por la construcción de la base estructural de la misma. Así, se codificó todo el código ASP.Net necesario para generar la estructura genérica común de las diferentes páginas, tal y como se contempla en los diseños generados en la fase anterior.
De esta manera, como resultado de este hito se obtuvo el código ASP.Net que incorporaba todos los elementos que deben ser comunes a todas las páginas que formarán la plataforma, esto es, los distintos componentes que todas las páginas deberán incorporar como son:
Así, se disponía ya de los cimientos necesarios donde incluir el resto de elementos e información que deberían contener las diferentes páginas de la plataforma.
Una vez se disponía de la base estructural de la plataforma, se comenzó con la construcción de las diferentes páginas que forman parte de la misma. Para realizar esta tarea hubo que analizar las características específicas de cada página, respecto a la estructura, contenidos y funcionalidades de las mismas.
La adaptación a este tipo de dispositivos implica el estudio de cuestiones relacionadas con la usabilidad del sistema, tales como:
Así se llegó a la construcción de una plataforma ya navegable, visualmente precaria pero que incorpora la mayor parte de las funcionalidades a implementar y que presenta los siguientes elementos:
La adaptación a la gran variedad de navegadores existentes hoy en día es un proceso laborioso y no trivial. Las diferentes interpretaciones de los navegadores de los distintos elementos que finalmente forman el código HTTP que interpretan, obligan a establecer un proceso cíclico constante de desarrollo, pruebas y validación. Así se consigue establecer una completa estabilidad tanto visual como funcional en la utilización de la plataforma mediante cualquiera de ellos.
Es de especial relevancia en este punto la estrecha colaboración necesaria entre los equipos de diseño y de desarrollo, ya que se deben optimizar tanto la visualización como la funcionalidad, sin perjuicio por ninguna de las dos partes. Además, se debe tener en cuenta en todo momento que cualquier elemento incorporado tiene que mantener la consistencia de la plataforma con las directrices de accesibilidad web.
Esta fase del desarrollo se encuentra aún en proceso. Sin embargo, la identificación de los elementos que restan compatibilidad entre los distintos navegadores, junto con la adquisición de conocimiento y la experiencia desarrollada hasta el momento garantiza su finalización en los plazos definidos.
El producto final de esta fase será la estructura de archivos .css de hojas de estilo en cascada, que aportarán la estructura y apariencia finales de la plataforma.
Una vez garantizada la interacción con los sistemas de validación de red, y por tanto la utilización de las credenciales necesarias para el acceso a la infraestructura de red, resta desarrollar todos los elementos que intervienen en la generación y gestión de estas credenciales.
Para ello se debe realizar un estudio exhaustivo de distintos elementos como:
Se debe desarrollar un módulo de generación de credenciales hacia el que enviar las peticiones de generación de los usuarios.
El módulo de generación de credenciales debe interactuar con un sistema de facturación para llevar una correcta gestión de las mismas, ya se vayan a generar de manera gratuita o previo pago. Las operaciones realizadas a través del módulo deben quedar correctamente registradas en los sistemas de facturación.
Es de especial importancia que, sin perjuicio de lo anterior, el sistema de generación de credenciales pueda interaccionar con los sistemas de validación, como los servidores RADIUS. Se deben establecer las comunicaciones necesarias con estos sistemas para garantizar que las credenciales generadas quedan correctamente registradas en ellos, con el objetivo de permitir su utilización por parte del usuario final.
La interacción con los sistemas de pago electrónico es una tarea requiere de un gran esfuerzo técnico. Existe una gran variedad de sistemas en esta área, cada una con sus peculiaridades. Tanto el diseño como el desarrollo de los módulos implicados se han realizado siguiendo una filosofía modular que permite una sencilla integración con nuevos módulos si fuese necesario.
Cabe destacar en este ámbito el estudio e implementación realizados acerca del estándar PCI definido por las instituciones bancarias, y de seguimiento obligado para poder interaccionar con sus pasarelas. Este estándar exige establecer unas políticas de seguridad estrictas para garantizar la fiabilidad de las operaciones realizadas por el usuario final.
Por otra parte, los módulos de interacción con pasarelas de pagos deben comunicarse también con los módulos anteriores de facturación y validación, con el objetivo de garantizar que las operaciones realizadas a través de las pasarelas quedan también registradas en esos sistemas.
Esta fase del proyecto se encuentra aún en desarrollo. Se prevé su finalización en los periodos establecidos, dando como resultado los siguientes elementos:
Como ya se ha indicado, la accesibilidad es un área que se debe tener en cuenta en todo momento durante el desarrollo. Se debe cuidar además su relación con la adaptación a los distintos navegadores, estableciendo de igual manera un estudio cíclico del cumplimiento.
Las tareas en esta materia han incluido la adaptación de algunos elementos, así como el intercambio entre distintas alternativas tecnológicas. La transferencia de funcionalidades implementadas en tecnologías de cliente por otras implementadas en tecnologías de servidor han sido de gran ayuda en esta materia, permitiendo el cumplimiento de los requerimientos funcionales impuestos tanto en accesibilidad como en el resto del ámbito de la plataforma.
De igual importancia resulta el estudio de los requisitos no funcionales requeridos para el cumplimiento del estándar de accesibilidad, como requisitos de estructura, organización, visualización, etiquetado, etc. A este respecto, se realiza un estudio continuo de la plataforma mediante las herramientas aportadas por los colaboradores, que permiten la evaluación continua del cumplimiento de las directrices de accesibilidad.
De igual importancia resulta el estudio de los requisitos no funcionales requeridos para el cumplimiento del estándar de accesibilidad, como requisitos de estructura, organización, visualización, etiquetado, etc. A este respecto, se realiza un estudio continuo de la plataforma mediante las herramientas aportadas por los colaboradores, que permiten la evaluación continua del cumplimiento de las directrices de accesibilidad.
De igual importancia resulta el estudio de los requisitos no funcionales requeridos para el cumplimiento del estándar de accesibilidad, como requisitos de estructura, organización, visualización, etiquetado, etc. A este respecto, se realiza un estudio continuo de la plataforma mediante las herramientas aportadas por los colaboradores, que permiten la evaluación continua del cumplimiento de las directrices de accesibilidad.
El objetivo perseguido en la definición de estos módulos ha sido mejorar los sistemas de seguimiento de visitas tradicionales, basados en el análisis de los ficheros de log de los servidores web. Entre las ventajas que ofrece el sistema a integrar en la plataforma de DISUIPA se encuentran:
Se registrarán todos los accesos de humanos, diferenciándolos de los accesos de robots, por lo que será &ucute;til para los responsables de márketing, de la explotación de contenidos o, en general, directivos y responsables de negocio en Internet.
La implantación del sistema de recogida de información usando huellas será muy simple, bastará ejecutar un pequeño programa para colocar la huella en todas las páginas de un sitio web. A partir de ese momento, bastará con poner la huella en las plantillas de los contenidos del sitio.
Se proporcionará un sistema de estadísticas web basado en huellas. Cualquier persona autorizada pordrá ver la información de accesos en cualquier momento, desde cualquier lugar, sin más que usar un navegador web cualquiera.
Las páginas cuyos accesos se deseen analizar conjuntamente no necesitan estar en un &ucute;nico sitio web. Así, se podrá analizar el acceso a contenidos distribuidos en más de una máquina, o analizar separadamente colecciones de páginas ubicadas en el mismo servidor web. Es decir, se permitirá la creación y análisis de sitios web "virtuales".
Dentro de esta tarea se han efectuado las siguientes actividades:
En esta actividad se ha definido la arquitectura de componentes del subsistema de b&ucute;squeda, formada por dos elementos básicos, uno de indexación y otro de b&ucute;squeda, que facilitará las operaciones de localización de información en el sitio web. Atendiendo al contenido de las FAQs que constituyen el sistema se aplicarán recursos de sinonimia específicos para el dominio de la aplicación.
Desde el punto de vista de la arquitectura tecnológica, este subsistema de b&ucute;squeda se apoyará en Lucene, un software desarrollado completamente en el lenguaje de programación JAVA que proporciona funcionalidades de indexación y b&ucute;squeda de documentos. Este sistema de b&ucute;squeda se adaptará para los idiomas contemplados en el proyecto, a saber: español, ingl&ecute;s, franc&ecute;s e italiano. Por este motivo se crearán cuatro índices diferentes, uno para cada idioma, a los que se accederá a trav&ecute;s de una misma interfaz.
Tanto el indexador, DISUIPA Indexer, como el buscador DISUIPA Searcher se adaptarán a cada uno de los cuatro idiomas requeridos, por ejemplo, para eliminar palabras sin contenido semántico, denominadas stopwords en terminología inglesa.