Download pdf BBDD vs. páginas HTML : una experiencia práctica de
Document related concepts
Transcript
Museos y Patrimonio: nuevas estrategias de difusión. 6 de mayo. Sala 05-M de la Facultad de Derecho. «BBDD vs. Páginas HTML: Una experiencia práctica de estatificación de una web de museos», de Juan Manuel Morote (Ifigenia). Introducción. Desde el comienzo del fenómeno del WWW (World Wide Web), han sido muchas las tendencias que han marcado el funcionamiento de esta tecnología, desde las primeras páginas con sencillo contenido html hasta las actuales con contenido multimedia, interactividad, gran cantidad de información y casi cualquier cosa que seamos capaces de concebir. Esta evolución de la tecnología ha permitido crear sitios web con gran cantidad de información, debido principalmente a la introducción de las bases de datos (BB.DD.) y la programación dentro de éstos. Esta tecnología basada en gestores de bases de datos y programas que transforman esta información en contenido html atractivo para el usuario, ha permitido que la información ofrecida al usuario pueda multiplicarse cada año de forma considerable, sin perder por ello la facilidad de navegación y la accesibilidad a los mismo. Este sistema sin embargo, cuenta con varios inconvenientes: - El uso de recursos es mucho mayor y admite una menor cantidad de usuarios La indexación de contenidos por parte de agentes externos (buscadores, portales relacionados, portales temáticos) se complica. El sistema se hace es mas sensible a problemas de software, errores de programación o caídas de alguno de los componentes del sistema. ¿Sistemas dinámicos o sistemas estáticos? La respuesta a esta pregunta es que ninguno de los dos sistemas es bueno de forma aislada, y hay que tratar de encontrar un equilibrio entre ambos. Tanto los sistemas estáticos como los dinámicos tienen ventajas y diseñar un sistema que reúna lo mejor de cada uno de ellos puede no resultar sencillo a primera vista, pero el esfuerzo adicional realizado compensa sin duda cuando se comprueban los resultados. Estos sistemas que denominaremos mixtos, tratan de encontrar un punto en el que se maximicen las ventajas de cada uno de ellos, minimizando los defectos que se puedan encontrar. ¿Qué buscar en un sistema mixto? Para poder diseñar un sistema con garantías de éxito, hemos de identificar cuales son las ventajas y los inconvenientes de cada uno de ellos. La siguiente tabla pude servir como referencia rápida de las cuales son los valores que aportan cada uno de ellos: O R G A N I Z A N : Sistema estático Menor necesidad de hardware Grandes facilidades de indexación por parte de agentes externos (buscadores, portales, etc) Facilidad de administración del servidor Menor dependencia de errores del sistema Mayor exactitud en sistemas de estadística externa al web Sistema dinámico Mayor capacidad de almacenamiento de contenidos Grandes facilidades de indexación interna Facilidad de alimentación de contenidos. Organización dinámica de contenidos De la anterior tabla se desprende un conclusión clara, las grandes ventajas de los sistemas dinámicos están orientadas a los contenidos. Es lógico pensar, que será difícil realizar cualquier sistema con gran cantidad de contenidos de forma completamente estática. De la anterior tabla también se desprende un hecho que puede facilitar mucho la forma de analizar una solución basada en un sistema mixto. Los sistemas estáticos tienen sus principales ventajas a la hora de mostrar los contenidos a los usuarios, mientras que los sistemas dinámicos muestras sus principales ventajas a la hora de alimentar los contenidos. De esta conclusión se puede sacar una línea de actuación que hace que ambos sistemas puedan convivir ofreciendo lo mejor de cada uno, ésta es la estatificación. Estatificación. Denominaremos estatificación al proceso de transformar los datos almacenados dentro de una base de datos dinámica en archivos html que puedan ser utilizados por un servidor web tradicional. Mediante la utilización de esta filosofía tanto los administradores de los contenidos del web, como los usuarios finales del mismo obtienen lo mejor de cada una de las dos técnicas. Los administradores de contenidos podrán seguir alimentando sus páginas usando un sistema de administración que les aísle de los códigos html y de la maquetación, y podrán mantener una estructura fuerte. Por otro lado, los usuarios obtendrán una web mas robusta y rápida, y los servidores de indexación externos encontrarán fácilmente las páginas. El proceso de estatificación produce una serie de beneficios que también han de ser tenidos en cuenta a la hora de afrontar un desarrollo basado en este método y que decantan decididamente la balanza de su lado. Los recursos utilizados por el servicio web se ven reducidos de forma drástica, puesto que solo a la hora de realizar el paso a html se hacen consultas a la base de datos. El resto de las peticiones de páginas, no necesitarán realizar una consulta dinámica puesto que todo el contenido ya esta listo para ser enviado. La tolerancia a fallos es también una de las principales aportaciones de este sistema. Puesto que la dependencia de las páginas html del sistema dinámico del web (servidor de aplicaciones y gestor de bases de datos) es inexistente, una caída en cualquiera de los dos, no afectaría al usuario final. Otro importante efecto beneficioso es la facilidad de localización y contabilidad por parte de sistemas de control de difusión, puesto que ofrece siempre una referencia clara y un conteo exacto de las páginas visitadas. O R G A N I Z A N : Técnicas esenciales de estatificación. No existe una técnica concreta para conseguir un web estatificable. En la mayoría de los casos, cada sitio de Internet tiene sus propias necesidades y peculiaridades, aunque sí es cierto que podemos seguir algunas directivas básicas usadas en sistemas de estatificación. En general, es el propio funcionamiento del web el que establecerá el proceso de estatificación. A grandes rasgos podemos clasificas estos sistemas en tres grandes grupos atendiendo al tiempo de generación de las páginas: - Generación on-line de los contenidos: Los contenidos se vuelven estáticos atendiendo a una orden del propio administrador de contenidos. Generación programada de los contenidos: Un contenido se prepara para la estatificación a una hora concreta. Generación periódica de contenidos: Todos los contenidos se agrupan y se estatifican de forma periódica Todas estas técnicas pueden ser combinadas para formar otras estrategias que se ajusten adecuadamente a cada necesidad. Cada una de las técnicas mostradas tiene ciertas ventajas e inconvenientes que las hacen apropiadas para determinados escenarios. Los principales aspectos a estudiar en cada caso son el volumen de la información que se necesita estatificar, la necesidad o no de estatificación inmediata. El primer método es el que menor complicación técnica presenta, puesto que se genera la página cada vez que se modifica o bien mediante un comando del usuario para ejecutar la estatificación. Este método es recomendable cuando la información no sea muy numerosa y las modificaciones sean puntuales. Los dos siguientes métodos resultan técnicamente más complicados, puesto que requieren de la implementación de un proceso que se ejecutará de forma independiente del servidor de aplicaciones y que se encargará de ejecutar las actualizaciones correspondientes. Este proceso se programará para activarse a determinadas horas y ejecutará una actualización de los contenidos que se encuentren preparados para estatificar. Resulta claro que esto redunda en el rendimiento general del sistema, puesto que puede consumir una gran cantidad de recursos durante un periodo elevado de tiempo. Para minimizar este efecto se programan estas actualizaciones para realizarse en horario nocturno, cuando el impacto del proceso sea menor. En casos en los que el volumen de la información a estatificar es muy elevado, se puede recurrir a sistemas más sofisticados que eliminen el problema del consumo de recursos demasiado elevado. El sistema mas común es el de utilizar un servidor dedicado para la creación de los elementos estáticos, que una vez listos son enviados al servidor principal que reemplaza los elementos obsoletos y añade los nuevos recién creados. Maquetación orientada a estatificación. En general, un web orientado a la estatificación tiene las mismas capacidades de diseño que uno completamente dinámico, pero resulta evidente que el proceso de creación de las páginas puede verse alterado en mayor o menor medida, dependiendo de los casos concretos. Para poder obtener una página html partiendo de contenidos dinámicos, necesitamos dos elementos esenciales. Por un lado el diseño de la página al que denominaremos plantilla y por otro lado los datos que conformarán el contenido O R G A N I Z A N : que ha de rellenar ésta. Existen múltiples formas de crear las plantillas que generarán la página, y múltiples soluciones de software que realizan esta labor, pero las mas utilizadas pueden resumirse en tres: - - - Plantillas basadas en XML: La página es codificada dentro de una plantilla XSL que es combinada con los datos provenientes de la base de datos en formato XML. Este es un sistema muy eficaz y rápido y ampliamente soportado por soluciones software que se encuentran en el mercado. Su principal punto débil es la complicación a la hora de generar los archivos XSL. Plantillas propietarias: Algunas soluciones de software comerciales (también algunas de software libre) utilizan sus propios lenguajes de generación de plantillas, los cuales generarán junto con los contenidos de la base de datos, la página html. La gran ventaja de este sistema suele ser la gran potencia de los lenguajes propios de la generación de plantilla y su sencillez a la hora de crear las plantillas. Estos productos suelen aceptar los datos provenientes de la BB.DD. en diversos formatos tales como XML, conexiones JDBC u ODBC, etc.. Por otro lado, cuenta con la desventaja de depender de un producto de software que no suele ajustarse a estándares. Cacheo de páginas dinámicas: Esta es una solución muy utilizada, consiste en diseñar el web como si de un sitio dinámico tradicional se tratase y dotarlo de un proceso capaz de solicitar vía http la página dinámica como si de un navegador se tratase y almacenarla en el disco en formato html. Esta técnica resulta especialmente útil en los casos en los que se desea adaptar un web ya programado a esta técnica. Esta opción es la más segura para sistemas que no contengan una gran complicación técnica ni una gran cantidad de datos. Un caso práctico, la web de la Colección Carmen Thyssen Bornemisza. El caso concreto de un museo, exposición, o como en este caso una colección de arte es especialmente ilustrativo. Analizando las características del sitio y sus necesidades podemos extraer lo siguiente: - El centro de la información lo conforman fichas, tanto de autores como de obras que se actualizan de forma ocasional. El volumen de información no crece de forma significativa Es esencial un buen posicionamiento en buscadores. En este proyecto, el volumen de información no suele crecer de forma significativa y las modificaciones y adicciones son ocasionales. Esto nos lleva prácticamente a descartar los sistemas basados en procesos de servidor y decantarnos por un sistema de estatificación on-line e inmediato. Por otro lado, se ha de evaluar cual es el tipo de plantilla de página que se ha de elegir. De los tres grandes grupos indicados en éste artículo, se descartó de forma inicial el de los productos de terceros dado que ofrecen soluciones cerradas y solo en casos concretos en que el volumen de la información así lo requiera se recurre a ellos. Entre los otros dos modelos de diseño de plantillas se evaluaron los pros y los contras de cada uno de ellos. El modelo basado en plantillas XSL y datos XML ofrece una gran velocidad de estatificación y una mayor complejidad del sistema en general, en cambio el sistema basado en cacheo de páginas resulta más lento, pero de implementación mas sencilla. Puesto que la cantidad de datos a modificar de forma diaria en el web es muy pequeño y la diferencia de velocidad puede considerarse prácticamente despreciable. En este caso la sencillez del sistema de caché de páginas inclinó la balanza, puesto que el sistema resultaría en un web dinámico tal y como se conoce generalmente, fácil de modificar y adaptar. O R G A N I Z A N : La complejidad técnica es un aspecto imprescindible a tener en cuenta en este tipo de sistemas, un web difícil de mantener y modificar solo puede justificarse por cuestiones de rendimiento cuando se trata de grandes volúmenes de información. En este caso el volumen de información a estatificar no justifica en ningún caso la implantación de un sistema complejo. Las plantillas basadas en XSL son difíciles de crear y de modificar y requiere de personal muy cualificado para ello. En cambio las páginas JSP son fáciles de mantener, modificar, sustituir o ampliar. Secciones estatificables. El primer análisis de la aplicación ha de identificar de forma clara cuales son las partes de ésta que han de ser estatificadas. En este caso es fácil observar que el grueso de la información se encuentra aglutinada en las fichas tanto de obras como de autores. Ambas se encuentran almacenadas en un gestor de bases de datos, el cual mantiene la integridad referencial entre ellas. El mantenimiento de fichas dentro de una base de datos resulta siempre muy sencillo y potente, y resultaría poco práctico prescindir de él a favor de una web maquetada de forma estática. Otra de las cuestiones que obligan a que las fichas se encuentren almacenadas en base de datos es la indexación interna dentro de la aplicación, la cual permitirá que se puedan realizar búsquedas dinámicas dentro del propio web. Pero la facilidad de uso no es el único requisito que han de cumplir las fichas, uno de los mas importantes es la facilidad de acceso desde el exterior del propio web. Los buscadores de Internet o las referencias desde otros web y portales especializados son esenciales para la buena visibilidad de las obras de un museo o colección de arte. Para conseguir un correcto posicionamiento dentro de los buscadores y un acceso sencillo desde referencias externas se ha optado por pasar a estático estos contenidos y mantener todas las fichas en páginas estáticas en formato html. Las páginas estáticas ofrecen un excelente acceso desde el exterior del web, los buscadores de Internet pueden referenciarlas directamente y el resto de portales tienen una referencia clara. Puesto que cada ficha se encuentra maquetada de forma completa, cualquier referencia externa a esa página, seguirá conservando la identidad de la web de la colección, evitando el apropiamiento de información de forma automática. El resto de secciones de las secciones del web, ofrecen información institucional o información de navegación entre obras y autores. La información institucional no cuenta con el suficiente volumen de información que justifique la creación de una estructura dinámica para su alojamiento. Por otro lado las páginas referentes a la navegación, tales como visitas virtuales, obras destacadas, buscadores, etc, son páginas muy especificas que se elaboran en función de las necesidades concretas de la misma. Así, las páginas de búsqueda requerirán de sistemas dinámicos de búsqueda, mientras que el acceso a obras maestras puede maquetarse de forma estática con un diseño muy vistoso, puesto que esta página sufrirá modificaciones esporádicas. Conclusión. Como se ha visto en este artículo, la combinación de web estática y dinámica, ofrece una serie de ventajas incuestionables sin renunciar a las ventajas de ambas. En la mayor parte de los casos el esfuerzo extra que supone este tipo de sistemas se ve ampliamente compensado por sus beneficios a medio y largo plazo. O R G A N I Z A N :