| En estos tiempos de la gran Red, la aldea global, e-commerce
y telecomunicaciones, uno de los grandes obstáculos que siempre han
tenido que sortear las empresas e instituciones, sin importar su giro o
forma de trabajo, es el intercambio de información. Cuando se trata
de mandar a un sólo destinatario los datos, usualmente no es tanto
problema, ya que se puede hacer una conversión de archivos al formato
que utiliza el otro y eventualmente algo legible se enviará, aunque
con un trabajo de por medio que puede requerir cierto tiempo.
La cosa se complica cuando son varios destinatarios, que utilizan formatos
diferentes y además, no estamos hablando de tablas planas o documentos
de texto. Manipular bases de datos, información generada por nuestros
sistemas de administración de clientes o personal, reportes de
ventas, etc., siendo que el proceso de exportar los datos puede consumir
mucho tiempo y que el formato no sea lo que se espera recibir. Una idea
que es buena pero muy limitada en la utilización del HTML como
formato para enviar información estática, pero las limitaciones
del lenguaje hacen que su representación esté muy limitada,
por lo que fue necesario buscar un nuevo estándar.
Paralelamente, el World Wide Web Consortium o W3C (http://www.w3.org)
buscaba eliminar las limitaciones del HTML, consecuentes por tener
un grupo fijo y limitado de etiquetas que especificaban los atributos
del documento. Siendo que este lenguaje se había derivado del SGML,
un metalenguaje que permite definir conjuntos personalizados de etiquetas
para los atributos del contenido de un documento, se optó por instrumentar
un esquema parecido, donde los desarrolladores pudieran crear sus propios
conjuntos de etiquetas, que contuvieran toda la información necesaria
y que fuera un mecanismo estándar, con reglas claras que cualquier
novato pudiera utilizar. Al menos esa era la idea.
Después de muchos meses para obtener un consenso, el W3C definió
la especificación de un metalenguaje optimizado para el Web, liberando
la primera versión en 1998 el llamado eXtensive Markup Language
o XML (Lenguaje de Marcación Extensible), que sobrepasó
con mucho las expectativas originales.
XML en 10 puntos
Si queremos entender a grandes razgos QUE ES y PARA QUE SIRVE, veamos
lo que uno de los creadores del lenguaje, Bert Bos, nos resume en 10 puntos
(7 en realidad):
1. XML es un método
de poner información estructurada en un documento de texto.
Por "información estructuara" podemos entender hojas
de cáculo, transacciones financieras, parámetros de configuración
de un equipo, dibujos técnicos (CAD), etc. Los programas que generan
esta información pueden producirla en formato binario (para la
máquina) o en texto(para el ser humano); la idea es que XML pueda
leer y presentar esta información sin necesidad del programa que
lo produce. XML se puede considerar como un conjunto de reglas o guías
para diseñar formatos de texto para diferente información,
que sea facilmente interpretada por la computadora y que no tenga las
carencias tradicionales como la falta de extensibilidad, de internacionalización,
dependencia a una plataforma, etc.
2. XML se parece al HTML, pero no lo es.
Al igual que el HTML, el XML utiliza etiquetas (empiezan con la llave
< y terminan con la llave >) para definir elementos, pero la diferencia
radica en que una etiqueta en XML, cuyo significado puede ser definido
libremente, sólo especifica los valores de la información
(nombre, ubicación, contenido, etc.), siendo sus atributos
(color, tamaño, posición) dejados a la interpretación
del cliente o programa que lee la información (un browser de Internet).
A manera de ejemplo, en HTML la etiqueta <p> quiere decir
"párrafo", pero en XML puede significar "precio",
"posición", "persona", etc.
3. XML es texto, pero no es para su lectura.
La sintaxis (o gramática) del lenguaje está orientada a
que un programador lo pueda escribir fácilmente, pero su interpretación
queda supeditado al programa que lo interpreta y que en último
caso, presenta el contenido en el monitor.
4. XML es una familia de tecnologías.
Existe la definición XML 1.0 por parte del W3C, donde se comenta
la sintaxis, las reglas y atributos que se pueden utilizar, pero también
se están desarrollando diversos módulos que complementan
sus funciones, como son Xlink (que define las ligas dentro a documentos
XML), XSL es una versión muy avanzada de las páginas
de estilo (CSS), XHTML que puede ser la siguiente versión
del conocido lenguaje y otros más.
5. XML genera documentos extensos, pero no representa
un problema para los tiempos de respuesta.
Debido a que define mediante etiquetas las características de la
información, los documentos XML son casi siempre igual o más
grandes que los archivos binarios originales, sin embargo se compensa
debido a que al ser un formato de texto, se puede leer en cualquier plataforma,
además que la capacidad de almacenamiento de los discos duros y
las capacidades de compresión durante la transmisión de
información por módem no hacen notorio el tamaño.
6. XML es nuevo, pero no tan nuevo.
Su desarrollo inició en 1996 y en febrero de 1998 se publicó
su primera versión, sin embargo se basa en SGML, que se creó
a principios de los 80's y se convirtió en ISO en 1986. Lo que
se hizo fue tomar lo mejor del viejo lenguaje y modificarlo, de acuerdo
a la experiencia del HTML para producir uno orientado a representar información
o no su presentación.
7, 8, 9...
Todavía no piensan en estos puntos.
10. XML es independiente a la plataforma, libre
para su distribución y está bien soportado.
Utilizar este lenguaje es apostar por una tecnología que diversas
industrias ya están utilizando, posiblemente una en el mismo ramo
que nosotros, siendo que al ser una especificación del W3C no es
necesario pagar por licencias y a veces, ni por las herramientas que utilicemos.
Dado que es de arquitectura abierta, se puede utilizar en cualquier plataforma
y portarla a otras, con un mínimo de esfuerzo.
En resumen, XML es una tecnología orientada a crear un conjunto
de etiquetas, que puede beneficiar a una sola entidad o a toda una industria
al especificar la forma como la información se va a compartir.
No es necesario pagar por la licencia para utilizarlo y se puede explotar
en cualquier plataforma en el mundo. Un aspecto interesante es que
diferentes rubros industriales, como la química, comunicaciones,
aeroespacial y otros están definiendo sus estándares para
que cualquier participante los utilice y pueda intercambiar información
transparentemente.
Como es la costumbre cuando se tratan temas tecnológicos, la vida
es bella mientras hablamos de la teoría y no ponemos manos a la
obra y si bien, XML es una iniciativa que el mundo industrializado recibió
con los brazos abiertos (muy pocas veces se ve que todos acepten a la
primera este tipo de inciativa), las diferencias y problemas para implementación
apenas han empezado.
Una sola sintaxis, muchos lenguajes
Ciertamente el W3C hizo la tarea al definir las reglas generales y con
ciertas excepciones dentro de industrias específicas, uno puede
codificar cualquier cosa y darle el nombre y los atributos que queramos,
lo que obliga a todos los participantes a ponerse de acuerdo en que es
lo que quieren decir y como lo dirán.
Actualmente existen dos grupos principales, los que definen los estándares
de cada rama de la industria y el grupo que especifica el formato para
el intercambio de información proveniente del e-commerce. Ya hay
35 especificaciones de intercambio de información para numerosas
ramas industriales y sociales, entre las que se cuentan:
- Contabilidad.
- Publicidad.
- Arquitectura y construcción.
- Astronomía y espacio.
- Automotriz.
- Bancaria.
- Bibliografias.
- Catálogos.
- Gráficas por computadora.
- Comunicaciones.
- Data mining.
- Economía.
- Educación.
- Interfaces de usuario final (Netscape 6) y aplicaciones Web completas.
- Y un largo etcétera. Pueden ver la lista completa en el sitio
http://www.xml.org.
Del lado de comercio electrónico se destaca la iniciativa del CXML.ORG
(http://www.cxml.org) para crear una definición que permita
el intercambio de información de forma segura, además de
otras especificaciones que están creando IBM (http://www.ibm.com)
y VISA (http://www.visa.com) con el mismo fin. Del lado del
Intercambio de Datos Electrónicos (EDI) también se
está preparando la especificación.
Veámoslo así, si tenemos la fortuna que una ya exista la
iniciativa para el intercambio de información por XML en la rama
de actividad que nos ocupa, tenemos la mitad del camino ganado, ya que
estos son estándares abiertos que podemos tomar libremente y utilizarlos
para definir nuestro formato estandarizado con otros participantes. Sin
embargo, existen propuestas paralelas para actividades similares (por
ejemplo, comercio electrónico tiene 10 propuestas) y aunque pueden
ser complementarias, la cuestión va a ser que esperemos para saber
cual va a ser el formato bueno o si tendremos que manejar formatos diferentes
para receptores diferentes.
Microsoft: hasta donde quiere llegar la X.
Uno de los participantes más interesado en implementar completamente
esta tecnología es la firma de las ventanas. ¿Por qué?,
porque de lograrlo llegaría a donde ninguno de sus rivales ha llegado
jamás, que es intercambiar la información de una gran cantidad
de aplicaciones, tanto de servidor como de usuario final, de forma transparente.
Incluso es la teoría alrededor de lo que gira su iniciativa llamada
Microsoft.net y que ha sido implementado, con cierto éxito,
en Windows 2000, Office 2000 e Internet Explorer 5.x; de hecho su navegador
es de los pocos que soportan este estándar.
Imaginen el panorama que pinta MS y verán el atractivo que les
presenta: Una aplicación Web (digamos, un sitio de e-commerce)
que corra en un servidor Win2000 genera no sólo un reporte al usuario,
sino también al adminsitrador del servicio y a los encargados del
suministro del bien adquirido, la información se mandaría
a todos los participantes directamente a su cajón Windows y de
ahí visualizarlo con IE o explotarlo con las aplicaciones Office;
además los datos de la transacción quedan en las bases de
datos para su registro y seguimiento, todo de forma transparente y automática.
Su único problema es que este panorama es todavía un proyecto
y van a pasar cerca de cinco años antes de verlo cristalizado.
El interés por crear este tipo de estándares los ha llevado
a cercarse al gran azul. Así es, la empresa que fue una de sus
más aguerridas competidoras, IBM, ha decidido unir fuerzas
para definir un set de instrucciones que permita la integración
de la información generada en hardware de diferentes fuentes mediante
el software, además de buscar desarrollar programas colaborativos.
A ver que pasa, están en las primeras rondas de pláticas,
IBM le interesa la creación de un estándar abierto, pero
es algo en que MS siempre dice que si y luego sale con otra cosa, el tiempo
lo dirá.
En tanto, MS tiene una sección muy extensa dedicada al tema, con
software gratuito para su descarga, tutoriales y casos de estudio que
ejemplifican las aplicaciones actuales, recomendable. Veánlo en
http://msdn.microsoft.com/xml/default.asp.
XML en el software libre.
Dentro del Open Source ya encontramos diversos desarrollos muy
interesantes. Tal vez el más publicitado es el denominado "Gecko
Engine", un revolucionario sistema desarrollado por Mozilla.org
(http://www.mozilla.org) para el rendereo de las páginas Web.
Lo explicamos brevemente.
Un navegador de Internet (cualquiera) tiene un modelo de objetos del
documento (DOM) que define como se van a leer las etiquetas de una página
Web, de manera que se visualice de acuerdo a la estructura definida en
éste. Este DOM es ejecutado por el navegador, mismo que usualmente
se desarrolla en lenguaje C o similar (IE está desarrollado en
C); ahora bien, para Mozilla (o Netscape 6, como lo quieran ver) desarrolló
el sistema de rendereo en XUL (léase y pronúnciese
"ZUL")o eXtensive User Lenguage, lenguaje multiplataforma creado
en XML que genera un producto muy pequeño y rápido, en este
caso es el Gecko Engine o Aparato Gecko, que es un desarrollo multiplataforma
que permite navegar rápidamente por Internet. Dada su naturaleza
de software libre y su estructura modular, es posible personalizarlo para
utilizarlo en otros proyectos.
Y precisamente dos proyectos cuya alma es (o será) el Gecko son,
por un lado Galeon (http://galeon.sourceforge.net/), navegador
para Internet pequeño y compatible con los estándares del
W3C (dicen que mejor que NS6) para Linux; por otra parte esta MozOffice,
iniciativa que busca unificar Mozilla con StarOffice para ofrecer un navegador
con capacidades de procesador de texto y hoja de cálculo.
Dejamos este tema con trillones de elementos pendientes, como las herramientas
de desarrollo, especificaciones, implementación de esta tecnología
en ambientes de trabajo reales, etc., algo que será tema para otra
ocasión.
|