XML: Extended Markup Language

Enero 16, 2008

        XML, sigla en inglés de Extended Markup Languagelenguaje de marcas extensible»), es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium (W3C). Es una simplificación y adaptación del SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML). Por lo tanto XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades. Algunos de estos lenguajes que usan XML para su definición son XHTML, SVG, MathML.

        XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

        XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

¿PARA QUÉ SIRVEN?

        Entre las tecnologías XML disponibles se pueden destacar:

        XSL : Lenguaje Extensible de Hojas de Estilo, cuyo objetivo principal es mostrar cómo debería estar estructurado el contenido, cómo debería ser diseñado el contenido de origen y cómo debería ser paginado en un medio de presentación como puede ser una ventana de un navegador Web o un dispositivo móvil, o un conjunto de páginas de un catálogo, informe o libro.

        XPath : Lenguaje de Rutas XML, es un lenguaje para acceder a partes de un documento XML.

        XLink : Lenguaje de Enlace XML, es un lenguaje que permite insertar elementos en documentos XML para crear enlaces entre recursos XML.

        XPointer : Lenguaje de Direccionamiento XML, es un lenguaje que permite el acceso a la estructura interna de un documento XML, esto es, a sus elementos, atributos y contenido.

        XQL : Lenguaje de Consulta XML, es un lenguaje que facilita la extracción de datos desde documentos XML. Ofrece la posibilidad de realizar consultas flexibles para extraer datos de documentos XML en la Web.

¿CÓMO FUNCIONAN?

        XSL funciona como un lenguaje avanzado para crear hojas de estilos. Es capaz de transformar, ordenar y filtrar datos XML, y darles formato basándolo en sus valores. XPath identifica partes de un documento XML concreto, como pueden ser sus atributos, elementos, etc. XLink por su lado, describe un camino estándar para añadir hiperenlaces en un archivo XML. Es decir, es un mecanismo de vinculación a otros documentos XML. Funciona de forma similar a un enlace en una página Web, es decir, funciona como lo haría <a href="" mce_href="">, sólo que a href es un enlace unidireccional. Sin embargo, XLink permite crear vínculos bidireccionales, lo que implica la posibilidad de moverse en dos direcciones. Esto facilita la obtención de información remota como recursos en lugar de simplemente como páginas Web. XPointer funciona como una sintaxis que apunta a ciertas partes de un documento XML, es como una extensión de XPath. Se utiliza para llegar a ciertas partes de un documento XML. Primero, XLink permite establece el enlace con el recurso XML y luego es XPointer el que va a un punto específico del documento. Su funcionamiento es muy similar al de los identificadores de fragmentos en un documento HTML ya que se añade al final de una URI y después lo que hace es encontrar el lugar especificado en el documento XML. Al ser XPointer una extensión de XPath, XPointer tiene todas las ventajas de XPath y además permite establecer un rango en un documento XML, es decir, con XPointer es posible establecer un punto final y un punto de inicio, lo que incluye todos los elementos XML dentro de esos dos puntos. Finalmente, XQL, lenguaje de consultas, se basa en operadores de búsqueda de un modelo de datos para documentos XML que puede realizar consultas en infinidad de tipos de documentos como son documentos estructurados, colecciones de documentos, bases de datos, estructuras DOM, catálogos, etc.


Web 2.0, ¿En qué consiste?

Enero 16, 2008

        La Web 2.0 es la representación de la evolución de las aplicaciones tradicionales hacia aplicaciones web enfocadas al usuario final. El Web 2.0 es una actitud y no precisamente una tecnología.

        Cuando el web inició, nos encontrá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.

        La Web 2.0 es la transición que se ha dado de aplicaciones tradicionales hacia aplicaciones que funcionan a través del web enfocadas al usuario final.   Se trata de aplicaciones que generen colaboración y de servicios que reemplacen las aplicaciones de escritorio.

        Todo inició 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 del renacimiento y evolución de la web.  

        Constantemente estaban surgiendo nuevas aplicaciones y sitios con sorprendentes funcionalidades.   Y así se dio la pauta para la Web 2.0 conference de 2004.  Esta conferencia no solo fue exitosa sino que ya tuvo seguimiento en la Web 2.0 Conference del 2005 celebrada en Octubre.

        En la charla inicial del Web Conference se habló de los principios que tenían las aplicaciones Web 2.0:  

  • La web es la plataforma
  • La información es el procesador
  • Efectos de la red movidos por una arquitectura de participación.
  • La innovación surge de características distribuidas por desarrolladores independientes.
  • El fin del círculo de adopción de software (“Servicios en beta perpetuo”)

La Web 2.0 con ejemplos

        La forma más fácil de comprender lo que significa la Web 2.0 es a través de ejemplos.  Podemos comparar servicios web que marcan claramente la evolución hacia el Web 2.0:

  • Web 1.0 > Web 2.0
  • Doubleclick –> Google AdSense (Servicios Publicidad)
  • Ofoto –> Flickr (Comunidades fotográficas)
  • Akamai –> BitTorrent (Distribución de contenidos)
  • mp3.com –> Napster (Descargas de música)
  • Britannica Online –> Wikipedia (Enciclopedias)
  • Sitios personales –> Blogs (Páginas personales)
  • Especulación con dominios –> Optimización en motores de búsqueda
  • Page views  –> Cost per click
  • CMSs  –> Wikis (Manejo de contenidos)
  • Categorías/Directorios  –> Tagging

¿Qué tecnologías apoyan a la Web 2.0?

        El Web 2.0 no significa precisamente que existe una receta para que todas nuestras aplicaciones web entren en este esquema.   Sin embargo, existen varias tecnologías que están utilizándose actualmente y que deberíamos de examinar con más cuidado en busca de seguir evolucionando junto al web.

Tecnologías que dan vida a un proyecto Web 2.0:

  • Transformar software de escritorio hacia la plataforma del web.
  • Respeto a los estándares del XHTML.
  • Separación de contenido del diseño con uso de hojas de estilo.
  • Sindicación de contenidos.
  • Ajax (Asincronical javascript and xml).
  • Uso de Flash, Flex o Lazlo.
  • Uso de Ruby on Rails para programar páginas dinámicas.
  • Utilización de redes sociales al manejar usuarios y comunidades.
  • Dar control total a los usuarios en el manejo de su información.
  • Proveer APis o XML para que las aplicaciones puedan ser manipuladas por otros.
  • Facilitar el posicionamiento con URL sencillos.

¿En qué nos sirve la Web 2.0?

        El uso de el término de Web 2.0 está de moda, dándole mucho peso a una tendencia que ha estado presente desde hace algún tiempo.  En Internet las especulaciones han sido causantes de grandes burbujas tecnológicas y han hecho fracasar a muchos proyectos. 

        Además, nuestros proyectos tienen que renovarse y evolucionar. El Web 2.0 no es precisamente una tecnología, sino es la actitud con la que debemos trabajar para desarrollar en Internet. Tal vez allí está la reflexión más importante del Web 2.0 y como los webmasters deberían de prepararse.

        En definitiva, la Web 2.0 se refiere a la transición percibida en Internet desde las webs tradicionales a aplicaciones web destinadas a usuarios. Los propulsores de este pensamiento esperan que los servicios de la Web 2.0 sustituyan a las aplicaciones de escritorio en muchos usos.