Tema 1_ Fundamentos de la tecnología web y de los sistemas de gestión de contenidos PDF
Document Details
Uploaded by Deleted User
Tags
Summary
Introduction to Internet and its evolution from ARPANET. Discusses the concept of computer networks, the project Arpanet, and the development of the TCP/IP protocol. This is an overview of the internet and related protocols.
Full Transcript
Tema 1: Fundamentos de la tecnología web y de los sistemas de gestión de contenidos Introducción a Internet Internet es producto de la evolución de la antigua ARPANET (1969), proyecto de red informática descentralizada. El concepto de red de ordenadores: proyecto Arpanet - En los años 60...
Tema 1: Fundamentos de la tecnología web y de los sistemas de gestión de contenidos Introducción a Internet Internet es producto de la evolución de la antigua ARPANET (1969), proyecto de red informática descentralizada. El concepto de red de ordenadores: proyecto Arpanet - En los años 60, promovido por la Secretaría de Defensa de los Estados Unidos (“Pentágono”), DARPA: Defense Advanced Research Projects Agency. DARPA propone a varios equipos científicos la creación de una red informática de carácter descentralizado, donde todas las estaciones de trabajo (ETs) fueran al unísono clientes y servidoras. Una red de redes resultante de superponer e interconectar múltiples subredes: alcance universal y casi la única característica común de los ordenadores conectados es la conexión. En 1961 Leonard Kleinrock desarrolló la teoría de la conmutación de paquetes: dividir un mensaje en paquetes que se unían en el ordenador de destino. - Este sistema es mucho más eficiente, fiable y flexible que la conmutación de circuitos para establecer una ruta por la que el mensaje circula linealmente y que se utilizaba hasta entonces. En 1965 Lawrence Roberts conectó dos ordenadores y obtuvo una comunicación efectiva de paquetes de datos. En 1969 culmina el proyecto ARPANET con el envío del primer mensaje de correo electrónico, por parte el equipo de trabajo dirigido por Kleinrock. Solo contenía una palabra: “Hi” Protocolo TCP/IP - Protocolo de comunicaciones: conjunto de normas que regulan el formato y la transmisión de datos para solucionar los problemas de interconexión de redes informáticas. - En el caso de Internet ese protocolo de comunicaciones es el TCP/IP (“Transmission Control Protocol/Internet Protocol”) - Propuesto y desarrollado por Vinton Cerf y Bob Kahn (1974). El protocolo TCP es el encargado del control del flujo de datos y de la transmisión segura por la red de los paquetes de datos - TCP: segmenta y enumera los mensajes en paquetes de datos, para su reensamblaje y añade información para transmitirlo y decodificarlo así como para detectar posibles errores. El protocolo IP se encarga de la identificación de origen y destino de la transmisión y del adecuado direccionamiento de los paquetes de datos. - IP: Etiqueta cada paquete con la información de origen/destino. Cada ordenador posee una dirección IP que lo distingue del resto, formada por cuatro dígitos numéricos de 0 a 255). TCP/IP agrupa los paquetes de datos según la aplicación que los requiere y/o envía mediante un “puerto TCP”. Ejemplo: el protocolo HTTP por defecto utiliza el puerto 80. Dirección IP/ IP Adress Una función del protocolo IP es asignar una dirección de red a los ordenadores conectados. Dirección IP: número binario de 32 bits =4 octetos binarios de valor decimal comprendido entre 0 y 255. - Permite identificar unívocamente a un ordenador conectado directamente a Internet y permite la transferencia de mensajes. La identificación puede ser fija o dinámica asignando una dirección IP en cada conexión (DHCP, Dynamic Host Configuration Protocol). - Se expresa en el formato de cuarteto punteado (192.0.0.1). Los tres primeros bytes identifican la red a la que está conectada el ordenador, el último byte identifica al ordenador en sí mismo. Se está llevando a cabo la sustitución de versión de protocolo (de IPv4 aIPv6) para aumentar el número potencial de ordenadores conectados. El nuevo protocolo IPv6 emplea un sistema de numeración 128 bits de longitud: se escriben como ocho grupos de cuatro dígitos hexadecimales. De 4.294.967.296 ( ) direcciones IPv4 a más de 340 sextillones ( ) de direcciones IPv6. Domain Name System – Sistema de Nombres de Dominio Acceder a los servicios y recursos de Internet directamente mediante direcciones IP resulta complejo. DNS es un sistema normalizado (con ligeras variaciones según el país) de base de datos distribuida que almacena la equivalencia entre nombres de máquina y direcciones IP. Evitando que los usuarios deban recordar y usar directamente direcciones IP. El dominio de nivel superior se encuentra a la derecha e identifica un país, categoría o tipo de organización. Los dominios de segundo nivel se encuentran a la izquierda del dominio de nivel superior y suelen identificar una organización. Los subdominios se encuentra a la izquierda del dominio de segundo nivel y se asocian a una dirección asociada a un dominio de segundo nivel. El espacio de nombres de dominio tiene una estructura arborescente. Las hojas y los nodos del árbol se utilizan como etiquetas de los medios. Un nombre de dominio completo de un objeto consiste en la concatenación de todas las etiquetas de un camino. Las etiquetas son cadenas alfanuméricas (con «-» como único símbolo permitido), deben contar con al menos un carácter y un máximo de 63 caracteres de longitud, y deberá comenzar con una letra (y no con «-»). Las etiquetas individuales están separadas por puntos. Un nombre de dominio termina con un punto (aunque este último punto generalmente se omite, ya que es puramente formal). Un nombre de dominio correctamente formado (FQDN, por sus siglas en inglés), es por ejemplo este: www.ejemplo.com. (incluyendo el punto al final) Dominios de primer nivel genéricos (generic Top Level Domain, gTLD): representan nombres y multiorganizaciones. Tipo de organización (edu: académica; com: compañía privada; org: organización sin ánimo de lucro; gov: organización gubernamental, etc.). Otros:.net;.info,.tv,.biz,.name,.mobi, etc. Dominios de primer nivel en código de país, geográficos (ccTLD, country code Top Level Domain) Dos letras (.uk,.de,.jp,…): país, territorio u otra ubicación geográfica. Los dominios nacionales suelen tener un organismo responsable de su gestión. En España: Departamento de Registro de Dominios de Red.es: https://www.dominios.es/es Dominios secundarios: Estadounidenses: no usan dominios secundarios, o geográfico *.us Británicos: un dominio secundario y otro geográfico. (*.co.uk, *.ac.uk) En España es posible registrar dominios secundarios (.com.es;.nom.es; org.es; gob.es; edu.es) o directamente el dominio geográfico *.es. Registro de dominios Los registros de un dominio tienen una validez temporal (hay que renovarlos) y suelen realizarlos los proveedores de servicios de Internet (ISP), que normalmente ofrecerán también alojamiento web y correo electrónico. Domain Name System – Sistema de Nombres de Dominio ICANN - Internet Corporation for Assigned Names and Numbers Coordina la administración de los elementos técnicos del DNS. - IANA Internet Assigned Numbers Authority: supervisa la asignación global de direcciones IP y servidores raíz de DNS. Actualmente un departamento operado por ICANN. Registradores de dominios: - Para usuarios: proveedor de servicios de Internet (ISP) normalmente ofrecerá también servicio de alojamiento de páginas (hosting) y de correo electrónico. Los registros tienen una validez temporal. - Lista de registradores - Una cosa es dónde se registra el dominio y otra diferente dónde se encuentra físicamente el ordenador. Arquitectura cliente servidor Se fundamenta en la existencia de un programa, denominado servidor, que atiende las peticiones de otra aplicación denominada cliente, generalmente a través de una red informática. Dos tipos de agentes: - Cliente: Ordenador o programa informático que solicita información. Realiza las peticiones y procesa las respuestas para adecuarlas a una interfaz de usuario (front-end). - Servidor: Ordenador o programa informático que dispone de información. Tareas de almacenamiento de datos, atención de solicitudes y procesado de los mismos (back-end). Independientemente de la arquitectura física, toda aplicación informática consta al menos de tres niveles funcionales: - Nivel de presentación: trata con la interfaz entre el usuario y el sistema. Responsable de aceptar los datos de entrada del usuario y mostrar al usuario la información. - Nivel de la lógica de negocio: añade significado o valor a los datos subyacentes. Se validan los datos, se realizan los cálculos y tienen lugar otras rutinas de procesamiento de la información. - Nivel de acceso a los datos: responsable del almacenamiento físico y la extracción de los datos subyacentes. Un cliente que interactúa con el usuario, y un servidor que interactúa con los recursos compartidos. - Cliente: proporciona la interfaz entre el usuario y sistema. - Servidor: gestiona todo tipo de recursos compartidos (bases de datos, impresoras, aplicaciones, etc.) - Un servidor puede dar servicio a muchos clientes de forma simultánea, optimizando el acceso a los recursos compartidos que gestiona. - El mensaje es el mecanismo para la petición y entrega de solicitudes de servicio. - Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cómputo. - Ambiente heterogéneo: hardware y sistemas operativos de clientes y servidores no tienen que ser idénticos – clientes: suelen ser independientes de la plataforma del servidor. - Arquitectura escalable: permite agregar más clientes (escalabilidad horizontal) o mejorar las características del servidor, agregando y combinando múltiples servidores, cuando sea necesario (escalabilidad vertical). Fundamentos de la Web: Principios Web (World Wide Web): un proyecto de hipertexto en red desarrollado por un becario del CERN (Organización Europea para la Investigación Nuclear) de Ginebra llamado Tim Berners-Lee hacia finales del año 1991. - W3C: A Little History of the World Wide Web. Su idea original consistía en habilitar un medio para compartir información técnica entre una comunidad de usuarios, reducida entonces a los entornos científicos. El sistema se basa en la idea del hipertexto (entorno donde la recuperación de información la marca el usuario por medio de la navegación sin tener que seguir una ruta definida a priori). La web no es internet… se ha convertido en la plataforma donde se desarrollan los sistemas de información y su desarrollo es el paradigma de la sociedad de la información. La Web: red de recursos identificados mediante un URI (Uniform Resource Identifier). Cuando un URI también puede usarse para localizar y acceder al recurso se denomina URL (Uniform Resource Locator) Es posible definir enlaces entre recursos para crear una red accesible por los usuarios a través de un software visualizador (navegador, browser). Los navegadores web interpretan los datos enviados por el servidor para mostrar páginas web. - Las páginas web suelen estar compuestas de varios recursos (imágenes, vídeos, hojas de estilo, scripts, etc), cada uno con su URL independiente. - Los navegadores permiten visualizar una amplia variedad de medios y formatos: la naturaleza de los recursos es variada (textos, imágenes, vídeos, sonidos). Se utiliza el protocolo de aplicación HTTP (Hypertext Transfer Protocol) para establecer las conexiones y transmitir datos entre clientes y servidores. Los datos recibidos por el cliente permiten visualizar documentos elaborados mediante una serie de lenguajes como HTML, CSS, Javascript, etc. Los servidores web pueden integrarse con sistemas de bases de datos y ejecutar aplicaciones web con funcionalidades y propósitos muy diversos. Servicios de Acceso a la Información Web: proceso de conexión Protocolo HTTP HTTP: protocolo basado en el modelo cliente-servidor. - Protocolo sin estado, es decir, no registra ninguna información sobre conexiones anteriores. Al finalizar la transacción todos los datos de la conexión se pierden. - HTTP define un conjunto de instrucciones : GET , HEAD, POST , PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH Para acceder al contenido de la URL se abre una conexión (socket) con el host y se envía un mensaje. La respuesta del servidor está formada por encabezados seguidos del recurso solicitado. URL: Uniform Resource Locator URL: sistema de nomenclatura unívoco para cada recurso en Internet. Forma estandarizada de asociar un objeto (páginas web, imágenes, ficheros de audio) con una dirección en Internet. La sintaxis de una URL dependerá del tipo de objeto que se está referenciando. El formato general es: Protocolo://Nombre_de_maquina:Puerto/DIR1/DIR2/.../DIRn/Archivo Donde: - Protocolo: Indica con qué protocolo accedemos al objeto (http si es página web, ftp si se trata de un servidor FTP, etc). - Nombre_de_máquina: nombre del DNS o dirección IP del ordenador al cual nos conectamos. - Puerto: Cada protocolo de Internet tiene asignado por defecto un número de puerto (80 para servidores Web). En caso de que el servidor esté configurado con otro puerto es posible indicar esta información en la URL. - /DIR1/DIR2/..../DIRn: ruta de directorios y subdirectorios donde se ubica el recurso en el servidor. - Archivo: nombre del archivo del recurso. En cada caso cambiarán los valores dependiendo del tipo de objeto al que se acceda: - Página Web: http://www.um.es:80/docencia/profesor/index.php - Servicio FTP: ftp://ftp.silverplatter.com/ - Archivo local: file:///C|/descarga/Venganza-del-Mouse.gif - Dirección de correo electrónico: mailto:[email protected] Hoy día se está ampliando el concepto de URL mediante el uso del término URI (Uniform Resource Identifier): amplía la localización de recursos existentes en Internet a la identificación de los mismos con independencia de su localización y acceso. Las referencias URI se generalizan como IRI (Internationalized Resource Identifier): permite utilizar caracteres UNICODE para codificar identificadores de recursos. Navegador = Cliente web Software para que un usuario pueda abrir URLs y realizar un proceso de navegación mediante la activación de enlaces. Una página WEB no es un único objeto, está compuesto por múltiples ficheros. Existe un fichero principal cuyo contenido está marcado mediante HTML pero que incluye otros elementos o referencias a archivos (hojas de estilo CSS, Javascript, etc). Cuando un usuario recupera una página web el navegador realiza la petición de todos los recursos que la componen. A partir de la propia estructura y elementos del lenguaje HTML los navegadores permiten integrar texto con otro contenido audiovisual. Incorporan una serie de funcionalidades adicionales para facilitar el acceso y consulta de páginas: marcadores, historial, tipos y tamaños de letra, etc. Los navegadores pueden ampliar sus funciones mediante extensiones. Web 2.0 Web 2.0 es la representación de la evolución de las aplicaciones tradicionales hacia aplicaciones web enfocadas al usuario final. Es un binomio formado por una nueva actitud más participativa para compartir recursos en entornos sociales y por la tecnología que permite llevarla a cabo. Por tanto, no es exactamente una versión nueva de la Web. Cuando surgió la web, estábamos en un entorno estático, con páginas en HTML que sufrían pocas actualizaciones y no tenían interacción con el usuario. Web 2.0 es la transición que se ha dado de aplicaciones tradicionales hacia aplicaciones que funcionan a través del web enfocadas a la participación del usuario final en la elaboración de contenidos. - El término surgió cuando Dale Dougherty de O’Reilly Media utilizó este término en una conferencia en la que compartió una lluvia de ideas junto a Craig Cline de MediaLive en la que hablaba de la evolución de la web y de la aplicación de nuevos modelos de negocio. Principios de la Web 2.0 de Tim O’Reilly 1. La web como plataforma para el desarrollo de aplicaciones y almacenamiento de recursos. 2. Aprovechar la inteligencia colectiva: la participación activa de los usuarios es clave en la creación de contenidos. 3. La gestión de la base de datos como competencia básica: mientras las aplicaciones a veces son desarrollos sencillos (gestores de contenidos), por su parte los datos tienen valor estratégico. 4. Fin del ciclo de actualizaciones de versiones del software: se pasa de software cerrado con obsolescencia planificada a otro de servicios gratuítos/premium en la nube y en constante evolución (“beta perpetuo”). 5. Modelos de programación ligera que persigue la simplicidad y donde “menos es más” al evitar especificaciones y funciones excesivas. 6. El software no se limita a un único dispositivo, ni el consumo de los datos están ligado a una única plataforma, sino que se plantea un escenario multidispositivo en donde los datos pueden sindicarse para su consuma por otros medios. 7. Experiencias de usuario enriquecedoras, con interfaces altamente interactivas, usables, sencillas y agradables de utilizar. Causas de la aparición de la Web 2.0 - Se ha producido una evolución en la comunicación web, tanto de los contenidos como entre usuarios y comunidades. - Conexiones de banda ancha que permiten un acceso más rápido no solo a contenidos, sino también a herramientas y aplicaciones. - Mayor madurez tecnológica: nuevos navegadores, evolución de HTML, CSS, AJAX, Mashups (aplicaciones híbridas que integran diferentes aplicaciones), APIs para reutilizar servicios y datos, etc… - Estándares de intercambio de datos para sindicar, compartir y reutilizar contenidos y objetos digitales. - Mayor experiencia en el diseño de servicios que permiten aplicaciones más eficientes y adaptadas a distintos tipos de usuarios y dispositivos superando determinadas limitaciones tecnológicos. - Mayor cultura digital en la población, así como una mayor presencia de nativos digitales. Web 2.0: aplicaciones más frecuentes Blogs: espacio web personal en el que su autor o autores puede escribir cronológicamente artículos, noticias (entradas/post) y en el que los lectores también pueden escribir sus comentarios (Blogger, WordPress.com, Weblogs, etc). Wikis: espacio web colaborativo, organizado mediante una estructura hipertextual donde varias personas elaboran contenidos de manera asíncrona. Es un proceso de edición muy ágil y rápido. Es común mantener un archivo histórico de las versiones anteriores (Wikipedia, Wikia, Wikispaces,etc) Redes sociales: Sitios web donde cada usuario dispone de un perfil donde publica contenidos y se comunica con otros usuarios. Existen redes sociales generales (Facebook, Twitter/X) o profesionales, dirigidas a establecer contactos dentro del mundo empresarial (Linkedin, ResearchGate). Entornos para compartir recursos: permiten almacenar y compartir recursos o contenidos tales como documentos (Google Docs), vídeos (Youtube, Vimeo, Dailymotion), imágenes (Instagram, Pinterest, Flickr,…), agregadores (Digg, Reddit), ficheros (Dropbox, Google Drive, …), presentaciones (Prezi, Slideshare) o plataformas educativas (Blackboard, Moodle) entre otros. Web estática El modelo inicial de edición es suficiente para sitios web pequeños. Algunos problemas debidos al crecimiento de un sitio web: - Necesidad de creación de menús de navegación o elementos comunes: si cada página debe contener elementos comunes, cualquier cambio en dichos elementos obliga a modificar todas las páginas. - Modificaciones frecuentes de contenido(por ejemplo, un periódico), implica la edición manual de ficheros ralentizando el proceso: Las personas sin conocimientos técnicos que quieren participar en el sitio pueden cometer errores editando los ficheros. Se debe conocer el lenguaje HTML. - Necesidad de utilizar sistemas de gestión de bases de datos para manejar y reutilizar información con un alto grado de estructuración y complejidad organizativa. - No es aconsejable a largo plazo. En algún momento se tendrá que actualizar para que no ofrezca una imagen obsoleta. - Funcionalidad limitada. No brinda todas las funcionalidades que ofrece un sitio Web dinámico. Podremos añadir texto, imágenes, vídeos y enlaces en el contenido, pero aparte de eso, no hay otras funciones especiales que se puedan realizar. Aunque es posible recurrir a algunas extensiones. Una solución: que las páginas no sean ficheros estáticos guardados en el disco, sino que se generen cuando el usuario las solicite. Generación de páginas dinámicas en el servidor Tecnologías Server Side, se ejecutan en el servidor web: utilización del CGI (Common Gateway Interface), servlets, Java Server Pages, ASP, PHP... Los scripts (programa, guión, archivo de procesamiento) se almacenan y ejecutan en el servidor. Son lanzados (puestos en funcionamiento) al ser solicitados por el navegador. Procesan información enviada desde el navegador en forma de peticiones (POST, GET) y también información almacenada en el servidor, normalmente en una base de datos. Resultado final: se genera una página HTML que refleja esos resultados y es lo que se recibe y visualiza en navegador. - Usuario: escribe la dirección de la página web en su navegador. - Navegador: la solicita al servidor web. - Servidor: detecta que no es un documento ya existente, tiene que generarse, recurre al intérprete del lenguaje. - Intérprete: ejecuta el programa, que requiere ejecutar consultas al sistema gestor de bases de datos y la salida del programa se envía al servidor. - Servidor: envía el fichero al navegador. - Navegador: muestra la página web al usuario. Ventajas de los scripts en servidor: - El navegador solo recibe el output final del servidor y no otra información, por lo que son más seguros. - Estos scripts tienen acceso directo a datos almacenados en el servidor. - Lenguajes y entornos de programación orientados al desarrollo de aplicaciones web, integrados con sistemas de gestión de bases de datos, lo que permite diseñar aplicaciones avanzadas y en ocasiones con estructuras de almacenamiento de datos muy complejas. Inconvenientes de los scripts en servidor : - Consumen recursos del servidor. - No tienen acceso directo a la información del navegador. - Los scripts defectuosos pueden producir lagunas de seguridad o incluso hacer caer al servidor. Internet vs INtranet vs Extranet Intranet: Es un entorno con varios usuarios conectados, pero la red es privada. Servidores web de acceso restringido a una red de comunicaciones interna de una organización. Invisibles desde fuera de la red corporativa. Es una herramienta de gestión muy útil para las empresas. (difunden información y establecen grupos de colaboración). Extranet: Es una red privada que puede utilizar la red Internet para comunicarse. Servicios web restringidos a un conjunto de usuarios autorizados, pero que funciona sobre la red internet convencional. La tendencia al teletrabajo y a las organizaciones descentralizadas hace frecuente que el servicio de intranet (para el personal de organización b, para las empresas colaboradoras para los centes) funcione en realidad como una extranet. Sitios web en los que hay un login de usuario que permite la interacción identificada. Implican capas muy relevantes de seguridad y privacidad y comunidad. Red de nodos iguales vs. Plataformas Es una infraestructura de tecnología de la información (TI) que conecta y comparte recursos entre dos o más sistemas informáticos sin necesidad de un servidor independiente o software de servidor. Esta red puede crearse conectando físicamente los ordenadores en un sistema enlazado o construyendo una red virtual. Building blocks … nodos y enlaces Los building blocks o “bloques de construcción” son son conceptos o elementos fundamentales que se utilizan para crear estructuras más complejas. Todo el mundo puede crear nuevos sitios web y nuevas páginas, que se enlazan libremente. Existen dos elementos básicos: - Nodos: Son bloques de información textual o multimedia que componen en sí mismos una unidad de sentido. Son independientes y complementarios a otros nodos. - Enlaces: Son conexiones que unen dos nodos diferentes. Todas las web están a la misma distancia ideal, un click. El acceso a ellas se vuelve inevitablemente una cuestión social (lucha por la visibilidad) y técnica (organización de la información) Building blocks … sitios y páginas Cada contenido individual, cada publicación, es un nodo independiente. - Un sitio web es una combinación o colección de páginas web agrupadas. Estas están enlazadas entre sí mediante hipervínculos. - Una página web: es una sección o apartado dentro del sitio web. - Cada página web puede competir con las demás, porque es accesible directamente a través de su propia dirección. - Podemos llegar a cada contenido individual sin atravesar previamente el sitio en el que se encuentra. Distribuidores de tráfico, ordenar la web Si todos los nodos son iguales, se hace naturalmente imprescindible un buen intermediador. O unos concentradores, como son las plataformas sociales masivas que absorben contenidos e interacción en un único sitio que diseña nuestro acceso. Un concentrador, también conocido como hub, es un dispositivo de red que permite centralizar diferentes nodos de una red. Su función es establecer una conexión entre un número indefinido de computadoras y permitir el intercambio de datos. Invisibilidad de la recomendación La arquitectura de la información de un sitio web se caracteriza en muchos de sus elementos por no ser directamente observable por parte del usuario. Se encuentra por debajo o por detrás de la fina superficie que puede apreciar el visitante cuando interacciona. Un buscador que nos orienta de forma natural, invisible, inevitable, útil, ligera, cómoda … Un agente que entiende lo que le dicen los usuarios y lo que dice cada una de las páginas de la web. Hipertexto El concepto de hipertexto surge como propuesta teórica (Memex, VannevarBush) o de laboratorio o aplicaciones para organización de información en ordenadores personales. La idea de la web de documentos con enlaces, cabalgando sobre una red abierta de nodos conectados y a través de una interfaz gráfica (Mosaic*) hace eclosionar el ecosistema. El Hipertexto es una herramienta de creación, enlace y distribución de información de diversas fuentes, que opera en base a una estructura no secuencial sino asociativa, es decir, no lineal, sino que lleva de una cosa a otra, quiere asemejarse en estructura al pensamiento humano. Esto se realiza mediante enlaces asociativos, que se denominan hipervínculos, esta dinámica se denomina enlace o link. A pesar de su nombre, no solo enlaza texto, sino cualquier medio, audio, página, archivo.. Hipertexto y Multimedia A la convivencia de este tipo de formatos se la suele denominar Hipermedia. Es el entorno donde convergen textos, navegación, interacción enriquecida, aplicaciones, imágenes, audios, videos, juegos, datos, etc. Capacidad de la web para que casi cualquier segmento o pieza de contenido sea anotada o marcada: todo es enlazable, etiquetable, marcable, describible, comentable …. y por lo tanto usable para activar o recibir un enlace. Web vs.Plataformas vs. Apps El mito original de la diversidad de nodos de la web se ve afectado por la tendencia natural a la concentración de contenidos, a la concentración de la orientación o a la creación de espacios cerrados en las apps. La forma de navegar ha cambiado mucho desde hace unos años, todas las conexiones se realizaban desde nuestro PC, ahora con los terminales inteligentes y los avances tecnológicos, tenemos conexión estemos donde estemos gracias a nuestros teléfonos. Por ese motivo se han desarrollado las webs app, que son una versión de la página web optimizada y adaptable a cualquier teléfono móvil. Una plataforma digital es un entorno en el que los usuarios podemos realizar tareas, gestionar actividades, colaborar con otros usuarios e interactuar por medio de las herramientas y funcionalidades que ofrece dicha plataforma. Existen multitud de plataformas: sociales, de música, de juegos, … Las Apps o aplicaciones móviles son un tipo de software de aplicación, que consisten en programas que se añaden al sistema para poder llevar a cabo diferentes operaciones, en la actualidad las elegimos y descargamos a nuestro dispositivo desde internet El final de la web de documentos El diseño original de la web es una web de documentos (páginas html) que presentan contenido y se conectan mediante hipervínculos. - Las páginas web, además de su propio contenido nativo (en html), permiten enlazar con otros recursos o medios (imágenes, audios) o con documentos en formatos específicos que se abren en el navegador o se descargan (doc, pdf, xls, mp3, zip, etc.). El mantenimiento de sistemas organizados de información en constante proceso de creación y actualización (sitios web), no puede afrontarse mediante la gestión manual de páginas tratadas como documentos. - Pronto en la web empezaron a integrarse bases de datos en las que se almacenan grandes conjuntos de información estructurada, que es presentada a través de páginas web programadas (php vs. html). En las páginas web se manejan de forma diferente los elementos de navegación y presentación (menús, estilo, identidad) de la carga del contenido específico (artículo, productos, contenido multimedia), mediante sistemas dinámicos que son invisibles al usuario final. - La programación y bases de datos permiten la configuración y administración centralizada y el trabajo coordinado de equipo de editores. El resultado visible para el usuario en cada página que consulta (nodo) es una página web generada de forma dinámica en cada petición, que extrae la información de bases de datos según ciertos parámetros de contexto y selección. Bases de datos en la web: introducción Los servicios y productos disponibles a través de Internet, se integran en la Web para que su localización y uso resulte más eficaz para el usuario. El gran volumen de contenidos y aplicaciones existentes precisan estructuras de bases de datos, siendo esencial contar con tecnologías para desarrollar herramientas que mantengan y exploten dichos recursos a partir de información estructurada. Las bases de datos han pasado de ser una aplicación informática especializada a estar presentes en nuestra vida cotidiana: - El uso de una tarjeta de crédito, la inscripción en un centro educativo, la consulta de información en un buscador, la reserva de un billete, etc. implican la existencia y el soporte de una BD. - Las bases de datos almacenan y gestionan el principal activo de la administración de cualquier empresa, los datos de clientes, proveedores, artículos, contabilidad, etc. - Se utilizan de forma masiva en el mantenimiento de sitios web mediante sistemas de gestión de contenidos. Definición y propiedades implícitas de BDs 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 la parcela del 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. Un SGBD (DBMS, DataBase Management System) es un sistema de software (conjunto de programas) de propósito general que facilita: - Definir: proceso de especificación los tipos de datos, estructuras y restricciones de los datos que se almacenarán. - Construir: proceso de guardar los datos mismos en algún medio de almacenamiento controlado por el SGBD. - Manipular: consultar la BD para obtener datos específicos y actualizar la BD. Visión general de un Sistema de BD Las partes individuales de una BD se pueden compartir entre varios usuarios distintos, teniendo cada cada uno de ellos acceso a la misma parte de la BD y utilizarla con propósitos diferentes. Se mantiene un único almacén de datos que se define una sola vez y al cual tienen acceso múltiples usuarios o aplicaciones. CMS Introducción CMS, Content Management Systems: sistemas de publicación de contenidos; permiten separar el trabajo de redacción y elaboración, de la presentación y organización de sitios. Extensión de las plataformas de gestión de contenidos → Simplificación del proceso de publicación Web → Continuo crecimiento de información disponible. Las primeras plataformas de gestión de contenidos se centraban en el concepto de página: - Maquetación, Inserción de imágenes, Enlazado, Reducción de la cantidad de código a editar. La plataformas de gestión de contenidos evolucionan significativamente cuando: - Se centran en la producción de los contenidos. - Se almacenan los elementos de información en bases de datos. - Presentan la información en forma de páginas web. - Disminuye la complejidad de gestión de un sitio web, en especial la organización de los contenidos, sistemas de navegación y presentación visual. - Permiten definir el flujo de gestión de los contenidos en la organizaciones, definir y gestionar perfiles y comunidades de usuarios y el papel de cada uno de los participantes. - Añaden funcionalidades adicionales: SEO, sindicación de contenidos, integración web 2.0, etc. Los CMS en la actualidad Sitios web dinámicos: la gestión manual de grandes volúmenes de contenidos y los requisitos de actualización de los sitios web serían impensables con herramientas tradicionales. Un sitio web debe ser administrado de una manera interactiva, es decir, debe ofrecer una interfaz para permitir crear, actualizar y reorganizar la información de los contenidos. Las empresas identifican la necesidad de establecer y administrar un marco referencial de contenidos para diferentes publicaciones. Existen cientos de sistemas de gestión de contenidos. Su fiabilidad, desarrollo, madurez e implantación en el mercado varía enormemente de una solución a otra. Concepto de CMS Un CMS es una aplicación para crear, administrar y publicar contenidos Web por parte de administradores, editores, participantes y demás roles, al tiempo que permite la consulta y visualización del sitio para los usuarios externos. Los CMS permiten evolucionar hacia sitios web dinámicos: interactuando con el servidor para generar páginas web bajo petición del usuario, con un formato determinado y cuyo contenido se almacena y extrae de una base de datos. Desde el punto de vista del administrador o del editor:ofrecen un entorno uniforme, accesible, cómodo y coordinado para la gestión del sitio web (back-end). Desde el punto de vista del usuario externo - conforma un espacio de información (front-end) de apariencia e interfaz uniformes - con múltiples herramientas de navegación y búsqueda - donde es posible interaccionar con los contenidos de un modo ágil y fomentando la participación. Aportación de los CMS a la gestión de contenidos Separan el trabajo de redacción y elaboración, de la presentación y organización del contenido web. Permiten centrarse en la gestión de información más que en la gestión de páginas web. - Amplían el rango de la información gestionada digitalmente, cuyo nivel de estructuración está a medio camino entre los documentos y las bases de datos (→ Responden a una visión de los sitios web como bases de datos semiestructuradas). - Abordan la gestión integral del ciclo de vida de los contenidos: Creación → Revisión → Almacenamiento → Publicación → Archivo → Difusión/Consulta Definen en mayor o menor medida un flujo editorial eficiente de gestión para los diferentes contenidos a partir de perfiles de usuario. - Permiten una gestión eficiente e integrada de objetos multimedia (audio, imágenes, vídeo...) y documentos (PDF, ficheros ofimáticos...) - Facilitan la integración y reutilización de información externa: sindicación de contenidos de otros sitios web (RSS), conexión con bases de datos con información corporativa, integración de objetos multimedia de sitios web de terceros, integración con redes sociales. Ventajas de los CMS - Un CMS agiliza el desarrollo y puesta en funcionamiento de un sitio web. - Simplificación y eficiencia de la gestión de un sitio con gran cantidad de páginas (datos de edición, versiones, caducidad, enlaces rotos, etc). - Políticas de control de acceso y gestión del sitio web con distintos tipos de permisos. - Separación de presentación y contenido, facilitando los cambios rápidos de aspecto usando plantillas y temas visuales, separando presentación y contenido. - Mayor consistencia y homogeneidad a un sitio web, a través de un estilo visual común, una estructura similar y sistemas de navegación homogéneos y coherentes. - Integración con contenidos y fuentes de datos externas. - El código generado por un CMS más eficiente, accesible y menos propenso a errores. - Disponibilidad de actualizaciones, soporte y comunidad de usuarios y desarrolladores. - Personas sin grandes conocimientos técnicos pueden crear y mantener un sitio web. - Funciones avanzadas difíciles de implementar de otro modo (formularios, encuestas, calendarios, etc) mediante una estructura modular para adaptar un sitio web según las necesidades en cada momento del proyecto. Inconvenientes de los CMS - Algunos diseñadores acusan a las web desarrolladas con un CMS de falta de personalidad propia, puesto que todas ofrecen un diseño similar. La realización de un trabajo profesional puede lograr un estilo visual diferenciado. - Mayor lentitud: el acceso a una web con CMS suele ser algo más lento que en el caso de una web estática (se tienen que ejecutar scripts, consultar bases de datos, etc). - Costos ocultos de implementación (adaptación y personalización): 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 (módulos, librerías, APIs). - 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í. - Soporte directo: para los sistemas CMS basados en la comunidad, el soporte directo puede no ser fácil de encontrar, y debe confiar en los foros de usuarios y la documentación existente. CMS comerciales o propietarios Ventajas - Generalmente más estables y con un contrato de solución de problemas en plazos determinados. - Incluyen una completa documentación y se puede contratar formación respecto al producto. - Puede tener incluidas directamente (o se pueden configurar) el conjunto de características necesarias que se adecuan más al negocio. - Ofrecen características específicas que no suelen encontrarse en las soluciones de código abierto. Inconvenientes - Mayor coste inicial que habitualmente supone su implantación debido al coste de su licencia. - La empresa propietaria controla el tipo de modificaciones o extensiones que se pueden realizar al producto. - Estas aplicaciones suelen integrarse mejor o de forma más sencilla con otras soluciones proporcionadas por el mismo fabricante, de modo que, al menos en parte, condiciona la estrategia general respecto al resto de sistemas de la organización. Dinámica de funcionamiento de un CMS Un CMS interactúa con un sistema gestor de bases de datos para almacenar de forma estructurada los contenidos. En la instalación de cualquier CMS se vincula el sistema con una base de datos. El CMS es la interfaz de software que controla una o varias bases de datos donde se aloja el contenido del sitio web manejando de forma independiente el contenido y el diseño. Así, es posible en cualquier momento cambiar el diseño visual al sitio web sin tener que aplicar de nuevo formato al contenido. El CMS genera páginas dinámicas interactuando con el servidor web, a petición del usuario, con el formato de la plantilla visual y con contenido extraído de la base de datos. 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). Funciones de un CMS: Edición Los CMS incorporan funcionalidades para crear y mantener los contenidos tanto textuales como multimedia. La creación de contenidos suele realizarse mediante un editor WYSIWYG, de forma que no es necesario el manejo del lenguaje HTML, si bien también es posible editar código en ese formato directamente. Los editores se centran en la redacción y estructuración de los contenidos, además de la incorporación de objetos multimedia (imágenes, vídeos, sonidos, etc) sin ocuparse de los aspectos relacionados con el estilo visual. Es frecuente que los CMS incorporan funciones para el control de versiones (de los contenidos).También, de forma nativa o mediante extensiones, permiten la gestión de contenidos multilingües de un modo sencillo. Funciones de un CMS: Acceso Un CMS está diseñado tanto para la consulta de los contenidos por parte de usuarios públicos como para su gestión realizada por usuarios con privilegios para ello. El acceso a las funciones de gestión de un sitio web se realiza a través de una serie de perfiles especializados. Todos los CMS incluyen la figura de administrador que puede realizar cualquier tarea en el sitio web. La función de gestión de los contenidos se realiza por los usuarios asociados a diferentes tipos de perfiles: editor, autor, colaborador, etc. Algunos CMS permiten diferentes tipos de acceso en función del tipo de contenido: algunos usuarios únicamente pueden consultar y/o gestionar los contenidos de una sección. El auto-registro de usuarios con un perfil por defecto es de utilidad para sitios web colaborativos o de comunidades de usuarios. Funciones de un CMS: Organización La organización permite definir el lugar que ocupa un contenido dentro de la estructura de un sitio web. La mayor parte de los CMS utilizan sistemas jerárquicos de categorías para establecer la sección a la que pertenece un determinado contenido. Es frecuente utilizar este sistema de categorías para definir perfiles de acceso y gestión a los contenidos. Las etiquetas permiten describir aspectos del contenido complementarios a la organización: personas, lugares, eventos, etc. La función de gestión de los contenidos se realiza por los usuarios asociados a diferentes tipos de perfiles: editor, autor, colaborador, etc. En los CMS la organización de un sitio se refleja a través de los correspondientes menús de navegación. Dichos menús pueden construirse manualmente o de forma automática a partir de un sistema de categorías/etiquetas. Las opciones de los menús suelen apuntar a páginas que muestran los contenidos de una determinada categoría o etiqueta. Funciones de un CMS: Publicación de contenidos El contenido creado por usuarios o colaboradores y gestionado mediante la base de datos es publicado cuando los administradores proceden a validar los contenidos. A veces existen usuarios con privilegios suficientes para publicar directamente los contenidos. En un CMS no todo el contenido es publicado, a veces estos contenidos son para uso interno de los administradores. De los contenidos publicados, no todos lo hacen en la página principal sino en el apartado que les corresponda según la organización del sitio. Una página aprobada se publica automáticamente cuando llega la fecha de publicación y se archiva cuando sobrepasa la fecha de vigencia. Funciones de un CMS: Presentación de los contenidos Se trata de un proceso diseñado de antemano y responsabilidad de los administradores y diseñadores. Se suele disponer de diferentes plantillas (temas), cada una con su estilo visual. Además de la combinación de colores y tipos de letra permite gestionar la disposición de los elementos del sitio (menús de navegación, bloques de contenido, etc) Se aplica el estilo definido para toda la web o para la sección donde se ubique el contenido. El resultado final es un sitio web de aspecto consistente en todas sus páginas. Es posible aplicar un nuevo tema o modificar las plantillas sin necesidad de hacer cambios en los contenidos.Permite aplicar fácilmente las WCAG. Proporciona compatibilidad con los distintos navegadores y todas las plataformas (sistemas operativos o dispositivos de acceso). Funciones CMS: Integración y reutilización de contenidos El CMS es capaz de reutilizar la totalidad o parte de los contenidos debido a que éstos se almacenan en bases de datos estructuradas. Es frecuente utilizar formatos que permiten su reutilización (JSON, RSS, RDF, OAI-PMH, XML). Los contenidos suelen reutilizarse por parte de otros sistemas o sitios web, a partir de la adición de metadatos adicionales y creación de fuentes para su sindicación o recolección externa. Integración de contenidos en motores de búsqueda, entorno Open Data, Web Semántica, redes sociales, servicios y aplicaciones Web 2.0 Otro tipo de integración es el que se realiza mediante la reutilización de bases de datos corporativas para la generación de contenido y la conexión con otras aplicaciones y herramientas (comercio electrónico, buscadores locales del sitio web). Ampliación y multifuncionalidad de los CMS Los CMS ofrecen posibilidades de ampliación para adaptarse a necesidades concretas a través de funciones nativas o que amplían el núcleo básico del CMS, en forma de plugins o módulos: Foros de discusión; Valoración de contenidos; Etiquetado social; Galerías de imágenes; Conexión con productos y servicios externos (Youtube, Google, Flickr, Facebook...) Problemática de las posibilidades de ampliación de un CMS: - Cuantas más funciones tiene una herramienta, peor hace cada una de ellas, o más difícil es mantener en todas ellas la constante evolución de soluciones y tecnologías. - Curva de aprendizaje más lenta que otras aplicaciones de propósito particular. - Las aplicaciones de propósito general son más complejas de hacer funcionar. y quizá realicen algunas de las funciones de un modo menos claro que una aplicación más especializada. - A veces es difícil entender el “ecosistema” de ampliación. A veces existen docenas de módulos que realizan una misma función, por lo que el proceso de escoger el más adecuado a una necesidad se convierte en un proceso de análisis-prueba-error. Ámbito de aplicación de los CMS Un CMS abarca un conjunto de funciones cuyo alcance depende del tipo de contenidos gestionados y del ámbito de aplicación. Cabe hablar de: - Gestor de Contenidos Empresariales (ECM): soluciones muy completas y de gran complejidad de aplicación y mantenimiento. - Gestores de Contenidos web (WCM): gestores de carácter general o para la integración de portales. - Gestor de Documentos y-o contenidos multimedia (DMS): administración avanzada de ficheros digitales, con un gran énfasis en los procesos de búsqueda y recuperación. - Gestor de Contenidos para el aprendizaje (LMS): ámbito educativo. - Plataformas de comercio electrónico: catálogos, pasarelas de pago, control de pedidos. Muchos WCM incorporan funciones propias de estos sistemas. - Software social y colaborativo: foros, redes sociales, flujo de trabajo, sistemas para la coordinación de comunidades y grupos de trabajo, etc. Diferenciar entre (por ejemplo) WCM, DMS y ECM es difícil, ya que las funciones de los diferentes tipos de CMS tienden a converger en una misma herramienta. No siempre la solución más completa es la mejor. Hay que dimensionar el proyecto y lograr un equilibrio entre coste de implantación y requisitos. Recomendaciones a tener en cuenta para elegir un CMS para desarrollo de un proyecto Código abierto: el CMS debería ser de código abierto. La opción de software propietario está muy desgastada. Existen opciones duales: una parte de acceso libre y/o gratuito y un conjunto de funciones avanzadas de pago. Esta última opción es interesante para grandes organizaciones: menor coste que los sistemas propietarios y se cuenta con apoyo profesional. Arquitectura: debe ser fiable, seguro y escalable, adecuando futuras necesidades con módulos y posibilidades de interconexión con otras herramientas. Debe exitir una fuerte separación y modularidad entre contenidos, presentación y estructura. Grado de desarrollo: el CMS debe poseer cierto grado de madurez y oferta suficiente de módulos para ampliar funcionalidades. No conviene apostar por CMS en fase de desarrollo. Soporte: debe estar disponible tanto por parte de los creadores como por una comunidad de usuarios y/o desarrolladores. Así se podrán esperar mejoras futuras de la herramienta. Posición en el mercado: una herramienta poco conocida puede ser muy buena, pero no asegura el futuro de un proyecto. También importan las opiniones de usuarios y expertos. Reutilización de aplicaciones: debe garantizarse la reutilización de la información, pero también debe contemplarse la posible reutilización de aplicaciones existentes. Este punto se relaciona con la experiencia del equipo de trabajo con una plataforma de desarrollo (ASP, java. PHP, etc.). WordPress WordPress comenzó como un CMS para Blogs, que ha evolucionado hacia uno de los CMS de uso general más completos del mercado. Las actualizaciones son muy dinámicas con 2 o 3 versiones base anuales, y versiones menores con una frecuencia de actualización de aproximadamente dos meses. Es el CMS más conocido, utilizado y descargado debido a su sencillez de uso e implantación. Dirigido a sitios Web que requieren una presencia básica en Internet y de comunicación, aunque con una buena base de desarrollo puede utilizarse en escenarios más complejos. Existe gran cantidad de manuales y un buen soporte a través de abundante documentación y foros, siendo una de las comunidades más dinámicas en CMS. La personalización es uno de los puntos fuertes de este CMS, a través de la gran variedad de temas adaptables y extensiones, desde el enfoque más profesional al más informal. WordPress permite definir la privacidad de contenidos, a través de la definición de niveles de usuario, protección de contenidos por contraseña, filtros antispam o controles de comentarios. También cabe reseñar la opción de generar estadísticas de acceso al sitio Web: número de visitantes, lugar de origen de las visitas, páginas visitadas, tiempo de acceso, etc. WordPress se encuentra liberado bajo una licencia GPL y utiliza PHP como lenguaje de programación, MySQL 1.3 como motor de base de datos y Apache o Nginx como servidor Web. WordPress.com Proveedor online de gestión de contenidos Modelo de negocio: SaaS (Software as a Service) - Un CMS de código libre suele ofrecer servicio que permiten a los usuarios darse de alta y crear un sitio Web utilizando dicho CMS. - Los usuarios no precisan contratar distribuidores Web ni encargarse de la instalación, mantenimiento, o actualización del CMS. - Para funcionalidades avanzadas (ancho de banda, número de usuarios, volumen de contenidos,...) se necesita contratar un servicio específico. Servicios de gran utilidad para pequeños usuarios: Autónomos; Pequeñas empresas; Estudiantes; Proyectos temporales;... Consideraciones: - Para muchos colectivos y pequeñas organizaciones supone un ahorro de costes directos y de gestión importantes. - Las entidades de cierta entidad suelen optar por la realización de proyectos autónomos, no solo por cuestiones de “marca institucional”, sino especialmente cuando deben conectar con el back-end de aplicaciones corporativas de gestión para incorporar información transaccional. - Sin embargo, para proveer de servicios específicos, como buscadores, canales audiovisuales, incorporar streaming, es frecuente que se recurre a la conexión con servicios externos, en gran medida transparentes para el usuario final. WordPress.com vs. WordPress.org WordPress.com y WordPress.org funcionan con el mismo software de WordPress. Una de las principales diferencias es cómo se aloja tu sitio web. El alojamiento web es un servicio que permite que tu sitio web se publique y sea accesible en Internet. WordPress.com: incluye alojamiento gestionado, que ayuda a optimizar tu sitio web en cuanto a velocidad, seguridad y rendimiento. El alojamiento gestionado se encarga de muchos aspectos técnicos de tu sitio por ti. WordPress.com tiene muchos planes con funciones cada vez más potentes para diferentes tipos de sitios y presupuestos. WordPress.org: puedes descargar el código fuente de WordPress de forma gratuita y subirlo con un proveedor de alojamiento de tu elección. Seguir esta ruta también se denomina «autoalojamiento» de WordPress. Como esta opción no incluye el alojamiento, tendrás que encontrar y pagar por un alojamiento independiente y participar más en el aspecto técnico para crear y mantener tu sitio web de forma eficaz. Drupal Dirigido en un principio a dar soporte a comunidades de usuarios. Hasta la versión 4.0.0 Drupal publicaba una versión anualmente. Tras esta, el lanzamiento de cada nueva versión base, se ha ralentizado a una cada 2-3 años. Drupal es uno de los CMS referentes del sector empresarial, siendo una de las opciones más completas, puesto que no está pensado para escenarios específicos: el límite lo impone el desarrollador a partir de amplios conocimientos y experiencia de uso. Alto rendimiento y escalabilidad: cache avanzado, replicación de BD, balanceo de carga, etc. Dispone de un entorno de personalización robusto, ya que tanto el contenido como la presentación pueden ser tratados de forma individual de acuerdo a unas preferencias definidas por el usuario. Los contenidos se gestionan como objetos independientes de tipos de contenidos, facilitando su inclusión en cualquier página o permitiendo comentarios específicos. Permite gestionar taxonomías complejas para organizar los contenidos, algo indispensable para sitios de complejidad mediaalta. Ofrece funciones de gestión de permisos muy avanzada a nivel de rol y páginas. La comunidad de desarrolladores ofrece un desarrollo dinámico y un soporte amplio basado en foros Web y con una amplia oferta de extensiones (módulos) y temas visuales. La curva de aprendizaje de Drupal es alta, por la gran cantidad de funciones avanzadas que ofrece. Se distribuye bajo licencia GPL y usa PHP como lenguaje de programación, MySQL como motor de BD. También puede funcionar 1.3 con PostgreSQL o SQLite, y Apache o Microsoft IIS como servidor Web. Joomla y Liferay Joomla está basado en PHP y MySQL para la creación sencilla de sitios web de pequeña y mediana envergadura. Se originó a partir de la escisión de otro CMS denominado Mambo. Se basa en una arquitectura de información centrada en la creación de Artículos que puede ser categorizados, etiquetados y enlazados desde menús de navegación. Liferay es un gestor de contenidos basado en Java para sitios web y entornos colaborativos online. Ofrece un entorno para desarrollar aplicaciones web en portales corporativos o intranets. Su arquitectura de información se basa en la creación de contenidos que se muestran mediante visores (Portlets). En Liferay una página está formada por un “collage” de Portlets. Los contenidos puede tener diversas estructuras y plantillas de visualización. Mediawiki y phpBB Mediawiki es la plataforma de gestión de wikis más extendida, en parte debido a ser quien soporta el proyecto Wikipedia. Aunque a primera vista ofrece sencillez, permite construir contenidos altamente sofisticados y gestionar la organización del conocimiento y la escritura colaborativa. Dada la tendencia a usar las wikis para proyectos, es frecuente que se recurra a proveedores online como Wikilearning o Wikidot. Se distribuye bajo licencia GPL y utiliza PHP como lenguaje de programación y MySQL como soporte de base de datos. PhpBB es un sistema de foros de debate que posee grandes posibilidades de personalización mediante un potente sistema de plantillas y extensiones. Su flexibilidad ha permitido que suela utilizarse para la creación de comunidades virtuales. Se distribuye bajo licencia GPL y utiliza PHP como lenguaje de programación y MySQL, PostgreSQL, MS-SQL-Server, Oracle o MS-Access como SGBD. Moodle y OJS Moodle es un CMS especializado en cursos educativos en línea. Permite herramientas de publicación de contenidos, tareas, coordinación de grupos, mensajería, foros de debate, etc. Es un software muy difundido para la construcción de entornos educativos y campus virtuales. Se distribuye bajo licencia GPL y utiliza PHP como lenguaje de programación y MySQL, PostgreSQL, Oracle o MS-SQL-Server como soporte de base de datos. Open Journal Systems es un CMS especializado para la gestión de publicaciones periódicas digitales. Además de las funciones propias de publicación de artículos y contenidos en PDF o HTML, también incluye funcionalidades de flujo de trabajo que contempla todo el proceso editorial de un contenido: envío, revisión, edición, maquetación, etc. Se distribuye bajo licencia GPL y utiliza PHP como lenguaje de programación y MySQL o PostgreSQL como soporte de BD.