Download pdf BBDD vs. páginas HTML : una experiencia práctica de

Document related concepts

Página web wikipedia , lookup

Contenido dinámico wikipedia , lookup

Diseño web wikipedia , lookup

Microformato wikipedia , lookup

Referer (Cabecera HTTP) wikipedia , lookup

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 :