Abstract
XML será el lenguaje que nos
garantizará el intercambio de cualquier tipo de información, sin que
ocasione problemas de tipo "contenido"
o de tipo "presentación". Este garantiza que los datos estructurados sean
uniformes e independientes de aplicaciones o fabricantes, lo que
está originando una nueva generación de aplicaciones en
la Web. Este artículo expone la
definición, estructura, y aplicaciones que
se pueden desarrollar en el XML bajo el amparo del consorcio Word Wide Web(W3C).
TABLA DE CONTENIDO
1. Introducción
1.1. Introducción *
1.3. ¿Qué es XML? *
2. Características del
XML *
2.1. Introducción *
2.2. Estándares abiertos *
2.3. Características
Principales *
2.4. DTD *
2.5. Esquemas *
2.6. Fortalezas y Debilidades del XML *
2.7. DOM *
3. Documentos XML en el
Web *
3.1. Desplegar documentos *
3.1.1. CSS *
3.1.2. XSL *
3.2. Vínculos entre Documentos
XML(XLink/XPointer) *
4.1. Aplicaciones de XML *
4.2. Productos *
4.3. Categorías de Productos *
4.3.1. Middleware *
4.3.2. Bases de Datos
XML-Enabled *
4.3.3. Bases de Datos de XML
Nativo *
4.3.4. Servidores XML *
4.3.5. Servidores de Aplicaciones
XML *
4.3.6. Sistemas de Administración de
Contenidos *
4.3.7. Motores de Consulta de
XML *
5. Conclusiones *
5.1. Conceptos importantes *
5.2. Conclusiones Finales *
BIBLIOGRAFIA *
GLOSARIO *
La mayoría de la gente ha oído hablar de XML (Lenguaje de Marcas Extensible, Extensible
Markup Language), siendo muy corriente que se tenga la idea de
que es una especie de HTML avanzado, por lo que siempre
que sale el tema de XML surgen cuestiones fundamentales como:
¿qué es exactamente XML?, ¿es XML una nueva
versión de HTML?, ¿para que sirve?, ¿cuáles
fueron los motivos de su creación?, ¿tiene alguna
aplicación en la actualidad?.
Como es sabido HTML (Hypertex Markup Language) se ha
convertido en un lenguaje de inmensa popularidad durante los
últimos años. También debemos notar que nos hemos
encontrado con sus propias limitaciones, que algunas de ellas se
han querido subsanar con scripts, javascripts, Active X, HTML
dinámico, etc; pero en la realidad todas estas herramientas no aportan una
solución global a las limitaciones del HTML. Hasta hace poco
tiempo o actualmente cuando un
web master diseña un programa de compras para una tienda virtual,
basándose en HTML, debe invertir un arduo trabajo que muchas
veces no puede exportarse para su uso por otras tiendas.
Quizá su diseño estaba previsto
para Windows NT y no funciona en
plataformas UNIX, o hacía uso de Perl
pero no se integraba con Java. La implantación de XML
viene a eliminar este tipo de situaciones permitiendo la
creación de herramientas más
estructuradas.
En este artículo responderemos las interrogantes
planteadas, y analizaremos la utilización de XML como
formato estándar para el intercambio de datos y la forma de cómo
este lenguaje de marcas nos proporciona un formato para describir
datos estructurados, facilitando realizar declaraciones más
precisas de contenido y permitiendo obtener resultados de
búsquedas con más significado. Además,
estudiaremos de que forma XML habilitará una nueva
generación de aplicaciones de manipulación y
visualización de datos basadas en Web.
Para comprender plenamente cuales fueron las razones que
llevaron a la creación del XML por parte del W3C, es
necesario comenzar aclarando la evolución de Internet y del lenguaje HTML. El lenguaje HTML es
originariamente un subconjunto del SGML ( Lenguaje de Marcas
Estándar Generalizado, Standard Generalized Markup
Language), especializado en la descripción de documentos en
pantalla a través de marcas. El proyecto inicial se basaba en una
colección de etiquetas que permitían describir
documentos de texto y vínculos de
hipertexto que permitían desplazarse entre diferentes
documentos, siempre con independencia de la
máquina. Conociendo las normas de actuación de estas
etiquetas y disponiendo de un sencillo editor de textos ASCII, se pueden confeccionar
fácilmente documentos HTML.
HTML, no es un lenguaje de programación, es
un lenguaje de especificación de contenidos para un tipo
específico de documentos SGML. Es decir, mediante HTML
podemos especificar, usando un conjunto de marcas, cómo va a
representarse la información en un navegador
o browser. La facilidad de uso y la particularidad que no es
propiedad de nadie, hizo al
HTML el sistema idóneo para
compartir información en Internet. La expansión de
Internet le ha dado una posición de privilegio y ha hecho
que la idea inicial se modifique considerablemente.
En principio, la intención de HTML era que las
etiquetas fueran capaces de marcar la información de acuerdo
con su significado, sin importar cómo se mostraban en la
pantalla. Lo importante era el contenido y no la forma, o sea,
que era un lenguaje de marcas orientado a describir los
contenidos, dejando a cada navegador la tarea de dar el formato
del documento según su criterio de interpretar las marcas.
Esto producía presentaciones diferentes, pero permitía
controlar fácilmente su contenido. Si una persona o un motor de búsqueda
quería conocer el título del documento, el autor de la
página o las cabeceras de los capítulos, siempre
buscaba en el código las etiquetas
TITLE, ADDRESS o Hx. Además, si a alguien no le gustaba la
idea de dejar a cada aplicación la decisión de
cómo mostrar el contenido de las etiquetas, siempre le
quedaba la posibilidad de controlar el formato del documento con
descripciones particulares, como es el caso de las hojas de
estilo en cascada (CSS).
Por diversos motivos, los creadores de los navegadores fueron
añadiendo más etiquetas HTML dirigidas a controlar la
presentación, como FONT, I, CENTER, xCOLOR, etc., y los
usuarios las utilizaron para que sus documentos estuviesen
perfectamente formateados, sin permitir diferencias importantes
entre visualizadores distintos, por lo que HTML pasó a ser
un lenguaje de marcas más dirigido al control de la presentación
[Montero R. XML].
Aunque los estándares visuales y de interfase de
usuario son una capa necesaria, no son suficientes para
representar y administrar los datos. Hasta hace pocos años,
Internet era un simple medio de acceso a texto e imágenes. No había
ningún estándar establecido para la búsqueda
inteligente, el intercambio de datos, la presentación
adaptable ni para la personalización.
Internet debía ir más allá del
establecimiento de un estándar de acceso y presentación
de información, de forma de poseer un estándar para la
comprensión de la información, una forma común de
representar los datos para que el software pueda buscar, desplazar, presentar
y manipular mejor los datos ocultos en una oscuridad contextual.
HTML no puede hacerlo porque es un formato que describe la
apariencia que debería tener una página Web, pero no
representa datos [MSDN en línea. Por qué XML]. Por
ejemplo, HTML:
- No ofrece una forma estándar para que un
médico pueda enviar una receta a un
farmacéutico. - No habilita a un laboratorio médico para
publicar datos estadísticos en un formato que puedan
analizar todos los receptores. - No describe un pago electrónico de forma que
todos los receptores puedan descodificarlo y
procesarlo. - No ofrece una forma estándar de buscar
documentos de pleitos sobre un tema determinado en bibliotecas
legales. - No especifica cómo se pueden transmitir los
datos del catálogo de una empresa de forma que un
comercial pueda trabajar fuera de línea, mostrar el
catálogo a los clientes, recibir pedidos ni
enviar dichos pedidos en un formato estándar.
Aunque HTML ofrece amplias facilidades de
presentación, no ofrece ninguna forma basada en
estándares para administrar los datos. Un estándar de
representación de datos ampliaría Internet del mismo
modo que el estándar de visualización HTML lo hizo hace
pocos años. El estándar de datos sería el
vehículo para las transacciones comerciales, la
publicación de perfiles de preferencias personales, la
colaboración automatizada y el uso compartido de bases de
datos. Los historiales médicos, los datos de investigación
farmacéutica, las hojas de piezas semiconductoras y los
pedidos de compra se escribirían todos en el mismo formato.
Permitirá una gran variedad de nuevos usos, todos basados en
una representación estándar para el desplazamiento de
datos estructurados por todo la Web tan fácilmente como
desplazamos las páginas HTML hoy en día.
En resumen, llegado a un punto en el que HTML dejó
de servir para su función inicial, no le
quedó más remedio al Consorcio World Wide Web (W3C) la
descripción de un nuevo
subconjunto del SGML que sirva para describir contenidos de
documentos, al que ha denominado XML, publicando las
especificaciones de la versión 1.0 del mismo en 1998. Creo
que en este momento podemos empezar a hablar de XML con un poco
de visión retrospectiva de los motivos de su
aparición.
1.3. ¿Qué es XML?
XML es un lenguaje de marcas que ofrece un formato para
la descripción de datos estructurados, el cual conserva
todas las propiedades importantes del antes mencionado SGML. Es
decir, XML es un metalenguaje, dado que con él podemos
definir nuestro propio lenguaje de presentación y, a
diferencia del HTML, que se centra en la representación de
la información, XML se centra en la información en si
misma. La particularidad más importante del XML es que no
posee etiquetas prefijadas con anterioridad, ya que es el propio
diseñador el que las crea a su antojo, dependiendo del
contenido del documento. De esta forma, los documentos XML con
información sobre libros deberían tener
etiquetas como <AUTOR>, <EDITORIAL>,
<Nº_DE_PÁGINAS>, <PRECIO>, etc., mientras que
los documentos XML relacionados con educación incluyen etiquetas del tipo
de <ASIGNATURA>, <ALUMNO>, <CURSO>,
<NOTA>, etc.
Por ejemplo en la siguiente tabla se muestra la información
incluida por un código típico HTML y
su versión equivalente en XML. Se puede apreciar en este
ejemplo, que es mucho más fácil de entender la
representación en XML.
HTML | XML |
<TABLE> <TR> <TD>Título</TD> <TD>Autor</TD> <TD>Precio</TD> </TR> <TR> <TD>AutoSketch</TD> <TD>Ramón <TD>33</TD> </TR> <TR> <TD>Windows <TD>Jaime <TD>3.250</TD> </TR> <TR> <TD>Web <TD>Ron <TD>8.975</TD> </TR> </TABLE> | <LIBROS> <LIBRO> <TITULO>AutoSketch</TITULO> <AUTOR>Ramón <PRECIO>33</PRECIO> </LIBRO> <LIBRO> <TITULO>Windows <AUTOR>Jaime <PRECIO>3.250</PRECIO> </LIBRO> <LIBRO> <TITULO>Web <AUTOR>Ron <PRECIO>8.975</PRECIO> </LIBRO> </LIBROS> |
XML fue desarrollado por un grupo de trabajo bajo los
auspicios del consorcio World Wide Web (W3C) a partir de 1996.
Este fue constituido en 1994 con el objetivo de desarrollar
protocolos comunes para la
evolución de Internet. Se
trata de un consorcio de la industria internacional con
sedes conjuntas en el Instituto Tecnológico de
Massachussets, de Estados Unidos, el Instituto
Nacional de Investigación en Informática y
Automática europeo y la Keio University Shonan Fujisawa
Campus de Japón. El W3C tiene como
misión la
publicación para uso público de protocolos o estándares
globales de uso libre. Al comenzar el proyecto, los objetivos
planteados por el grupo de desarrollo del XML fueron diez
puntos [Young M. 2000] :
- 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. - XML debería ser simple pero perfectamente
formalizado. - Los documentos XML deben ser fáciles de
crear. - La brevedad en las marcas XML es de mínima
importancia.
Referencias
[Montero R. XML] – Disponible en Internet en http://www.ramon.org/xml/articulos/intro_xml-html.htm
[MSDN en línea. Por qué XML] – Disponible en
Internet en http://www.microsoft.com/latam/msdn/articulos/2000/03/art03/#top
[Young M. 2000] – XML Step by Step, Washington, Microsoft Press, p.
12
XML es un formato basado en texto, específicamente
diseñado para almacenar y transmitir datos. Un documento XML
se compone de elementos XML, cada uno de los cuales consta de una
etiqueta de inicio, de una etiqueta de fin y de los datos
comprendidos entre ambas etiquetas. Al igual que los documentos
HTML, un documento XML contiene texto anotado por etiquetas. Sin
embargo, a diferencia de HTML, XML admite un conjunto ilimitado
de etiquetas, no para indicar el aspecto que debe tener algo,
sino lo que significa. Por ejemplo: un elemento XML puede estar
etiquetado como precio, número de pedido o nombre. El autor
del documento es quien decide qué tipo de datos va a
utilizar y qué etiquetas son las más
adecuadas.
Los documentos XML son fáciles de crear. En este
ejemplo se utiliza XML para describir un parte
meteorológico. Este documento se puede guardar con una
extensión de XML, por ejemplo Tiempo.xml.
<reporte-clima>
<fecha>March 25,
1998</fecha>
<hora>08:00</hora>
<area>
<departamento>MVD</
departamento >
<ciudad>Montevideo</ciudad>
<pais>Uruguay</pais>
</area>
<medidas>
<cielo>parcialmente
nublado </cielo>
<temperatura>16</temperatura>
<viento>
<direccion>SO</direccion>
<velocidad>16</velocidad>
</viento>
<h-indice>51</h-indice>
<humedad>87</humedad>
<visibilidad>10</visibilidad>
<uv-indice>1</uv-indice>
</medidas>
</reporte-clima>
En lugar de describir el orden y la disposición de
la presentación de los datos, las etiquetas indican qué
significa cada elemento de datos (si es un elemento
<fecha>, un elemento <area>, etc.). Cualquier
receptor de estos datos puede descodificar el documento y
utilizarlo para sus propios fines.
XML se basa en una tecnología desarrollada a partir de
estándares probados y optimizada para la Web. La iniciativa
XML consta de un conjunto de estándares relacionados entre
sí:
- XML (Extensible Markup Language). Es una
recomendación, que significa que el estándar es
estable y que los desarrolladores de Web y de herramientas
pueden adoptarlo plenamente. - Namespaces. En XML es una
recomendación que describe la sintaxis y la compatibilidad
de los espacios de nombres para los intérpretes de
XML. - DOM (Document Object Model). Es una
recomendación que ofrece un estándar para el acceso
mediante programación a los datos
estructurados (a través de scripts), de modo que los
desarrolladores puedan interactuar de forma coherente con los
datos basados en XML y computarlos. - XSL (Extensible Stylesheet Language). XLS es
la cara de presentación del XML. Este debe representar de
forma independiente a la plataforma utilizada la
información existente en los documentos XML. - XML Linking Language. Es un lenguaje que
ofrece vínculos en XML parecidos a los de HTML, pero
más potentes. Los vínculos pueden tener varias
direcciones y pueden existir en el nivel de los objetos, no
sólo en el nivel de las páginas.
2.3. Características
Principales
Extensible
Dentro de XML se pueden definir un conjunto ilimitado de
etiquetas. Mientras que las etiquetas de HTML pueden utilizarse
para desplegar una palabra en negrita o itálicas, el XML
proporciona un marco de trabajo para etiquetado de datos
estructurados. Un elemento de XML puede declarar que sus datos
asociados sean el precio de venta al público, un
impuesto de venta, el título de un libro
o cualquier otro elemento de datos deseado. Al irse adoptando las
etiquetas XML a lo largo de una intranet de alguna organización y a lo ancho de
la Internet, habrá una correspondiente habilidad para buscar
y manipular datos sin importar las aplicaciones dentro de las
cuales se encuentre.
Representación estructural de los
datos.
El XML proporciona una representación estructural
de los datos que ha probado ser ampliamente implementable y
fácil de distribuir. Las implementaciones industriales en la
comunidad del SGML y en otros
lugares han demostrado que la calidad intrínseca y la
fortaleza industrial del formato de datos con estructura de árbol del
XML. El XML es un subconjunto del SGML que está optimizado
para su transmisión por Web; al estar definido por el
Consorcio de la World Wide Web, asegura que los datos
estructurados serán uniformes e independientes de
aplicaciones o compañías. Esta interoperabilidad
resultante está dando el impuso de inicio a una nueva
generación de aplicaciones de Web para comercio electrónico [MSDN
en línea. Introducción al XML].
El lenguaje XML proporciona un estándar de datos
que puede codificar el contenido, la semántica y el esquema
de una amplia variedad de casos que van desde simples a
complejos, por ejemplo XML puede ser utilizado para marcar lo
siguiente:
- Un documento ordinario.
- Un registro estructurado, tal como
un registro de citas u
órdenes de compra. - Un registro de datos, tal como el resultado de una
consulta. - Metacontenido acerca de un sitio Web, tal como un
Formato de Definición de Canal (Channel Definition
Format, CDF). - Presentaciones gráficas, tales como la
interfase de usuario de una aplicación.
Una vez que los datos estén en el escritorio del
cliente, pueden ser manipulados,
editados, y presentados de una gran variedad de maneras, sin
viajes de regreso al servidor. Los servidores se
pueden convertir ahora en más escalables, debido a las
menores cargas de cálculo y ancho de banda.
Además, dado que los datos son intercambiados en el formato
XML, pueden ser fácilmente mezclados desde diferentes
fuentes.
Los datos son separados de la presentación y el
proceso.
El poder y la belleza del XML es
que mantiene la separación entre la interfase de usuario y
los datos estructurados. El HTML especifica como visualizar datos
en un navegador, en cambio XML define el
contenido. XML solo utiliza etiquetas para describir los datos,
tales como el nombre de la ciudad, temperatura y presión barométrica.
Para presentar los datos en un navegador XML, este utiliza hojas
de estilo tales como el Lenguaje de Estilo Extensible (XSL) y las
Hojas de Estilo en Cascada (CSS). El XML separa los datos de la
presentación y el proceso, permitiendo desplegar
y procesar los datos tal como usted desee, al aplicar diferentes
hojas de estilo y aplicaciones.
Esta separación de datos de la presentación
permite una integración de datos
perfecta de fuentes diversas. La
información de clientes, ordenes de compra,
resultados de investigaciones, pagos de
facturas, registros médicos, datos de
catálogo y cualquier otra información se puede
convertir a XML, permitiendo a los datos ser intercambiados en
línea tan fácilmente como las páginas de HTML
despliegan datos hoy. Los datos codificados en XML pueden ser
transmitidos sobre la Web hasta el escritorio. No es necesario
retroajustar información en formatos propietarios
almacenados en bases de datos o documentos de mainframes y,
debido a que se usa el HTTP para transmitir documentos XML sobre
la red, no se necesitan cambios para
esta función. Los documentos XML
son fáciles de crear; si está familiarizado con el
HTML, puede aprender rápidamente a crear uno.
Conversión de los datos XML en
autodescriptivos.
Los datos codificados en XML son autodescriptivos, pues
las etiquetas descriptivas están entremezcladas con los
datos. El formato abierto y flexible utilizado por XML permite su
uso en cualquier lugar donde sea necesario intercambiar y
transferir información. Dado que el XML es independiente del
HTML, se puede insertar código XML en documentos HTML. El
W3C ha definido un formato mediante el cual se pueden encapsular
en páginas HTML los datos basados en XML. Al incrustar datos
XML en una página HTML, se pueden generar varias vistas a
partir de los datos entregados, utilizando los datos
semánticos que contiene el XML.
El DTD (definición del tipo de documento, Document
Type Definition) proporciona la gramática para una clase
de documentos XML. Esta gramática contiene la
definición del conjunto de etiquetas que puede contener esa
clase de documentos XML, los nombres que pueden utilizarse en los
elementos, dónde pueden aparecer y cómo se
interrelacionan entre ellos. Se puede decir que un DTD es una
definición exacta de la gramática de un documento
[Goldfarb C., Precod P. 1999].
Los documentos XML enviados con un DTD se reconocen como
"XML válido". En este caso, un intérprete de XML
podría comparar los datos entrantes con las normas definidas en el DTD para
comprobar que los datos se han estructurado correctamente. Los
datos enviados sin un DTD se reconocen como "bien formados". En
XML no existen DTDs predefinidos, por lo que es labor del
diseñador especificar su propia DTD para cada tipo de
documento XML. En la especificación de XML se describe la
forma de definir DTDs particularizadas para documentos XML, que
pueden ser internas (cuando van incluidas junto al código
XML) o externas (si se encuentran en un documento
propio).
Un ejemplo de un DTD que defina la estructura de un
documento XML relacionado con libros, podría ser un
documento conteniendo el siguiente código:
<!ELEMENT LIBROS (LIBRO)+>
<!ELEMENT LIBRO (TITULO,AUTOR,PRECIO)>
<!ELEMENT TITULO (#PCDATA)>
<!ELEMENT AUTOR (#PCDATA)>
<!ELEMENT PRECIO (#PCDATA)>
En el DTD del ejemplo se definen los elementos
(!ELEMENT) que integran el documento XML. En la primera
línea se indica que el elemento principal es LIBROS, del que
dependen uno o más (+) elementos LIBRO. La segunda
línea sirve para especificar que el elemento LIBRO contiene
tres elementos (TITULO,AUTOR,PRECIO) que se deben marcar en dicho
orden. Las restantes líneas aclaran que los elementos
TITULO, AUTOR y PRECIO contienen valores de cadenas de texto.
Por más información consultar
http://www.dtd.com.
Últimamente se está imponiendo otra forma
más eficaz de definir la estructura de un documento XML,
conocida como esquemas. Un esquema es una especificación
formal de las normas de un documento XML, que indica qué
elementos se permiten en un documento y en qué combinaciones
están permitidas. Los nuevos lenguajes de esquemas,
definidos en las propuestas XML-Data (Datos de XML) y DCD
(Descripción del contenido del documento) enviadas por el
XML-Data Working Group al W3C, proporcionan las mismas
funciones que un documento
DTD. No obstante, puesto que estos lenguajes de esquema son
extensibles, los desarrolladores pueden ampliarlos con
información adicional, como los tipos de datos, la herencia y las normas de
presentación. Esto hace que los nuevos lenguajes de esquemas
sean mucho más potentes que los DTD.
La expresión de esquemas dentro de XML aumenta la
potencia del formato XML, pues
permite que el software examine determinados datos para
comprender su estructura, sin necesitar ninguna descripción
previa incorporada de la estructura de los datos. Con un esquema,
un autor puede definir exactamente qué nombres de elementos
se permiten en un documento y, dentro de cada elemento, qué
subelementos, atributos y relaciones se admiten. El autor puede
importar fragmentos de otros esquemas, así como ampliar
tipos a través de la herencia. Todo ello permite
establecer relaciones complejas entre los elementos sin perder la
simplicidad de la estructura de árbol léxico [MSDN en
línea. Introducción al XML]. Por más
información consultar http://www.schema.net y
http://www.w3.org/XML/Schema.
2.6. Fortalezas y
Debilidades del XML
La meta fundamental del XML es hacer la cooperación
y la interoperabilidad más fáciles entre módulos
que pertenecen a diferentes sistemas, e incluso a diferentes
organizaciones. Entonces,
¿por qué el XML se ha convertido en tecnología del alto nivel tan
rápidamente? La respuesta es simple: XML es texto simple,
pero es también elegante. Un lenguaje de marcas hace
fácil identificar (y extraer en un tiempo posterior)
segmentos específicos de información con significados
especiales. Usar texto simple y mantener el contenido
universalmente interpretable son dos condiciones para implementar
una tecnología exitosamente entre sistemas
heterogéneos. Una cadena del texto se puede transferir y se
puede manejar fácilmente en cualquier plataforma destino.
Sin embargo, si usted solo planea definir un protocolo basado en texto para
hacer que sus módulos se comuniquen, usted no necesita
necesariamente XML. El ASCII, de hecho, ha existido
durante mucho tiempo. La diferencia recae en las etiquetas XML
que se utilizan para delimitar segmentos de
información.
La principal fortaleza del XML es también,
actualmente, su debilidad principal. El XML es demasiado
genérico para ser utilizado sin definir externamente la
sintaxis exacta de un documento y cómo puede localizarse y
extraerse cada fragmento de datos intercambiados. Tal
estandarización es más simple alcanzar dentro de una
sola aplicación corporativa, incluso si atraviesa varias
plataformas heterogéneas de hardware y de software. Conseguir el mismo
resultado en un contexto más amplio requiere un enorme
esfuerzo para llegar a algunas definiciones estándares. Este
proceso puede tomar años en ser completado [MSDN Latinoamérica].
Desgraciadamente, cuando se trata de integrar sistemas
de diferentes organizaciones, especialmente de
una manera abierta, el XML muestra algunas limitaciones. El
XML trata de la descripción de los datos, pero solamente es
útil cuando la gente está de acuerdo en la manera que
los datos deben ser descritos. Una factura, por ejemplo, es
lógicamente el mismo tipo de documento para cualquier
proceso que lo manipule. Pero diferentes procesos pueden convertirla en
formatos binarios diferentes. A pesar del formato de almacenamiento físico, el
documento necesita ser transmitido y ser recibido en un formato
comúnmente reconocido disponible en todas las plataformas.
Por supuesto, el XML se puede utilizar como este
formato.
Imagine el enorme costo que supondría para los
consumidores y las empresas si cada empresa definiera su propia forma
de publicar la información. Incluso con la Web, los costos asociados a la
configuración y el mantenimiento de un sitio Web
superan la capacidad de algunas empresas. Al no haber ningún
límite al número de empresas que podrían publicar
esta información, la falta de estándares que definan el
modo de publicarla de una forma segura y controlada tendría
como consecuencia miles y miles de implementaciones, enfoques de
exploración de la Web y profundidad del contenido
distintos.
Por este motivo, en la actualidad se están
definiendo esquemas por grupos sectoriales con similares
intereses, de forma que existirán esquemas estándares
avalados por asociaciones de empresas y organismos que garanticen
que cualquier usuario que las adopte como suyas, trabaje con las
mismas etiquetas. Como ejemplos de estos esquemas estándares
tenemos: CDF – Channel Definition Format (define canales para
enviar información periódica a los clientes), CML –
Chemical Markup Language (define información del sector
químico), MathML – Mathematical Markup Language (define
datos matemáticos), SMIL – Synchronized Multimedia Integration Language
(define presentaciones de recursos multimedia).
Que es BizTalk?
BizTalk (http://www.biztalk.org/) es una iniciativa
mundial dirigida a crear una base de datos de formatos o
esquemas de documentos en XML. Importantes compañías se
han unido ya a BizTalk, que ofrece un gran número de
esquemas de XML a los cuales las compañías interesadas
puedan referirse. Un documento de BizTalk es un documento XML que
proporciona las etiquetas de un cierto vocabulario y sigue las
reglas que la organización ha definido
para este tipo de documento. Este sitio crecerá hasta
convertirse en un portal para localizar, administrar, publicar y
obtener información sobre XML, XSL y los modelos de información
utilizados en miles de aplicaciones.
Microsoft® pretende establecer por medio de BizTalk un
marco para el comercio electrónico de
empresa a consumidor. En declaraciones de
Bill Gates, "para conseguir
introducir a más de un millón de empresas en el
comercio electrónico,
necesitamos ayudar a que sus programas de software hablen un
lenguaje de negociación de un modo
consistente. Hasta ahora ha sido extremadamente difícil para
las empresas conducir sus negocios sobre Internet por la
ausencia de un vocabulario simple que soporte los procesos de negocio. BizTalk
proporciona un marco que acelerará la adopción del comercio electrónico al
proveer de un lenguaje que facilite que los programas de software
corran en cualquier plataforma o tecnología" [Marketing y Comercio
Electrónico; XML].
Supongamos que usted es un programador Visual Basic y ha recibido
algunos datos en un documento XML. Ahora desea extraer la
información del documento XML e integrar esos datos en sus
soluciones de Visual Basic. Por supuesto,
podría escribir código para analizar el contenido del
documento XML, pues no deja de ser un documento de texto. Sin
embargo, esta solución no sería muy productiva y
desaprovecharía una de las ventajas de XML: el ser
una forma estructurada de representar datos. Una forma mejor de
recuperar información de documentos XML es utilizar un
analizador o intérprete de XML. Un intérprete de XML
es, a grandes rasgos, un programa que lee un documento XML
y permite disponer de sus datos.
En su calidad de programador en
Visual Basic, querrá
utilizar un intérprete que sea compatible con el DOM
(modelo de objeto de documento,
Document Object Model) de XML. Este define un conjunto
estándar de comandos que los intérpretes
exponen para facilitarle el acceso al contenido de los documentos
XML desde sus programas. Un intérprete de XML que sea
compatible con DOM toma los datos de un documento XML y los
expone mediante un conjunto de objetos que se pueden programar.
Además, un intérprete de XML puede utilizar un DTD o un
esquema para determinar si un documento es válido
[LaVariable. Manual de XML DOM].
DOM para XML es un modelo de objetos que muestra
el contenido de un documento XML. La Especificación de nivel
1 del DOM del W3C define actualmente lo que debería mostrar
un DOM como propiedades, métodos y eventos. Para utilizar XML DOM,
hay que crear una instancia de un intérprete XML. Por
ejemplo para ello, Microsoft® muestra XML DOM mediante un
conjunto de interfaces COM estándar en Msxml.dll. El
archivo Msxml.dll contiene la
biblioteca de tipos y el
código de implementación para trabajar con documentos
XML. Por más información consultar
http://www.jclark.com/xml.
A continuación se mencionan como ejemplos algunos
de los métodos y propiedades
especificados por DOM:
- Método "Load", que permite cargar documentos XML
procedentes de un disco local, de la red o de una dirección
URL.
- Propiedad "Async", determina si el intérprete de
XML carga los documentos de manera asincrónica o
no.
- Propiedad " ReadyState", indica en que estado se encuentra la carga
del documento
- Propiedad "ValidateOnParse", indicar al
intérprete que no valide el documento.
- Propiedad "ChildNodes", muestra la lista de nodos XML
DOM.
- Propiedad "Level", que devuelve el número de
nodos secundarios existentes.
- Propiedad "HasChildNodes", facilita el recorrido de
la jerarquía de nodos para examinar elementos, atributos y
valores.
Referencias
[Goldfarb C., Precod P. 1999] – Manual de XML, Madrid, Prentice Hall, p. 34
[LaVariable. Manual de XML DOM] – Disponible en Internet
en http://www.lavariable.com/art/xml/axml003/axml003.asp#Intro
[Marketing y Comercio
Electrónico; XML] – Disponible en Internet en
http://www.marketingycomercio.com/numero5/5xml.htm
[MSDN en línea. Introducción al XML] –
Disponible en Internet en
http://www.microsoft.com/Latam/msdn/articulos/1999/11/art02/19991102.doc
[MSDN Latinoamérica] –
Disponible en Internet en
http://www.asia.microsoft.com/latam/msdn/articulos/2000/04/art02/#top
Un navegador, después de chequear la sintaxis del
código del documento, debe presentar la información del
documento con un formato determinado. Los documentos HTML
utilizan las descripciones de formatos internas del propio
navegador, o si existen descripciones CSS (que son opcionales),
utilizan la información de la hoja de estilo para ajustar la
presentación en la pantalla. Los documentos XML siempre
necesitan normas que describan su presentación. Para
describir cómo se deben presentar los documentos XML podemos
optar por dos soluciones: las mismas
descripciones CSS que se utilizan con HTML y/o las descripciones
que se basan en XSL.
Si ya existía una forma de definir las
presentaciones de los documentos Web, la interrogante que puede
surgir es cual fue el motivo que llevó a desarrollar otra
forma específica para XML? La respuesta es que CSS es eficaz
para describir formatos y presentaciones, pero no sirve para
decidir qué tipos de datos deben ser
mostrados y cuáles no. Esto es, CSS se utiliza con
documentos XML en los casos en los que todo su contenido debe
mostrarse sin mayor problema. XSL no solo permite especificar
cómo queremos presentar los datos de un documento XML, sino
que también sirve para filtrar los datos de acuerdo a
ciertas condiciones. Se parece un poco más a un lenguaje de
programación.
Las especificaciones CSS (hojas de estilo en cascada ,
Cascading Style Sheets) deben comprenderse como una
descripción del formato en el que se desea que aparezcan las
entidades definidas en un documento . Por ejemplo, si se define
una hoja de estilo ligada con un documento HTML con el siguiente
código:
P {font-family:Verdana; font-size:10 pt}
TABLE {border:2; font-family:Tahoma; font-size:9 pt}
H3 {font-family:Comic Sans MS; font-size:12 pt; color:blue}
Se indica al navegador que presente los textos incluidos
entre <P> y </P> con un tipo de letra Verdana de 9
puntos, las tablas con una fuente de letra Tahoma de 9 puntos y
un ancho de 2 en los bordes, y los titulares incluidos entre
<H3> y </H3> con una letra Comic Sans MS de 12 puntos
y color azul. Utilizar CSS con XML
es similar, con la excepción de que las etiquetas son
diferentes a las de HTML [Young M. 2000]. Un código como el
siguiente indica para un documento XML como debe mostrar las
etiquetas <AUTOR>, <PRECIO> y
<TITULO>:
AUTOR {display:block; font-family:Arial;
font-size:small; width:30em}
PRECIO {display:block; padding:1.2em; font-size:x-small}
TITULO {display:block; font-size:x-large; text-align:center;
color:#888833}
SGML tiene su propio estándar para la
representación de sus documentos, el DSSSL (Document Style
Semantics and Specification Language, ISO10179), que en realidad
es un lenguaje de programación completo y muy
potente. Por tanto, ya que XML es una versión reducida de
SGML parecía lógico hacer también una versión
reducida del DSSSL, llamada en este caso XSL (lenguaje de hojas
de estilo extensible, Extensible Stylesheet Language) [Gómez
O. Tutorial sobre XML].
Básicamente, XSL es un lenguaje de hojas de estilos
diseñado para su utilización en el Web. XLS debe
representar de forma independiente a la plataforma utilizada o al
medio de representación la información recogida en los
documentos XML.
En cuanto a la inclusión de imágenes en las páginas
XML, estas son enlaces, que pueden representarse por alguno de
los tipos soportado por las especificaciones XLink y XPointer.
XSL, además de permitir la descripción de la
presentación física, también posibilita la
ejecución de bucles, sentencias del tipo IF…THEN,
selecciones por comparación, operaciones lógicas,
ordenaciones de datos, utilización de plantillas, etc. Para
que el lector se haga un pequeña idea de cómo es un
código XSL, a continuación se muestra un sencillo
ejemplo que permitiría mostrar todos los contenidos de las
etiquetas <TITULO>, <AUTOR> y <PRECIO> de un
documento XML, mediante un bucle sin condiciones:
<xsl:template match="/">
<HTML>
<BODY>
<xsl:for-each select="/LIBROS/LIBRO">
Título:
<xsl:value-of select="TITULO"/><BR/>
Autor:
<xsl:value-of select="AUTOR"/><BR/>
Precio:
<xsl:value-of select="PRECIO"/>
pesetas<BR/>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
Por más información consultar
http://www.w3.org/Style/XSL.
3.2. Vínculos entre Documentos
XML(XLink/XPointer)
Los enlaces e hipervínculos son tan importantes
para los documentos XML que el W3C ha sacado las especificaciones
que las controlan fuera de las descripciones del DTD, creando 2
normas: XLink y XPointer. Estas definen el modo de enlace entre
diferentes documentos. Este lenguaje va más allá de los
enlaces simples que sólo soporta el HTML [Pitts N. 1999].
Esta especificación soporta por ejemplo las siguiente
características:
- 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). - Hiperenlaces múltiples (anillos, múltiples
ventanas, etc). - Enlaces agrupados (múltiples
orígenes).
XLink define la forma en la que los documentos XML deben
conectarse entre sí. XPointer describe cómo se puede
apuntar a un lugar específico de un determinado documento
XML. Resumiendo, XLink determina el documento al que se desea
acceder y XPointer marca el lugar exacto en dicho
documento. Al contrario de lo que ocurre con HTML, en XML existen
dos tipos básicos de hipervínculos: simples y
extendidos. Un ejemplo de un hipervínculo simple
sería:
<AUTOR xlink:href="autores.xml#juan"
xlink:show="new">
<NOMBRE>Juan Primero Segundo</NOMBRE>
</AUTOR>
Otro ejemplo de un hipervínculo extendido
podría ser:
<EDITOR_AUTOR xlink:extended>
<xlink:locator href="#ana" id="editor"/>
<xlink:locator href="autores.xml#juan" id="autor"/>
<xlink:arc from="editor" to="autor" show="replace"/>
</EDITOR_AUTOR xlink:extended>
En el primero se puede observar la definición de un
hipervínculo simple que se abre en una nueva ventana
(show="new"), mientras que en el segundo se definen un
hipervínculo con tres posibilidades diferentes: a una
sección determinada del documento (#ana), o a un determinado
lugar de otro documento (autores.xml#juan), o a una zona
delimitada por dos marcadores (editor y autor). El funcionamiento
de un hipervínculo simple no tiene secretos, pues es similar
al que se utiliza en HTML . Por más información
consultar http://www.w3.org/XML/Linking.
Referencias
[Gómez O. Tutorial sobre XML] Disponible en
Internet en http://face.el.uma.es/imasd/xml/xml.html
[Pitts N. 1999]. Madrid, Anaya Multimedia, p.
297
[Young M. 2000]. Step by Step, Washington, Microsoft
Press, p.139
La respuesta a si ya se puede utilizar XML en la Web es
un rotundo si, aunque dado que es una normativa nueva, no todas
las herramientas relacionadas con Internet son capaces de
trabajar con XML. Con un editor de textos ASCII (el Bloc de
notas, por ejemplo) y con un visualizador que incluya un
intérprete de XML (Microsoft Internet Explorer 5, por
ejemplo), ya se pueden crear y ver documentos XML. No obstante,
existen muchas herramientas nuevas que facilitan un poco la labor
del diseñador. Existen otros varios navegadores que admiten XML,
como Amaya, HotMetal o HyBrick, aunque casi cada día
están saliendo nuevos productos (intérpretes,
navegadores, Bases de Datos, editores, DTDs, etc.) [Santamaria F.
XML]. Si el lector solicita información en un buscador sobre
XML, se sorprenderá de la enorme relación de recursos que
surgirán.
Desarrollo de aplicaciones con XML
Se pueden establece 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.
- Aplicaciones que intentan transferir una parte
significativa de la carga del proceso del servidor al cliente Web. Esta
carga hará que muchas de las funciones de modificación
puedan desarrollarse desde el mismo navegador Web del cliente.
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
capas.
- Aplicaciones que precisen que el cliente Web presente
diferentes versiones de los mismos datos a diferentes
usuarios.
- 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 aplicaciones con una
mayor precisión de la búsqueda.
El número de productos para utilizar XML con Bases
de Datos está creciendo a una gran velocidad. Nuevos
productos entran al mercado de forma constante.
Aquí se realiza una clasificación de estos productos,
mencionando cuales son las características genéricas de
los mismos, que funcionalidades brindan y se analizan algunos de
estos productos existentes en el mercado.
Antes de continuar, hay que realizar la aclaración
de que los documentos XML pertenecen a dos categorías:
"basados en datos" y "basados en documentos". Los documentos XML
"basados en datos" son en los que XML es usado como un transporte de datos. Estos son
por ejemplo órdenes de compra, registros de pacientes y datos
científicos. Los "basados en documentos" son en los que XML
es usado para representar documentos, como un manual de usuario,
páginas estáticas, folletos de marketing. Este
último tipo de documento se caracteriza por su estructura
irregular.
Para grabar y recuperar datos en un documento "basados
en datos", se necesitará una Base de datos, como puede ser una
Base de Datos relacional o una orientada a objetos.
Para grabar y recuperar datos en un documento "basados
en documentos", se necesita una Base de Datos de XML o un
Sistema de Administración de
Contenidos. Ambos está diseñados para almacenar
fragmentos del contenido, como procedimientos, capítulos, y
glosarios, y pueden incluir metadatos, como nombre del autor,
fecha de revisión, etc. Un Sistema de Administración de
Contenidos generalmente tiene funcionalidades adicionales, como
editores, controladores de versiones, etc [Bourret
R.,XML].
Para realizar esta división de los productos que
están vinculados a la tecnología XML se tomó en
cuenta cuales son las características de los mismos, las
funciones que cumplen y como interactúan con las Bases de
Datos. Cabe destacar que a veces las diferencias entre algunas de
estas categorías es un poco arbitraria, ya que los productos
ofrecen funcionalidades muy variadas que implica que se
superpongan entre las categorías. Se puede establecer que
siete categorías de productos:
Middleware: Software que es invocado desde
nuestras aplicaciones para transferir datos entre documentos XML
y Bases de Datos. Orientados a aplicaciones "basados en
datos".
Bases de Datos XML-Enabled: Bases de Datos que
pueden transferir datos entre documentos XML y ellas mismas.
Orientados principalmente para aplicaciones "basados en
datos".
Bases de Datos de XML Nativo: Base de Datos que
almacenan XML en su forma "nativa", generalmente tanto texto
indexado como alguna variante del DOM. Son tanto para
aplicaciones "basados en datos" o "basados en
documentos".
Servidores XML: Plataforma que brinda servicio de datos (en forma de
documentos XML) desde y hacia aplicaciones distribuidas, como
e-commer Los documentos XML deben ser fáciles de crear ce y
aplicaciones business to business. Orientados principalmente a
aplicaciones "basados en datos".
Servidores de Aplicaciones XML: Servidores de
aplicaciones Web que brindan servicio de XML a los
navegadores. Son tanto para aplicaciones "basados en datos" o
"basados en documentos".
Sistemas de Administración de Contenidos:
Sistemas para administrar documentos legibles e incluyen soporte
para editar, controlar las versiones, crear nuevos documentos a
partir de documentos existentes. Principalmente destinados a
aplicaciones "basados en documentos"
Motores de consulta de XML: Aplicaciones que
permiten realizar consultas sobre documentos XML.
Middleware es software que es usado en aplicaciones
"basadas en datos" para transferir datos entre documentos XML y
Bases de Datos. Están escritos en diferentes lenguajes, pero
la mayoría de estos utilizan ODBC, JDBC, o OLEDB. Aunque
algunos de estos pueden enviar datos a través de Internet,
la mayoría de estos necesitan ser usados con un servidor Web
si se necesita acceso remoto a los datos. Dentro de esta
categoría de productos podemos encontrar los siguientes
productos:
Producto | Desarrollador |
ADO® | Microsoft® |
Allora® | HiT Software® |
ASP2XML® | Stonebroom® |
Attunity Connect® | Attunity Ltd.® |
DatabaseDom® | IBM® |
DataCraft® | IBM® |
DB2XML® | Volker Turau® |
DB/XML Vision® | DATA Mirror Corp.® |
IConnector® | Infoteria® |
idx -xmnesia® | IDEALX® |
InterAccess® | XML Software Corporation® |
ODBC2XML® | Intelligent Systems Researc® |
ODBC Socket Server® | Team FXML® |
PerXML Smart Transformation | PerCurrence® |
XML Lightweight Extractor (XLE)® | IBM® |
XML SQL Utility for | Oracle® |
ADO.
Desarrollador: Microsoft
ADO provee de un camino para transferir datos entre
documentos XML y una Base de Datos, usando Recordsets como
objetos intermedios. Si el Recordset tiene pendiente updates,
deletes, o inserts, estos son especificados por banderas
especificas de ADO.
XML SQL Utility for Java y XSQL
Servlet. Desarrollador: Oracle
XML SQL Utility for Java es un conjunto de clases java para
transferir datos entre Bases de Datos relacionales y documentos
XML. Cuando se transfiere datos desde la Base de Datos a un
documento XML, el usuario debe proveer tanto una sentencia SELECT
o un conjunto de resultados JDBC. Cuando la transferencia es en
el otro sentido, el usuario provee un documento XML o un
documento DOM.
4.3.2. Bases de Datos
XML-Enabled
Este tipo de Bases de Datos son (usualmente
relacionales) que brindan la posibilidad de transferir datos
entre documentos XML y ellas mismas. Estas Bases de Datos son
generalmente diseñadas para almacenar y recuperar documentos
"basados en datos". Esto es porque los datos son transferidos
desde y hacia tablas definidas por el usuario, en lugar de tablas
especialmente diseñadas para modelar el documento XML. Sin
embargo, muchas de estas pueden almacenar documentos "basados en
documentos" en una sola columna.
Muchas de las Bases de Datos pueden publicar
documentos en el Web, esto implica que la línea que separa
entre las Bases de Datos XML-Enabled y los Servidores de XML es
confusa, pero cabe destacar que estos últimos están
diseñados primariamente para construir aplicaciones basadas
en el Web. Con más claridad se puede diferenciar las Bases
de Datos XML-Enabled y los Servidores de Aplicaciones XML, los
cuales no puede recibir datos como documentos XML. Dentro de este
tipo de Bases de Datos, encontramos los
productos:
Producto | Desarrollador |
DB2 XML Extender and DB2 Text | IBM® |
Informix® | Informix® |
Microsoft SQL Server | Microsoft® |
Oracle 8i 9i® | Oracle® |
DB2 XML Extender y DB2 Text
Extender. Desarrollador:
IBM
El DB2 XML permite transferir
datos entre documentos XML y DB2. Los DTDs de XML son mapeados
a esquemas (y viceversa) con el lenguaje XML-based Data
Access Definition (DAD). Una
herramienta visual es provista para construir documentos DAD,
de forma de mapear elementos y atributos a las tablas y
columnas. Las aplicaciones son procedimientos almacenados, que
invocan el Extender, quien luego guarda o trae datos basados en
el documento DAD. El XML Extender administra documentos DAD y
DTDs en sus propias tablas, evitando que las aplicaciones
tengan que hacer esto y optimizando el acceso. Además, el
DB2 Text Extender contiene una variedad de tecnologías
para realizar búsquedas.
Informix. Desarrollador:
Informix
Informix soporta XML a través de su
traductor "Object Translator " y el producto "Web DataBlade." El
Object Translator genera código, incluyendo la capacidad de
que los objetos transfieran sus datos desde y hacia la Base de
Datos. También soporta funcionalidades como transacciones y
tipos de bloqueos pesimistas y optimistas. El soporte de XML
está provisto a través de métodos generados que
pueden transferir datos entre objetos y documentos XML. Los
usuarios deben mapear los documentos XML a un árbol de
objetos de datos con una herramienta visual. El Web DataBlade es
una aplicación que crea Documentos XML desde templates
conteniendo sentencias embebidas de SQL.
Microsoft SQL Server 2000.
Desarrollador: Microsoft
Microsoft SQL Server 2000 soporta XML de
tres formas distintas: La cláusula FOR XML en sentencias
SELECT, consultas XPath que utilizan esquemas XML-Data, y la
función OpenXML en procedimientos almacenados. Los esquemas
XML-Data, también llamados "esquemas de mapeo", contienen
atributos extras que mapean elementos y atributos a tablas y
columnas. Esto modela un documento XML como un árbol de
objetos de datos y son usados para consultar la Base de Datos
usando un subset de XPath. Existe una herramienta gráfica
para construir esquemas de mapeo.
La función OpenXML es usada para extraer cualquier parte de
un documento XML como una tabla y puede ser usado como una tabla
en la mayoría de los lugares donde estas son utilizadas,
como por ejemplo en la cláusula FROM de una sentencia
SELECT. Esto se puede utilizar en forma conjunta con una
sentencia INSERT para transferir datos de un documento XML a la
Base de Datos. Una expresión XPath identifica el elemento o
atributo que representa una fila de datos. Inserts, updates, y
deletes son realizados a través de documentos XML llamados
"update grams". Estos contienen los datos de antes y después
(ambos en caso de un update), solamente el después en el
caso de un insert, y sólo el antes en caso de un
delete.
Oracle 8i, 9i Desarrollador:
Oracle
Oracle 8i puede almacenar documentos XML de
tres maneras distintas: en el Internet File System (iFS), usando
el utilitario para Java XML SQL, y como un objeto binario que
puede ser buscado utilizando el Oracle Intermedia XML Search.
Oracle 8i también incluye
un número de otras herramientas relacionadas con XML, la
más interesante de las cuales es el XML Class Generator,
quien puede generar clases Java desde un
DTD.
Con iFS, una o más definición de tipos de documentos
definen como se van a mapear un documento XML como un árbol
de objetos de datos específicos. iFS usa ese mapeo de
documentos tanto para construir tablas en cuales el documento XML
puede ser almacenado, y para transferir datos entre documentos
XML y la Base de Datos. Oracle Intermedia XML Search es un
utilitario que puede automáticamente indexar y buscar
documentos XML y fragmentos de estos, de cualquier tamaño
hasta 4 Gigabytes.
Oracle 9i incluye Base de Datos con soporte nativo de XML, e
introduce un nuevo tipo de objeto de datos
(XMLType).
4.3.3. Bases de
Datos de XML Nativo
Dentro de las Bases de Datos de XML Nativo
encontramos dos tipos de
categorías:
- Almacenamiento basado en texto
Guarda el documento entero en forma de texto. Una estrategia simple es guardar
documento como un BLOB (Binary Large Object) en una Base de
Datos relacional o como un documento en un File system que
brinde búsquedas sobre
documentos.
- Almacenamiento basado en el Modelo
Grabar un modelo binario del documento en un repositorio de
datos existente. Por ejemplo, estos deben mapear el DOM a
tablas relacionales como los elementos, atributos o
entidades.
Las Bases de Datos de XML Nativo difieren de
las Base de Datos XML-Enabled en tres formas
principales:
- Las Bases de Datos de XML Nativo pueden
preservar la estructura física, como también los
comentarios, DTDs, etc. Mientras que las Bases de Datos
XML-Enabled pueden hacer esto en teoría, pero es no es
realidad en la practica.
- Las Base de Datos de XML Nativo pueden
almacenar documentos XML sin conocer su esquema
(DTD).
- La única conexión con los datos
de una Base de Datos de XML Nativo es XML y las
tecnologías relacionadas como XPath, DOM u otras API. En
el otro sentido, las Base de Datos XML-enabled, ofrecen acceso
directo a los datos como por ejemplo por
ODBC.
Dentro de esta categoría podemos
encontrar los siguientes productos:
Producto | Desarrollador |
4Suite – 4Suite Server® | FourThought® |
Birdstep DataBase Engine® | Birdstep® |
DbXML® | The dbXML Group® |
EXcelon® | eXcelon Corp.® |
Lore® | Stanford University® |
Virtuoso® | OpenLink Software® |
Los Servidores XML son plataformas para
recibir y enviar datos entre aplicaciones distribuidas, como
e-commerce y
business-to-business. En la gran mayoría de los casos los
datos son transferidos en formato de documentos XML del tipo
"basados en datos". Los servidores XML generalmente contienen
ambientes de desarrollo de aplicaciones y proveen acceso a los
datos de distintos tipos.
La línea divisoria entre los Servidores
XML, las Bases de Datos XML-Enabled y las Bases de Datos de XML
nativo es confusa. Los sistemas que se encuentran en la
categoría de Servidores XML son los que se muestran como
plataformas para construir aplicaciones de e-commerce y otras aplicaciones
distribuidas, en lugar de estrictamente ser una Base de Datos,
que obviamente pueden ser usados para desarrollar estas
aplicaciones. Dentro de esta categoría podemos encontrar los
siguientes productos:
Producto | Desarrollador |
Castor® | Exolab.org® |
MatriXML® | MojoTechnology® |
Rhythmyx Integrator® | Percussion Software® |
Total-e-Business® | HP/Bluestone® |
Versant enJin® | Versant Corp® |
XA-BizDoc Server® | XAware Inc® |
XML Portal Server (XPS)® | Sequoia Software Corp.® |
4.3.5.
Servidores de Aplicaciones
XML
Los Servidores de Aplicaciones XML son
servidores de aplicaciones Web que son capaces de dar servicio a
cualquier tipo de documento XML. Estos utiliza sentencias SQL
embebidas en un lenguaje de scripts para obtener datos y generar
dinámicamente documentos
XML.
La división entre Servidores XML
y Servidores de Aplicaciones XML está poco definida; los
sistemas que se pueden catalogar como Servidores de Aplicaciones
XML tienden a ser dirigidos por lenguajes de scripting o
lenguajes de marcas personalizados. Sin embargo, muchos Sistemas
de Administración de Contenidos pueden también publicar
documentos XML al Web, estos son fundamentalmente diferentes en
que son diseñados para administrar documentos "basados en
documentos", mientras que los Servidores de Aplicaciones XML
sirven tanto para documentos "basados en datos" (páginas
dinámicas) como "basados en documentos" (páginas
estáticas). Dentro de esta categoría podemos encontrar
los siguientes productos:
Producto | Desarrollador |
AxKit® | AxKit.com Ltd.® |
Cache® | InterSystems Corp® |
Cocoon® | Apache.org® |
ColdFusion® | Allaire® |
Lasso® | Blue World Communications® |
Noetix Web Query® | Aris Software Inc.® |
Zope® | Digital Creations® |
4.3.6.
Sistemas de Administración de
Contenidos
Los Sistemas de Administración de
Contenidos sirven para almacenar, recuperar e integrar documentos
XML. Estos incluyen características como editores,
controladores de versiones y control de accesos a usuarios
concurrentes. Estas ofrecen funcionalidades en el manejo de
documentos, como por ejemplo controlador de versiones. La
mayoría de los Sistemas de Administración de Contenidos
pueden publicar XML en el Web, pero son primariamente
diseñados para administrar documentos "basados en
documentos".
Producto | Desarrollador |
Astoria® | Chrystal Software® |
BladeRunner® | Interleaf® |
Documentum® | Documentum® |
Dynabase® | eBusiness Technologies® |
Epic® | Arbortext® |
Frontier® | UserLand Software® |
GEM Content Management System® | X.Systems® |
GroveMinder® | TechnoTeacher® |
Hynet Directive® | Hynet Technologies® |
Information Manager® | Interleaf® |
POET Content Management Suite® | Sorman® |
Prowler® | Infozone® |
Target 2000® | Progressive Information |
4.3.7.
Motores de Consulta de
XML
Motores de consulta XML son programas
que puede realizar consultas sobre un Documento XML. Actualmente,
existen una gran variedad de lenguajes: XQL, XPath, XML-QL,
Quilt, XQuery, etc. Se espera que en el futuro el W3C logre
estandarizar estos lenguajes en: XPath y
XQuery.
Por más información
consultar
http://www.w3.org/XML/Query.
Referencias
[Bourret R.,XML] Disponible en
Internet en
http://www.rpbourret.com/xmldbms/index.htm
[Santamaria F. XML] Disponible en
Internet en http://www.florida-uni.es/fesabid98/Comunicaciones/f_santamaria/f_santamaria.htm
Es importante resaltar y dejar claro
distintos aspectos de lenguaje
XML:
- La existencia de XML no implica que
desaparecerá el HTML. Dado que la mayor parte de las
páginas Web son documentos
de texto con algunas imágenes, HTML seguirá siendo el
medio más eficaz para crearlas y
publicarlas. - XML puede convivir con los
restantes lenguajes, tales como HTML, JAVA, JavaScript, VBScript, Visual Basic, etc. En muchos de
estos casos, XML hará las veces de "base de datos", los
scripts servirán para realizar búsquedas selectivas y
el HTML permitirá que se muestre la información
resultante en la pantalla. - Hasta que no se publiquen todas las
recomendaciones oficiales de los estándares que
complementan a la de XML, no "explotará" la
publicación de páginas XML en Internet, ya que
todavía se modificarán algunas cuestiones
importantes. - XML es utilizado principalmente por
los profesionales, debido a la complejidad de las
especificaciones, pero según vayan saliendo al mercado
nuevos editores que permitan manipular documentos XML, se
podrán utilizar por cualquier persona, de forma similar a
como se trabaja con los editores de textos
actuales. - Para evitar que no existan
innumerables formas de describir documentos de un determinado
sector, ya se está trabajando en la definición de
DTDs sectoriales de carácter público que
estén respaldados por el máximo de empresas y
organismos posibles. Según se vayan publicando, se
crearán nuevas herramientas para su
tratamiento.
XML en su calidad de estándar del
sector para expresar datos estructurados, 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úsquedas avanzadas 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.
Dado que la mayoría de las
aplicaciones empresariales implican la manipulación o la
transferencia de datos y registros en las Bases de Datos, como
pedidos de compra, facturas, información del cliente, citas,
etc., XML va a revolucionar las posibilidades de los usuarios
finales en Internet, permitiendo la implementación de un
amplio abanico de aplicaciones
empresariales.
Tras el análisis realizado de las
principales características de XML, podemos afirmar que
entraremos en una segunda fase de la World Wide Web y, por lo
tanto, habrá un desarrollo de aplicaciones más
inteligentes alrededor de este lenguaje. Habrá que salvar
algunos obstáculos, como que las grandes compañías
deberán acogerse con los estándares aprobados por el
W3C, para que XML se convierta en algo más que el sucesor de
HTML. También XML se implementará en aplicaciones fuera
del mundo Internet/Intranet, haciendo mucho más sencillo y
cómodo el intercambio de datos entre aplicaciones. Hoy en
día se puede afirmar que XML no es más una promesa,
sino que es una realidad.
Bourret R., XML Database
Products. Citado el 1 de mayo del 2001. California.
Disponible en Internet en
http://www.rpbourret.com/xmldbms/index.htm
Goldfarb C., Precod P. ;1999.
Manual de XML. Madrid. Prentice
Hall
Gómez O., Tutorial sobre
XML. Citado el 1 de mayo del 2001. Málaga. Disponible en
Internet en
http://face.el.uma.es/imasd/xml/xml.html
LaVariable; Manual de XML DOM.
Citado el 12 de abril del 2001. S.L. Disponible en Internet en
http://www.lavariable.com/art/xml/axml003/axml003.asp#Intro
Marketing y Comercio Electrónico;
XML, comienza una nueva era en Internet. Citado el 12 de
abril del 2001. S.L. Disponible en Internet en
http://www.marketingycomercio.com/numero5/5xml.htm
MSDN Latinoamérica,
Intercambio de Información a través de Internet
utilizando XML. Citado el 1 de mayo del 2001. S.L. Disponible
en Internet en
http://www.asia.microsoft.com/latam/msdn/articulos/2000/04/art02/#top
MSDN en línea;
Introducción al XML. Citado el 12 de abril del 2001.
S.L. Disponible en Internet en
http://www.microsoft.com/Latam/msdn/articulos/1999/11/art02/19991102.doc
MSDN en línea; Por qué
utilizar XML. Citado el 12 de abril del 2001. S.L. Disponible
en Internet en
http://www.microsoft.com/latam/msdn/articulos/2000/03/art03/#top
Montero R.; XML, el lenguaje
universal. Citado el 12 de abril del 2001. Madrid. Disponible
en Internet en
http://www.ramon.org/xml/articulos/intro_xml-html.htm
Santamaria F.; XML: Nuevo
estándar para la descripción de documentos. Citado
el 18 de abril de 2001. Florida. Disponible en Internet en
http://www.florida-uni.es/fesabid98/Comunicaciones/f_santamaria/f_santamaria.htm
Pitts N.; 1999. XML. Madrid. Anaya
Multimedia
Young M.; 2000. XML Step by Step.
Washington. Microsoft Press
API
Application Program Interface –
Interfaz para programas de aplicación. Conjunto de
convenciones de programación que definen como se invoca un
servicio desde un programa.
ASCII
American Standard Code for Information
Interchange – Estándar Americano de Codificación para
el Intercambio de Información. Conjunto de normas de
codificación de caracteres mediante caracteres
numéricos, de amplia utilización en informática y telecomunicaciones.
B2B
Business to business – Empresa a
Empresa. Modalidad de comercio electrónico en el que las
operaciones comerciales se
realizan entre empresas.
E-commerce
Electronic Commerce – Comercio
Electrónico. Intercambio de bienes y servicios realizado a
través de tecnologías de la información y las
comunicaciones.
HTML
HyperText Markup Language – Lenguaje
de Marcado de Hipertexto. Lenguaje en el que se escriben las
páginas que son accedidas a través de navegadores
Web.
HTTP
Hypertext Transfer Protocol- Protocolo de Transferencia de
Hipertexto. Es un protocolo que permite recuperar en forma
rápida y efectiva documentos hipertexto de la
WWW.
JAVA
Lenguaje de programación
desarrollado por la empresa Sun® para la
elaboración de aplicaciones exportables, capaces de operar
sobre cualquier plataforma.
JavaScript
Lenguaje de programación para WWW
desarrollado por Netscape®. Pertenece a la familia Java y se caracteriza por
tener el código fuente de los programas incorporados en el
documento HTML.
JDBC
Java Database Connectivity –
Conectividad Java de Bases de Datos. Es un API que brinda un
conjunto de objetos y funciones para que los programadores puedan
integrar servicios de bases de datos
dentro de sus aplicaciones creadas en
Java.
Navegador
Programa que permite al usuario
navegar por la Red. Los navegadores pueden estar basados en texto
o en gráficos. Algunos
ejemplos de navegadores son Microsoft Internet Explorer® o
Netscape Navigator®.
ODBC
Open Data Base Conectivity –
Conectividad Abierta de Bases de Datos. Brinda un conjunto de
objetos y funciones para que los programadores puedan integrar
servicios de bases de datos dentro de las
aplicaciones.
Unix
Sistema operativo creado en 1969.
Reescrito a mitad de la década de los '70 por ATT
alcanzó enorme popularidad en los ambientes académicos
y más tarde en los empresariales. Es un sistema abierto,
robusto, flexible y portable, muy utilizado en los entornos de
Internet.
VBScript
Lenguaje de programación para WWW
desarrollado por Microsoft ®. Pertenece a la familia Visual Basic y se
caracteriza por tener el código fuente de los programas
incorporados en el documento
HTML.
Visual
Basic
Lenguaje de programación
desarrollado por Microsoft®.
Web
Se utiliza para definir el universo WWW en su
conjunto.
WWW
Word Wide Web. Sistema de información
distribuido, basado en hipertexto, creado a principios de los años 90.
La información puede ser de cualquier formato (texto,
gráfico, audio, imagen) y es fácilmente
accesible a los usuarios mediante
navegadores.
Windows
NT
Sistema operativo desarrollado por la
empresa Microsoft®
Trabajo enviado
por:
Marcelo
Amaya
amaya[arroba]isoft.com.uy