1.
Introducción.
2. ¿Qué es
XML?.
3. Estructura de
XML.
4. Estructuras
lógicas.
5. Aplicaciones de
XML.
6. Utilidades de XML
7. Desarrollo de aplicaciones con
XML
8. Instalación (Requerimientos
de Hardware y Software).
9.
Bibliografía
HTML (Hypertex Markup Language) se ha convertido en un
lenguaje de
marcas de
inmensa popularidad durante estos últimos años.
También debemos anotar que nos hemos encontrado con sus
propias limitaciones, que algunas de ellas se han querido
subsanar con la incrustación de scripts, javascripts,
Active X, HTML
dinámico, hojas de estilo en cascada (CSS). Todo esto es
insuficiente para crear una arquitectura
abierta de tipo cliente/servidor, con lo
que el W3C (Word Wide
Web
Consortium), organismo que vela por el desarrollo de
la Word Wide
Web, se ha
replanteado crear un nuevo estándar llamado XML (eXtensible
Markup Language), que parte de las amplias especificaciones del
SGML (Standard Generalized Markup Language). XML fue
desarrollándose por el Grupo de
Trabajo XML desde 1996 (en estos primeros años llamado
SGML Editorial Review Board). La especificación XML 1.0 ha
sido ratificada por la W3C el 10 de febrero de 1998, e
interpretado como "un sistema para
definir, validar y compartir formatos de documentos en la
Web".
Concepto:
XML es un lenguaje de
metamarcado que ofrece un formato para la descripción de datos
estructurados. Esto facilita unas declaraciones de contenido
más precisas y unos resultados de búsquedas
más significativos en varias plataformas. Además,
XML habilitará una nueva generación de aplicaciones
para ver y manipular datos basadas en
el Web.
Representación estructural de los datos:
XML ofrece una representación estructural de los datos que
se puede implementar ampliamente y es fácil de distribuir.
XML es un subconjunto de SGML optimizado para el Web. Definido
por el World Wide Web Consortium (W3C) (en inglés), XML garantiza que los datos
estructurados sean uniformes e independientes de aplicaciones o
fabricantes. La interoperabilidad resultante está creando
rápidamente una nueva generación de aplicaciones de
comercio
electrónico en la Web.
XML, que proporciona un estándar de datos que
puede codificar el contenido, la semántica y los esquemas
de una gran variedad de casos, desde los más simples a los
más complejos, sirve para marcar lo siguiente:
- Un documento normal.
- Un registro
estructurado, como un registro de
citas o un pedido de compra. - Un objeto con datos y métodos,
como el formulario permanente de un objeto Java o de un
control
ActiveX. - Un registro de datos, como el conjunto de resultados
de una consulta. - Metacontenido sobre un sitio Web, como el formato de
definición de canal (CDF). - Representaciones gráficas, como la interfaz de usuario de
una aplicación. - Entidades y tipos de esquema
estándar. - Todos los vínculos entre datos y personas que
hay en el Web.
Cuando los datos llegan al escritorio del cliente, se
pueden manipular, editar y presentar en varias vistas, sin tener
que regresar al servidor. Ahora
los servidores pueden
ser más escalables, gracias a la reducción de las
cargas de ancho de banda y computación. Además, dado que los
datos se intercambian en el formato XML, se pueden combinar
fácilmente desde distintas fuentes.
XML es muy valioso para Internet, así como
para los entornos de intranets corporativas de gran
tamaño, pues proporciona interoperabilidad mediante un
formato basado en estándares flexible y abierto, con
formas nuevas de acceso a las bases de datos
existentes y de entregar datos a clientes de Web.
Las aplicaciones se pueden generar más rápidamente,
su mantenimiento
es más sencillo y pueden ofrecer fácilmente varias
vistas de los datos estructurados.
En un principio, no rivalizarán HTML y XML, estos
se complementarán el uno al otro, anudándose ambas
gramáticas. Este Lenguaje de marcas extensible
(XML) es una versión abreviada del SGML (Standard
Generalized Markup Language).
Algunos de los objetivos
planteados por el Grupo de
Trabajo XML y el W3C son:
- XML debe ser directamente utilizable sobre Internet.
- XML debe soportar una amplia variedad de
aplicaciones. - XML debe ser compatible con SGML.
- Debe ser fácil la escritura de
programas
que procesen documentos
XML. - El número de características opcionales en XML debe
ser absolutamente mínimo, idealmente cero. - Los documentos XML deben ser legibles por los
usuarios de este lenguaje y razonablemente claros. - El diseño de XML debe ser formal, conciso y
preparado rápidamente. - Los documentos XML deben ser fácilmente
creables. - La brevedad en las marcas XML es de mínima
importancia.
A estos fines se le une unos estándares como el
Unicode e ISO/IEC 10646
para caracteres, el Internet RCF 1766 para identificación
de lenguajes, ISO 639 para
códigos de nombres de lenguajes y también el ISO
3166 para códigos de nombres de países, para la
normal comprensión de esta versión de
XML.
Un documento XML tiene dos estructuras,
una lógica
y otra física.
Físicamente, el documento está compuesto por
unidades llamadas entidades. Una entidad puede hacer referencia a
otra entidad, causando que esta se incluya en el documento. Cada
documento comienza con una entidad documento, también
llamada raíz. Lógicamente, el documento está
compuesto de declaraciones, elementos, comentarios, referencias a
caracteres e instrucciones de procesamiento, todos los cuales
están indicados por una marca
explícita. Las estructuras
lógica
y física
deben encajar de manera adecuada:
Los documentos XML se dividen en dos grupos,
documentos bien formados y documentos válidos.
Un objeto textual o documento XML se dice que
está bien formado si, considerándolo como conjunto,
encaja con las especificaciones XML de producción, lo que implica:
- Contiene uno o más elementos.
- Hay exactamente un elemento, llamado raíz o
elemento documento, de forma que ninguna parte del mismo
aparece en el contenido de ningún otro elemento. Para
todos los demás elementos, si la etiqueta inicial
está en el contenido de otro elemento, la etiqueta final
forma parte del contenido del mismo elemento. Dicho de forma
más clara, los elementos, delimitados por una etiqueta
de inicio y otra de final, se encuentran anidados
correctamente. - Cumple todas las restricciones que proporciona su
especificación a través del DTD. Si no se utiliza DTD, el
documento debe comenzar con un Declaración de Documento
único (SDD, Standalone Document Declaration) que
indique:
<?XML version="1.0"
standalone="yes"?>
- Cada una de sus partes procesadas esta bien
formada. - Todas las etiquetas deben estar balanceadas: esto es,
todos los elementos que contengan datos de tipo carácter
deben tener etiquetas de principio y fin (no está
permitida la omisión excepto para los elementos
vacíos.); - Todos los valores
de los atributos deben ir entrecomillados (el carácter
comilla simple [el apóstrofe] puede utilizarse si el
valor
contiene caracteres comillas dobles, y viceversa): si necesitas
ambos, utiliza ' y " - Cualquier elemento VACÍO (p.e. aquellos que no
tienen etiqueta final como <IMG>, <HR>, y
<BR> y otros de HTML) deben terminar con '/>' o debes
hacerlos no VACÍOS añadiéndoles una
etiqueta de fin;
Ejemplo:
<BR> se convertirá en <BR/> o en
<BR></BR>. - No debe haber etiquetas aisladas (< ó
&) en el texto (p.e.
debe darse como < y &), y la secuencia ]]>
debe darse como ]]> si no ocurre esto como final de una
sección marcada como CDATA; - Los elementos deben anidar dentro de sí sus
propiedades (no se deben sobreponer etiquetas, como en el resto
de SGML); - Los Archivos
bien-formados sin-DTD pueden utilizar atributos en sus
elementos, pero éstos deben ser todos del tipo CDATA,
por defecto.
De un documento bien formado, se dice además que
es válido, si tiene DTD como el resto de aplicaciones
SGML. Un archivo XML
válido comienza como cualquier otro archivo
SGML, con una
Declaración de Tipo de Documento:
<?xml version="1.0"?>
<!DOCTYPE anuncio SYSTEM "http://www.foo.org/ad.dtd">
<anuncio>
<titulo>…<foto/>…</titulo>
<texto>…</texto>
</anuncio>
Dado que XML está diseñado para ser un
subconjunto de SGML, cualquier documento XML válido debe
ser también un documento SGML válido.
4. Estructuras
lógicas.
Cada documento XML contiene uno o más elementos, cuyos
limites
están delimitados por etiquetas de comienzo y de final o,
en el caso de elementos vacíos, por una etiqueta de
elemento vacío.
Cada elemento tiene un tipo, identificado por un nombre,
denominado identificador genérico, y puede tener un
conjunto de especificaciones de atributos.
Cada especificación de atributo tiene un nombre y
un valor. Estas
especificaciones no restringen la semántica, el uso o (mas
allá de la sintaxis) los nombres de los tipos de los
elementos y los atributos, excepto de los nombres que comienzan
por XML, que se reservan para estandarizar etiquetas o atributos
en versiones posteriores del estándar.
Estructuras físicas.
Un documento XML puede consistir en una o más unidades de
almacenamiento virtual, llamadas entidades. Todas estas
unidades tienen contenido y todas ellas (excepto la entidad
documento y el subconjunto externo del DTD) están identificadas por
un nombre. Cada documento XML contiene una entidad, llamada
entidad documento, que sirve como punto de comienzo para el
procesador XML y
puede contener el documento completo.
Como hemos comentado, las entidades pueden ser
analizadas o sin analizar (también llamadas procesadas o
sin procesar). El contenido de una entidad analizada se conoce
también como texto de reemplazo, y es parte integrante del
documento. Las entidades no analizadas son recursos (tales
como enlaces) cuyo contenido puede o no ser texto, o en caso de
que sea texto que no sea XML. Cada entidad no asociada tiene una
notación asociada, identificada por un nombre. Aparte de
obligar al procesador XML a
haga accesible a la aplicación el nombre de esta
notación y sus identificadores asociados, XML no
proporciona ninguna otra restricción sobre el contenido de
estas entidades. La forma de invocar ambos tipos de entidades es
a través de su nombre, en el caso de las analizadas a
través de su referencia a entidad y en el de las no
analizadas a través de sus atributos de
entidad.
Las entidades generales, son entidades analizadas que se
usan en el interior del documento. Las entidades parametrizadas
son entidades analizadas que se usan en el ámbito del DTD.
Estos dos tipos de entidades usan distintos tipos de referencias
y se reconocen en contextos distintos.
XML consta de cuatro especificaciones (el propio XML
sienta las bases sintácticas y el alcance de su
implementación):
- DTD (Document Type Definition): Definición del
tipo de documento. Es, en general, un archivo(s) que encierra
una definición formal de un tipo de documento y, a la
vez, especifica la estructura
lógica de cada documento. Define tanto los elementos de
una página como sus atributos. El DTD del XML es
opcional. En tareas sencillas no es necesario construir una
DTD, entonces se trataría de un documento "bien formado"
(well-formed) y si lleva DTD será un documento
"validado" (valid). - XSL (eXtensible Stylesheet Language): Define o
implementa el lenguaje
de estilo de los documentos escritos para XML. Desde el verano
de 1997 varias empresas
informáticas como Arbortext, Microsoft e
Inso vienen trabajando en una propuesta de XSL (antes llamado
"xml-style") que presentaron a W3C. Permite modificar el
aspecto de un documento. Se puede lograr múltiple
columnas, texto girado, orden de visualización de los
datos de una tabla, múltiples tipos de letra con amplia
variedad en los tamaños. Este estándar
está basado en el lenguaje
de semántica y especificación de estilo de
documento (DSSSL, Document Style Semantics and Specification
Language, ISO/IEC 10179) y, por otro lado, se considera
más potente que las hojas de estilo en cascada (CSS,
Cascading Style Sheets), usado en un principio con el lenguaje
DHTML. "Se espera que el CSS sea usado para visualizar simples
estructuras de documentos XML (actualmente se ha conseguido
mayor integración en XML con el protocolo
CSS2 (Cascading Style Sheets, level 2) ofreciendo nuevas formas
de composición y una más rápida
visualización) y, por otra parte, XSL pueda ser
utilizado donde se requiera más potencia de
diseño como documentos XML que encierran
datos estructurados (tablas, organigramas,
etc.)(2)". - XLL (eXtensible Linking Language): Define el modo de
enlace entre diferentes enlaces. Se considera que es un
subconjunto de HyTime (Hipermedia/Timed-based structuring
Language o Lenguaje de estructuración Hipermedia/basado
en el tiempo, ISO
10744) y sigue algunas especificaciones del TEI (Text Encoding
Initiative o Iniciativa de codificación de texto). Desde
marzo de 1998 el W3C trabajo en los enlaces y direccionamientos
del XML. Provisionalmente se le renombró como Xlink y a
partir de junio se le nombra como XLL. Este lenguaje de enlaces
extensible tiene dos importantes componentes: Xlink y el
Xpointer. Va más allá de los enlaces simples que
sólo soporta el HTML. Se podrá implementar con
enlaces extendidos. Jon Bosak establece los siguientes
mecanismos hipertextuales que soportará esta
especificación: - Denominación independiente de la
ubicación. - Enlaces que pueden ser también
bidirecccionales. - Enlaces que pueden especificarse y gestionarse desde
fuera del documento a los que se apliquen (Esto
permitirá crear en un entorno intranet/extranet un
banco de datos
de enlaces en los que se puede gestionar y actualizar
automáticamente. No habrá más errores del
tipo "404 Not Found"). - Hiperenlaces múltiples (anillos,
múltiples ventanas, etc.). - Enlaces agrupados (múltiples
orígenes). - Transclusión (el documento destino al que
apunta el enlace aparece como parte integrante del documento
origen del enlace). - Se pueden aplicar atributos a los enlaces (tipos de
enlaces). - XUA (XML User Agent): Estandarización de
navegadores
XML. Todavía está en proceso de
creación de borradores de trabajo. Se aplicará a
los navegadores
para que compartan todos las especificaciones XML.
Algunas de las aplicaciones de XML son:
- Ofrecer mecanismos más versátiles de
mostrar datos. Actualmente, bajo el nombre de DOM (Document
Object Model) se está desarrollando una API que sea
soportada por todos los procesadores de
XML y HTML. La idea detrás de esta API es que podamos
representar (a través de javascripts o JavaApplets)
documentos XML en los navegadores Web, pero de una forma
más sofisticada que los documentos HTML, ya que XML no
solo proporciona una sintaxis, sino también una
semántica. - Buscadores inteligentes. Debido a que la información en los documentos XML
está etiquetada por su significado de forma precisa,
podemos localizarla de forma mucho más clara que en
documentos HTML. Con DTDs estandarizados para distintas
aplicaciones (librerías, tiendas de deporte, catálogos
de componentes,…) podríamos programar buscadores
Web que recuperasen información sobre un producto de
cualquier website en el mundo sabiendo que todos tendrán
el mismo formato de datos (gracias al DTD), aunque no tengan
necesariamente la misma representación gráfica
(gracias al XML/XSL). - Intercambio de información entre sistemas
heterogéneos. El fundamento es el mismo que para los
buscadores
inteligentes. Debido a que el DTD proporciona un formato
estándar para representar la información de un
tema específico, puede usarse para simplificar el
intercambio de información entre distintas fuentes
(actualmente existen ya dos DTD estandarizados uno para
fabricantes de chips y otro para industrias
químicas, llamado CML).
Ventajas de XML.
- Los autores y proveedores
pueden diseñar sus propios tipos de documentos usando
XML, en vez de limitarse a HTML. Los tipos de documentos pueden
ser explícitamente 'hechos a la medida de una
audiencia', por lo que las difíciles manipulaciones que
debes hacer con HTML para conseguir efectos especiales
serán cosa del pasado: autores y diseñadores
serán libres de inventar sus propias
etiquetas; - La información contenida puede ser más
'rica' y fácil de usar, porque las habilidades
hipertextuales de XML son mayores que las de HTML. - XML puede dar más y mejores facilidades para
la representación en los visualizadores. - Elimina muchas de las complejidades de
SGML, en favor de la
flexibilidad del modelo, con
lo que la escritura de
programas
para manejar XML será más sencilla que haciendo
el mismo trabajo en SGML. - La información será más
accesible y reutilizable, porque la flexibilidad de las
etiquetas de XML pueden utilizarse sin tener que amoldarse a
reglas específicas de un fabricante, como es el caso de
HTML. - Los archivos XML
válidos son válidos también en SGML, luego
pueden utilizarse también fuera de la Web, en un entorno
SGML (una vez la especificación sea estable y el
software SGML
la adopte).
Especificaremos algunas de las
implementaciones/aplicaciones que se han desarrollado con XML.
Suponemos que se establezca alguna implementación propia
para Bibliotecas y
Centros de Documentación; y con ello se pueda extraer
la información desde la misma red (no por métodos de
infranet).
CDF (Channel Definition Format): Los canales creado por
Microsoft en
el explorador IE4 con tecnología
push.
RDF (Resource Description Framework): Esquema de
descripción de recursos. Una de
las aplicaciones más importantes que permitirá
describir los datos de cada documento y definir las relaciones
que hay entre los datos XML. Tratará de los metadatos
(metadata). Se les podría considerar como "los META del
XML". Muchas compañías en Internet se están
adhiriendo a esta aplicación. RDF Posee las siguientes
virtudes:
- Mejores motores de
búsqueda. Se han adherido a esta especificación
Yahoo!, Altavista, Excite, Lycos, WebCrawler, Amazon,
etc. - La capacidad de describir los contenidos y sus
relaciones en una biblioteca
digital o sede Web. Permitirá el acceso a una parte
concreta del documento y se facilitará el intercambio de
los datos. - Se pueden calificar los contenidos para establecer la
protección infantil y de la propia intimidad,
desarrollado a través de las marcas (tags) de PICS
(Platform for Internet Content Selection). - Establece los derechos de propiedad
intelectual en las propias páginas
Web.
OSD (Open Software Description
Format): Formato abierto de descripción de software.
Desarrollo de
software en múltiples plataformas. Describe el reparto de
software a través de la Red. Las etiquetas XML con
las que está descrito definen los componentes, la
versión que es, la plataforma en la que ha sido creado, la
relación con otros componentes, etc. Esto hará que
se simplifique el proceso de
instalación para el usuario y permitir también un
fácil uso de las actualizaciones.
CML (Chemical Markup Language): Lenguaje de marcas para
química.
Describe, entre otras formulas, las estructuras moleculares y
cristalinas, los análisis de espectros y otros objetos de
interés
para los químicos.
MathML (Mathematical Markup Language): Lenguaje de
marcas para matemáticas. Apto para codificar signos
matemáticos, símbolos científicos, etc. El
MathML es un lenguaje de bajo nivel que tiene en cuenta la
comunicación maquina a maquina de datos estructurados
como información de bases de datos.
El lenguaje MathML utiliza dos series de códigos
progresivos: el primero presenta los signos matemáticos en
series crecientes, y el segundo transmite el significado
semántico de las expresiones matemáticas, lo que posibilita la
codificación de símbolos y signos tanto
matemáticos como científicos.
EDI (Electronic Document Interchange): Intercambio
electrónico de datos. Lleva un tiempo en proceso
de estudio, pero finalmente dará un espaldarazo con el
estándar XML. InfoVía Plus lo integra en uno de sus
servicios
(InfoEDI).
OFX (Open Financial Exchange): Intercambio financiero
abierto. Marco de trabajo enunciado actualmente en SGML, aunque
Microsoft dice que pronto será enunciado en XML. A
través de software de gestión
financiera (Quicken, Microsoft Money, etc.) se podrá
conectar con el banco para
gestionar las cuentas y extraer
información de la cuenta bancaria. Esto se hará a
través de unos protocolos
seguros.
TEI (Text Encoding Initiative): Iniciativa que
partió de diversas asociaciones profesionales en los
campos de humanidades. Trata de establecer etiquetas que
propicien la descripción de textos científicos y
literarios. En principio solo está disponible para
SGML(6).
7. Desarrollo de
aplicaciones con XML
Existen cuatro tipos de aplicaciones que
impulsarán el desarrollo del XML:
Aplicaciones que exijan que el cliente Web medie entre
dos o más bases de datos. Se hará posible la
integración de bases de datos distribuidas
en los navegadores que admitan XML, pudiéndose modificar
el contenido y la estructura de
esta. Actualmente implantado en amplias redes nacionales, sin
embargo, se limitan las posibilidades al establecerse una
intranet/extranet y con
amplias bases de datos que sólo permiten la
visualización de los datos en el navegador. XML
establecerá una arquitectura de 3
niveles (three-tier) que está representada de la siguiente
manera:
- Se irá pareciendo cada vez más a una
arquitectura cliente-servidor. - Aplicaciones que intentan transferir una parte
significativa de la carga del proceso del servidor al cliente
Web. Funcionará con un subprograma Java que se
insertará en el PC del cliente. Esta carga hará
que muchas de las funciones de
modificación puedan desarrollarse desde el mismo
navegador Web del cliente. Por ejemplo, dentro de una intranet
con una aplicación de gestión bibliotecaria sobre los
documentos disponibles en el centro bibliotecario. Se
establecerán categorías específicas como
los datos de la ficha catalográfica, fecha de
préstamo, fecha de devolución, nombre del
usuario, número de registro, etc. Todos estos
ítems se pueden agrupar por categorías y
estarán descritos externamente desde los "esquemas"
(schemas) o los RDF del XML. Permite actualizarse en el acto y
con la posibilidad interactiva por parte del usuario en el
pedido, gestión y modificación de documentos
desde su lejano navegador. El lado más negativo es que
se necesitará mayor ancho de banda y mayor potencia del
procesador del equipo para poder
soportar esta arquitectura de tres-niveles. - Aplicaciones que precisen que el cliente Web presente
diferentes versiones de los mismos datos a diferentes usuarios.
Se podría aplicar un manual de
diferentes grados (iniciación, intermedio y avanzado)
con sus diferentes idiomas, etcétera. Esto hará
que este manual se pueda
personalizar por los usuarios y extraer la información
requerida de un capítulo determinado, con una
ordenación y formatos concretos. - Aplicaciones en las que agentes Web inteligentes
intentan adaptar la búsqueda de información a las
necesidades de los usuarios individuales. Habrá una
interacción entre la información requerida y las
preferencias del usuario de la aplicación. Con el XML
vendrá una segunda generación de robots que
permitirá una mayor precisión de la
búsqueda requerida. Actualmente podemos encontrar
aplicaciones de medios de
comunicación como los periódicos
personalizados. Por otro lado, el impulso de los motores de
búsqueda con XML y la creación de buscadores de
lenguaje natural. - Otras aplicaciones que se desarrollarán son
las operaciones
para comercio
electrónico con la normativa EDI. Se puede hacer ya
comparación de precios
entre los distintos tiendas virtuales.
Además de esto es importante destacar que XML
aporta mucha potencia y flexibilidad a las aplicaciones basadas
en la Web, proporcionando numerosas ventajas a los programadores
y usuarios, como lo son:
- Búsquedas con más significado: Los
datos se pueden etiquetar de forma exclusiva con XML, lo que
permite que un cliente especifique libros
escritos por Winston Churchill, en lugar de sobre Winston
Churchill. Las búsquedas que utilizan los métodos
actuales, por el contrario, probablemente mezclarían
ambos tipos de libros. Sin
XML, es necesario que la aplicación de búsqueda
comprenda el esquema de cada base de datos,
en el que se describe cómo se ha generado. Esto es
prácticamente imposible, pues cada base de datos
describe sus datos de una forma distinta. Sin embargo, con XML
los libros se pueden clasificar fácilmente en
categorías estándar por autor, título,
ISBN u otros criterios. De esta forma, los agentes
podrían buscar libros sobre Winston Churchill en estos
sitios de librerías de una forma coherente. - Programación de aplicaciones Web flexibles:
Una vez encontrados los datos, el XML se puede distribuir a
otras aplicaciones, objetos y servidores de
nivel medio para continuar su procesamiento, o bien se puede
entregar al escritorio para su visualización en un
explorador. XML, junto con HTML para la presentación,
las secuencias de comandos para
la lógica y un modelo de
objeto común para la interacción con los datos y
la presentación, ofrece todas las tecnologías
necesarias para el desarrollo de flexibles aplicaciones Web de
tres niveles. - Integración de datos procedentes de fuentes
dispares: La capacidad de buscar en varias bases de datos no
compatibles entre sí es, hoy en día,
prácticamente imposible. XML permite combinar
fácilmente los datos estructurados procedentes de
fuentes distintas. Se pueden utilizar agentes de software para
integrar los datos en un servidor de nivel medio desde bases de
datos de fondo y otras aplicaciones. A continuación,
dichos datos se pueden entregar a clientes u
otros servidores para su agregación, procesamiento y
distribución. La capacidad de
ampliación y la flexibilidad de XML le permiten
describir los datos contenidos en una gran variedad de
aplicaciones muy diversas, desde las recopilaciones
descriptivas de páginas
Web hasta los registros de
datos. Además, dado que los datos basados en XML son
autodescriptivos, se pueden intercambiar y procesar sin
necesidad de una descripción incorporada de los datos
entrantes. - Computación y manipulación locales:
Después de entregarlos al cliente, los datos en formato
XML se pueden analizar, editar y manipular de forma local,
siendo las aplicaciones clientes quienes realizan los
cálculos. Los usuarios pueden manipular los datos de
diversas formas, y no limitarse a presentarlos. El Modelo de
objeto de documento (DOM) de XML también permite
manipular datos con secuencias de comandos u
otros lenguajes de
programación. Los cálculos relativos a los
datos se pueden realizar sin volver al servidor. La
separación entre la interfaz de usuario que ve los datos
y los propios datos permite crear, de forma natural, potentes
aplicaciones para el Web que antes sólo se encontraban
en bases de datos avanzadas, todo con un formato simple,
flexible y abierto. - Varias vistas de los datos: Una vez entregados los
datos al escritorio, se pueden ver de varias formas. Al
describir los datos estructurados de una forma simple, abierta
y extensible, XML sirve de complemento para el HTML, que se
utiliza ampliamente para describir las interfaces de usuario.
Una vez más, mientras que el lenguaje HTML describe el
aspecto de los datos, XML describe los propios datos. Dado que
la presentación está separada de los datos, la
definición de dichos datos en XML permite especificar
varias vistas, lo que significa que los datos se pueden
representar de la forma adecuada. Los datos locales se pueden
presentar de una forma dinámica determinada por la
configuración del cliente, las preferencias del usuario
u otros criterios. CSS y XSL proporcionan mecanismos
declarativos para describir una vista de los datos en
particular. - Actualizaciones granulares: Los datos se pueden
actualizar de forma granular con XML, por lo que no es
necesario volver a enviar un conjunto completo de datos
estructurados cada vez que cambia parte de dichos datos.
Sólo es preciso enviar el elemento modificado del
servidor al cliente, y los datos modificados se pueden
presentar sin necesidad de actualizar toda la interfaz de
usuario. En la actualidad, aunque sólo cambie un
elemento de los datos, es preciso volver a construir toda la
página, incluso si la vista permanece igual, lo que
reduce drásticamente la escalabilidad del
servidor.
Asimismo, XML permite agregar otros datos, como las
temperaturas máximas y mínimas previstas, la
pluviosidad prevista y su probabilidad
(expresada en porcentaje). Esta información adicional se
puede trasladar a la vista del usuario sin que el explorador
tenga que enviar una vista nueva. Si se solicitan datos
adicionales, como la presión
atmosférica, se pueden enviar sin volver a generar la
vista.
Utilidades Futuras:
En su calidad de
estándar del sector para expresar datos estructurados, XML
ofrece muchas ventajas a las organizaciones,
desarrolladores de software, sitios Web y usuarios finales. Las
oportunidades aumentarán cuantos más formatos de
datos de mercado vertical
se creen para mercados claves,
como el mercado de
búsqueda avanzada en bases de datos, banca en
línea, médico, legal, comercio
electrónico, etc. Cuando los sitios ofrezcan datos, en
lugar de limitarse a las vistas de datos, las oportunidades
serán extraordinarias.
Hoy en día, los servicios de
atención al
cliente están migrando de centros de llamadas y sedes
físicas a sitios Web, por lo que se beneficiarán de
la sólida funcionalidad de XML. Dado que la mayoría
de estas aplicaciones empresariales implican la
manipulación o la transferencia de datos y registros de base
de datos, como pedidos de compra, facturas, información
del cliente, citas, mapas, etc., XML
va a revolucionar las posibilidades de los usuarios finales en
Internet, permitiendo la implementación de un amplio
abanico de aplicaciones empresariales. Además, la
información que ya esté almacenada en sitios Web,
tanto si está guardada en documentos como en bases de
datos, puede marcarse con vocabularios basados en XML y
orientados a intranets. Dichos vocabularios también ayudan
a las pequeñas y medianas empresas que
necesiten intercambiar información entre clientes y
proveedores.
Un mercado vital y todavía por descubrir es el de
las herramientas
de desarrollo que simplifican a los usuarios finales la
creación de sus propios sitios Web cooperativos, lo que
incluye las herramientas
para generar datos XML heredados de información de bases
de datos e interfaces de usuario ya existentes. Además, se
pueden desarrollar esquemas estándar para describir
portafolios u otros datos que podrían utilizar, por
ejemplo, el diseño, los gráficos y otras funciones de
Excel o de
otras hojas de cálculo
existentes. Las herramientas declarativas y visuales para
describir XML generadas a partir de bases de datos heredadas
constituyen una oportunidad muy potente. Las herramientas
personalizadas para ver datos XML se pueden escribir en el
sistema de
programación de Visual
Basic®, en Java y en C++.
XML va a necesitar herramientas nuevas y potentes para
la presentación de datos XML ricos y complejos dentro de
un documento. Esto se consigue asignando una capa de
presentación fácil de usar por encima de un
conjunto complejo de datos jerárquicos que pueden cambiar
de forma dinámica. Entre los diseños que se
podrán utilizar para los datos XML se incluyen los
esquemas contraíbles, las vistas dinámicas de
tablas dinámicas y una sencilla hoja para cada
portafolio.
Los sitios Web pueden ofrecer cotizaciones de bolsa,
artículos de prensa o datos
sobre el tráfico en tiempo real, los cuales se pueden
conseguir a través de un filtro de difusiones del Web o
mediante un sondeo inteligente de un árbol de servidores
que repliquen dichos sitios. Con XML se puede evitar la
sobrecarga de información con sólo redactar
normas
personalizadas sobre el envejecimiento de la información,
igual que en el correo
electrónico. Las herramientas basadas en XML para que
los usuarios creen dichas normas,
así como el software de cliente y servidor para
ejecutarlas, constituyen una gran oportunidad. Un modelo de
objeto estándar no podría habilitar dichas
funciones, normalmente escritas en secuencias de comandos, para
filtrar los mensajes entrantes, examinar los mensajes
almacenados, crear mensajes salientes, obtener acceso a bases de
datos, etc. Dichos agentes se pueden redactar de forma que se
ejecuten en cualquier lugar de forma
automática.
8. Instalación
(Requerimientos de Hardware y
Software).
Software:
Para desarrollar aplicaciones basadas en XML es
suficiente Con un editor de textos ASCII (el Bloc de
notas, por ejemplo) y con un visualizador que incluya un parser
adaptado a XML (Microsoft Internet
Explorer 5, por ejemplo), se pueden crear y ver documentos
XML.
No obstante, existen muchas nuevas herramientas que
facilitan un poco la labor del diseñador, algunas de ellas
gratuitas, como el "Microsoft XML Notepad", que aprovecha los
motores internos del Explorer para trabajar.
La versión 4.x del Netscape Navigator no soporta
XML, y aunque se supone que la versión 5 sí lo
permitirá, la política comercial
actual de Netscape no permite asegurar cuándo ni
cómo será.
Existen otros varios visualizadores/navegadores que
admiten XML, como Amaya, HotMetal o HyBrick, aunque casi cada
día están saliendo nuevos productos
(analizadores, visualizadores, motores, editores, DTDs,
etc.).
Aunque la versión 1.0 de XML es ya definitiva, no
pasa lo mismo con las demás normativas que le
acompañan, que poco a poco van pasando del estado de
"borrador de trabajo" al de "recomendación" (http://www.w3c.org). Este es otro de los motivos
por los que XML no termina de generalizarse, ya que las empresas
se piensan mucho invertir en productos que
no están soportados por estándares
definitivos.
Hardware:
Ya están empezando a aparecer servidores de
Internet especialmente diseñados para satisfacer los
requerimientos de XML. Entre sus funciones destacan el almacenamiento y
manipulación de datos XML, características mejoradas en la
búsqueda de datos, integración de fuentes diversas
de información en bases de datos XML unificadas.
Un ejemplo de este tipo de servidor será el BizTalk Server
de Microsoft, especialmente diseñado para el comercio
electrónico. Empresas como Bluestone Software (
www.bluestone.com ), Object Design Inc ( www.objectdesign.com ) ,
o webMethods (www.webmethods.com ), disponen ya de soluciones XML
Server.
Microsoft pretende establecer por medio de BizTalk un
marco para el comercio electrónico de empresa a
consumidor. El
objetivo de
BizTalk es el de desarrollar una red dentro de su portal
Microsoft Network, que permita poner en contacto a empresas y
consumidores.
9.
Bibliografía
ALADRO GARCÍA, A. El
lenguaje XML: la nueva forma de estructurar los contenidos. Net
Magazine, 1998, año IV, nº 34, p. 74-77.
PEÑA TRESANCOS, J. "Estándar XML 1.0:
tecnologías para Internet". PC World, nº 144, junio
1998, p. 281-288.
http://sunsite.unc.edu/pub/sun-info/standards/xml/why/xmlapps.htm
http://users.ox.ac.uk/~drh97/Papers/Sperberg.html
http://www.cs.caltech.edu/~adam/papers/xml/ascent-of-xml.html
http://www.csclub.uwaterloo.ca/u/relander/XML/Wave/xml_mw.html
http://www.gca.org/conf/xml/xml_what.htm
http://www.poet.com/xml/xml_lib.html
http://www.w3.org/XML/
http://www.xml.com/xml/pub
http://www.sil.org/sgml/xml.html
http://www.geocities.com/SiliconValley/Peaks/5957/xml.html
Autor:
Mendoza Francisco.