Accesibilidad Web, Bases de Datos, CMS y Linked Open Data: Conceptos Clave

Accesibilidad Web: Niveles de Conformidad WCAG 2.0

Cada una de las pautas de accesibilidad cuenta con una serie de criterios de conformidad que son los requisitos verificables y tienen asociados un nivel de conformidad:

  • Nivel de conformidad “A” (Barreras): Si no se cumplen las pautas asociadas a este nivel, ciertos grupos de usuarios no podrían acceder a la información del sitio web.
  • Nivel de conformidad “AA” (Obstáculos): Si no se cumple este nivel de conformidad, a ciertos grupos de usuarios les sería muy difícil acceder a la información.
  • Nivel de conformidad “AAA” (Ruido): Si no se cumple, algunos usuarios experimentarían ciertas dificultades para acceder a la información.

Evolución, Ventajas y Características de las Bases de Datos

Evolución

  1. Mantenimiento de bases de datos informativas utilizadas para la creación de páginas web estáticas: Se usaban scripts automáticos que realizaban consultas a las bases de datos y generaban las páginas web en un proceso de sincronización que se ejecutaba según una frecuencia temporal establecida.
  2. Lenguajes y scripts de servidor: integración con SGBD: Permitían recoger las necesidades de información de los usuarios a través de formularios y lanzar consultas al SGBD que devolvía una salida que era tratada y devuelta al usuario. Comenzaron a desarrollarse páginas dinámicas cuyo contenido variaba según el contenido de bases de datos concretas.
  3. La propia web como interfaz: No solo para la consulta de información, sino para el mantenimiento de las bases de datos. Surgen los CMS y otras aplicaciones web que mantienen el contenido de las bases de datos con las que están integradas.

Ventajas

  • Separar las aplicaciones de los datos con los que trabajan:
    • Elaboración de estructuras de datos eficientes (estructuras de tablas normalizadas) con la consiguiente eficacia en el mantenimiento tanto de las aplicaciones como de los datos.
    • La gestión de los datos puede realizarse por personas con una formación ofimática básica y que no precisen de conocimientos de programación o diseño de páginas web.
  • La información gestionada en bases de datos puede ser reutilizada y presentarse de diversos modos: El uso conjunto de estos datos con XHTML/HTML y CSS permite crear una estructura en donde la información se muestra mediante varias capas: estructura, datos, formato, presentación y aplicación.
  • Las bases de datos permiten a los usuarios realizar búsquedas según diferentes criterios cuyos contenidos y especificaciones pueden variar a lo largo del tiempo. Por ejemplo, el usuario no solamente puede cambiar el texto de sus búsquedas, sino que a nivel de aplicación pueden añadirse nuevos campos que sean objeto de la búsqueda.

Características

  • Naturaleza auto descriptiva: El sistema contiene una definición o descripción completa de la base de datos. La estructura y organización detalladas se guardan en el catálogo (metadatos, “datos sobre datos” = información sobre la estructura, tipo y formato de almacenamiento de cada elemento de información, y las diversas restricciones que se aplican a los datos).
  • Control de concurrencia: Un SGBD multiusuario debe asegurar que cuando varios usuarios intenten actualizar los mismos datos, lo hagan de manera controlada para que el resultado de las actualizaciones sea correcto.
    • Transacción: Secuencia de operaciones de acceso a la BD que constituye una unidad lógica de ejecución. Por ejemplo, transferencia de fondos: se carga una cantidad en una cuenta y se abona en otra o se realiza la transacción (2 operaciones) completa, o no se realiza ninguna operación.
  • Seguridad: Muchos usuarios (o grupos de usuarios) comparten y acceden a una misma BD, siendo necesario definir niveles de acceso (permisos) a determinados datos y/o operaciones. El subsistema de seguridad del SGBD crea usuarios y grupos, así como los permisos y contraseñas de los mismos.
  • Abstracción de datos: Un SGBD ofrece a los usuarios una representación conceptual de los datos que no incluye detalles de almacenamiento. Los usuarios hacen referencia a la representación conceptual, y el SGBD extrae del catálogo los detalles de almacenamiento de estos cuando los necesita.
  • Modelos de datos: Conjunto de conceptos para describir la estructura (tipos de datos, relaciones y restricciones) de una BD y un conjunto de operaciones para especificar consultas y actualizaciones de la BD.
    • Intervienen conceptos lógicos (objetos, sus propiedades y sus interrelaciones).
    • Oculta los detalles de almacenamiento que no interesan a los usuarios de la BD.
    • Esquemas: Descripción de la base de datos, diseño general de la BD. Un esquema, si está bien hecho, sufre pocos cambios a lo largo del tiempo (o ninguno).
    • Diagramas: Representan esquemas de BD en un determinado modelo. Visualiza ciertos aspectos del esquema, sin mostrar muchos otros: tipos de datos, relaciones entre elementos.
    • Instancias o ejemplares: Datos reales, colección de datos que contiene la BD en un momento dado. Las BDs cambian con inserciones, modificaciones y eliminaciones.

Hipertexto: El Modelo Autor-Lector-Pensador

Dinámica de funcionamiento de sistemas Hipermedia:

  • Pretende trasladar el modo en el que se adquiere y estructura el conocimiento en la mente del ser humano, de manera no secuencial, asociando diferentes elementos que transcienden los contenidos únicamente textuales.
  • Cuando pensamos sobre un tema, no lo hacemos linealmente, sino que acuden a nuestra mente multitud de experiencias y conocimientos relacionados de forma directa o indirecta con nuestra línea de pensamiento central.
  • Sin embargo, también cambia la dinámica de pensamiento (menos lineal y en ocasiones menos consistente) y la cultura informativa del lector/autor que se contenta con contenidos parciales sin tener en cuenta la totalidad del documento.

La hipermedia debe facilitar la interacción entre estos tres niveles:

  • La consulta de información permite su integración en esquemas de conocimiento susceptibles de cambio y evolución y su plasmación en nuevas ideas o la reelaboración de las ya existentes en otras estructuras.
  • La consulta de un documento o cualquier otro recurso de información: se trabaja con varios documentos, se accede a contenidos específicos a partir del índice, se vuelve hacia atrás, se consulta otro documento, se establecen similitudes, se toman notas… En ocasiones, se inicia un proceso de reelaboración de conocimientos en otros documentos contrastando fuentes y creando ideas.

Nuevo Paradigma en la Organización de la Información

  • Nuevas formas de acceso a la información.
  • Nuevos modelos de pensamiento a partir del modo de acceso.
  • Nuevas herramientas de elaboración de contenidos: deben adaptarse al nuevo medio de consulta.
  • Puede que los contenidos sean demasiado extensos y, por tanto, ineficaces: contenidos claros, breves y fáciles de integrar en el esquema de conocimientos del lector.
  • No es suficiente con la publicación de documentos lineales (secuenciales) a través de una estructura de nodos que plasmen la estructura del índice lineal (cada epígrafe en un nodo).
  • Un esquema hipertextual puro puede no resultar adecuado: ciertos contenidos deberán estructurarse en forma de red, otros en un esquema híbrido que combine el acceso lineal a determinados contenidos integrados en la red de documentos.

Ventajas de los Sistemas de Gestión de Contenidos (CMS)

  1. Simplifican las tareas para publicar y editar gran cantidad de páginas, así como los datos de edición, distintas versiones, caducidad de las páginas, enlaces rotos, etc. Un CMS propicia una gestión más eficiente que la manual.
  2. Se reduce el coste de gestión y mantenimiento del portal con respecto a una web estática (donde cada cambio es manual y para cada nuevo contenido tiene que maquetarse una nueva página y subirla al servidor web).
  3. Permiten recuperar y reutilizar páginas, documentos y, en general, cualquier objeto publicado o almacenado. También permiten una sencilla integración con datos y aplicaciones existentes siempre que exista compatibilidad tecnológica.
  4. En una web tradicional, incluir nuevas funciones implicaba revisar muchas páginas y nuevo código. Un CMS simplifica esta tarea hasta el nivel de sólo tener que incluir módulos realizados por terceros, sin apenas cambios en el resto de la web. El sistema crece y se adapta.
  5. El código generado por un CMS permite reducir el tamaño de las páginas, agilizando su descarga y facilitando la aplicación de las pautas de accesibilidad WCAG.
  6. Facilitan los cambios de aspecto de la web con la utilización de hojas de estilo CSS y plantillas (temas visuales) que proporcionan la independencia entre presentación y contenido. Un cambio en el tema visual tiene reflejo prácticamente instantáneo en cientos o miles de páginas. El ahorro de tiempo es considerable.
  7. Aportan una mayor consistencia y homogeneidad al sitio web, aportando orden visual en lugar de un caos y aplicando un mismo estilo visual y similar estructura y sistemas de navegación.
  8. Permiten desarrollar políticas de control de acceso a la web. No se trata sólo de permitir la entrada a la página principal, también hay que gestionar los diferentes permisos (individuales o a grupos de usuarios) a cada área o sección del sitio.

Inconvenientes de los CMS

  1. Algunos diseñadores acusan a las web desarrolladas con un CMS de falta de personalidad propia, puesto que todas ofrecen un diseño similar. Sin embargo, la realización de un trabajo profesional puede lograr un estilo visual diferenciado.
  2. Problemas de seguridad: Los CMS están programados en lenguajes como PHP, Java, etc., y utilizan SGBDs como MySQL para los que en ocasiones se detectan agujeros de seguridad. Otras veces el problema proviene de una mala configuración del servidor donde están alojados, especialmente los permisos de acceso a ficheros. Hay que actualizar frecuentemente la versión del CMS instalado (y de PHP y MySQL, aunque esto lo harán los distribuidores).
  3. Mayor lentitud: El acceso a una web con CMS suele ser algo más lento que en el caso de una web estática, ya que se tienen que ejecutar scripts, consultar bases de datos, etc.
  4. La incorporación de funcionalidades adicionales o conseguir mayor flexibilidad para problemas concretos resulta complejo: Además del entorno de desarrollo utilizado por el CMS (lenguaje de programación, SGBD), también hay que dominar aspectos específicos del propio CMS (módulos, librerías, APIs).
  5. Cada CMS incorpora modelos diferenciados de gestión, permisos de usuarios, arquitecturas de módulos, elementos de organización y estructura de contenidos, etc. Drupal, WordPress y Joomla tienen visiones diferentes para crear, organizar y gestionar los contenidos. Los CMS son heterogéneos entre sí.

Funciones de un CMS

Un CMS desarrolla una serie de funciones en un entorno de participación. Generalmente, la mayor parte de usuarios se limitan a consultar la información visualizada mediante cierto diseño. La parte estática del CMS se refiere a tareas que suelen realizarse de forma esporádica e incluso una sola vez. Es realizada por administradores (instalación y mantenimiento del CMS) y diseñadores (creación de temas visuales). La parte dinámica se refiere a la gestión de los contenidos. Es desarrollada por los editores o usuarios con ciertos permisos (colaboradores, comentarios).

Elección de un CMS

Actualmente hay cientos de CMS de características muy diversas. Elegir un CMS es un proceso laborioso que debe realizarse tras un análisis que permita identificar la solución más adecuada para las necesidades de un proyecto web concreto, tanto actuales como futuras. Las soluciones software libre copan el mercado de los CMS dirigidos a contenidos Web, puesto que las soluciones privativas no ofrecen ninguna ventaja competitiva respecto a estos que justifique el sobrecoste de adquisición y mantenimiento de las licencias correspondientes.

Criterios de análisis para la elección de un CMS:

  1. Comprobación de características técnicas.
  2. Confianza del proyecto de software libre del CMS.
  3. Flexibilidad de las soluciones del software.
  4. Escenario de implantación.
  5. Tiempo de publicación de contenidos.

LAMP: Papel y Funcionamiento de sus Elementos

LAMP es un servidor web, un servidor de páginas web, un lenguaje de programación y una base de datos.

  • Apache: El servidor de páginas web más utilizado desde prácticamente el principio de la web.
  • MySQL: Sistema gestor de bases de datos relacionales, multiusuario, de gran popularidad.
  • PHP: Lenguaje de programación de referencia para el desarrollo web.

Las combinaciones de servidores como Linux y PHP son plataformas LAMP. Se trata de una tecnología web que combina 4 de las grandes tecnologías disponibles para dicho entorno: Linux, Apache, MySQL y PHP.

Está compuesto por:

  • Sistema operativo: Linux, Windows, etc.
  • Servidor web: Apache, Tomcat, etc.
  • Base de datos: MySQL, Postgres, SQLite, Oracle, etc.
  • Lenguaje de programación de servidor: PHP, Perl, Python, JSP, Ruby, etc.

Funcionamiento de los elementos:

  • Cliente Web/DNS: Navegador Web.
  • Servidor DNS: Conversor de nombres a IPs.
  • Servidor Web: Almacén y procesador de la Información Web. Apache en nuestro caso.
  • Módulo de PHP: Módulo para Apache que permite procesar ficheros escritos en el lenguaje PHP. (Por ejemplo: PHP5)
  • Aplicación LAMP: Conjunto de ficheros PHP que componen una Aplicación Web. (Por ejemplo: PhpMyAdmin)
  • SGBD: Sistema de gestión de bases de datos que permitirá almacenar la información dinámicamente. (Por ejemplo MySQL)

Hipermedia: Ventajas e Inconvenientes

Ventajas

  • Modelo flexible para representar información con un nivel de estructuración y formalización bajo o inexistente, permitiendo su posterior reutilización en otro tipo de estructuras jerárquicas o lineales.
  • Es un modelo para organizar un mismo conjunto de elementos informativos de distintas formas para su acceso (secuencial, jerárquica, red, híbrida, etc).
  • Esquema modular tanto de los nodos como de los distintos objetos multimedia que contienen.
  • La dinámica de interacción entre usuario y sistema es muy sencilla e intuitiva: navegación, activación de enlaces, etc.
  • Entorno ideal para los procesos de edición colaborativa de contenidos.

Inconvenientes

  • La desorientación aparece cuando el usuario no tiene control sobre el acceso a los nodos y su ubicación en un momento dado dentro de la estructura hipertextual.
  • La sobrecarga cognoscitiva se asocia al esfuerzo adicional que le supone al usuario comprender la organización y funcionamiento del sistema que está utilizando.
  • El acceso incompleto a la información tiene que ver con el diseño deficiente de los contenidos.
  • El control de versiones es otro problema de la hipermedia, principalmente en entornos colaborativos de elaboración y publicación.

Arquitectura de la Información: Elementos y Aplicación

Arquitectura de la Información para la Web

La Arquitectura de la Información para la Web aborda los aspectos relacionados con la adecuada organización y estructuración de los contenidos. La Arquitectura persigue distribuir los espacios de la manera más armónica posible para su mejor aprovechamiento y comodidad del usuario. La Arquitectura de la Información para la Web pretende lo mismo: crear espacios llenos de contenidos de acceso sencillo e interrelacionados entre sí, de manera que el usuario localice rápidamente lo que busca, le sea de utilidad y lo encuentre agradable y atractivo de consultar.

Rosenfeld y Morville la definen en una triple vertiente:

  • Estructura: Combinar organización, etiquetado y esquemas de información dentro de un sistema de navegación.
  • Función: Diseñar la estructura de la información para facilitar la finalización de tareas basadas en información mediante un acceso intuitivo a los contenidos.
  • Objeto: Estructurar y organizar los sitios web para ayudar a los usuarios a encontrar información y a los gestores del sitio a mantener los contenidos.

Elementos o Componentes de la AI

La AI se encarga de organizar, estructurar, describir y etiquetar los elementos de información para facilitar su localización:

  • Sistemas o estructuras no observables a los que se denomina “componentes de la AI” o “estructuras arquitectónicas” de una web.
  • En cierta manera es una estructura invisible que se encuentra detrás de la superficie que puede apreciar el visitante cuando interacciona con las páginas web.
  • Los principales componentes de la IA que suelen identificarse: sistemas de organización, de vocabularios, de etiquetado, de navegación y de búsqueda.
  • Diseñados para permitir descubrir y recuperar la información relevante que contiene el sitio.
  • Actúan de forma articulada: a veces es difícil decidir dónde acaba uno de los sistemas y dónde empieza otro.
  • Los componentes no pueden ser fijos e inmutables: deben interaccionar entre ellos, expresando las relaciones conceptuales que mantienen los contenidos que alberga la web, y adaptándose continuamente a los cambios que estos vayan presentando en el tiempo.

Aplicación de la Arquitectura de la Información

  • Organizar la información: Crear esquemas de organización de la información (alfabéticas, cronológicas, geográficas, funcional, perfiles, etc.) y definir las estructuras de acceso a la misma (jerárquicas, bases de datos, hipertexto).
  • Definición de los vocabularios controlados: Se usan para describir el contenido y normalizar la terminología utilizada para la descripción de los metadatos de los contenidos (temas, personas, lugares, eventos, etc.).
  • Diseñar los sistemas de navegación: A partir de las estructuras y esquemas de la organización de la información se crean los sistemas de navegación (globales, locales, ad-hoc) para orientar y permitir al usuario desplazarse.
  • Elaborar los sistemas de rotulación: Usados para representar la información a través de un lenguaje adecuado al sitio web, en función de su contenido y tipologías.
  • Sistemas de búsqueda: Cuya presencia es complementaria a la navegación. Permiten localizar información rápidamente en grandes sitios web que albergan una gran cantidad de contenidos.

Linked Open Data

Linked Data es un término informático que se refiere a un método de publicación estructurada de los datos. Estos datos están interrelacionados, por lo que resultan más útiles para aquellos que quieran consultarlos y profundizar en un tema concreto. Linked Data surgió a partir del proyecto de la Web Semántica, que quiere impulsar la introducción de metadatos semánticos en la World Wide Web.

Principios Linked Open Data

  • Utilizar URIs referenciables para identificar y acceder a objetos o recursos. Esto es de gran importancia para facilitar la definición de enlaces entre diferentes fuentes de datos. Un ejemplo de URI referenciable sería una URL que además de identificar inequívocamente un recurso, también proporciona una dirección para su recuperación.
  • Es posible utilizar el protocolo HTTP para la transmisión de datos entre cliente y servidor, pudiendo utilizar técnicas de Negociación de Contenido para indicar el formato en el que deben suministrarse los datos. En unos casos el servidor detectará que la petición se está realizando a través de un navegador web, en cuyo caso la información se suministrará al usuario en formato HTML/XHTML. En otros, la petición será realizada por parte de una aplicación informática y se utilizará un formato legible por máquina para suministrar los datos.
  • Incluir enlaces a URIs de recursos externos, utilizando fuentes externas, conectándolas con las propias y evitando duplicidades o procesos de replicación. Esto permite descubrir nuevos recursos partiendo de un conjunto de datos diferente.
  • Disponibilidad para descargar los conjuntos de datos completos o utilizar SPARQL Endpoint para construir consultas que permitan recuperar, de un modo más selectivo, únicamente aquellos datos que se precisen.
  • Desde el punto de vista de la apertura de los datos, es importante que estos dispongan de una licencia de explotación explícita compatible con la reutilización flexible, sin contraprestaciones de ningún tipo y no restrictiva.

Bases de Datos

  • Una Base de Datos (BD) es un conjunto de hechos conocidos con un significado que pueden registrarse (datos) relacionados entre sí.
  • Los datos se estructuran de forma coherente y con un significado inherente para reflejar los objetos, las relaciones y las restricciones existentes en el mundo real.
  • Toda BD se diseña, construye y puebla con datos para un propósito específico, integrando archivos de datos independientes donde se elimina parcial o totalmente cualquier redundancia entre los mismos.

Dos Características Fundamentales de las BD

  • Integrada: Una BD puede considerarse como una unificación de varios archivos de datos independientes, donde se elimina parcial o totalmente cualquier redundancia entre los mismos.
  • Compartida: Se entiende que partes individuales de la BD pueden compartirse entre varios usuarios distintos, en el sentido que cada uno de ellos puede tener acceso a la misma parte de la BD y utilizarla con propósitos diferentes.