Está en la página 1de 6

Productos XML

Se puede establecer que siete categoras 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 fciles 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 Administracin 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.
Middleware es el software utilizado por aplicaciones centradas en datos para transferir
datos entre documentos XML y bases de datos. Por lo general, de peso ligero, se ejecuta
en el mismo espacio de proceso como la aplicacin. La mayora de middleware de acceso
a los datos en bases de datos relacionales mediante ODBC, JDBC, o OLE DB, aunque
algunos productos existen para otros tipos de bases de datos, como de varios valores,
jerrquica, o bases de datos orientadas a objetos.
Se pueden clasificar los diferentes middleware en funcin de su escalabilidad y su
tolerancia a fallos:
Remote Procedure Call (RPCs): El cliente realiza una llamada a procedimientos que
estn corriendo en mquinas remotas. Pueden ser sncronos o asncronos.
Publish/subscribe: Este tipo de monitores middleware activan y entregan informacin
relevante para los subscriptores.
Message Oriented Middleware (MOM): Los mensajes enviados al cliente se recogen y se
almacenan hasta que son solicitados, mientras el cliente contina con otros procesos.
Object Request Broker (ORB): Este tipo de middleware permite que los clientes enven
objetos y soliciten servicios en un sistema orientado a objetos.
SQL-oriented Data Access: middleware entre las aplicaciones y los servidores de base
de datos.
Algunos productos son:
ADO puede persistir un objeto Recordset como un documento XML. Tambin puede
abrir un documento XML como un objeto Recordset. Esto proporciona una forma de
transferir datos entre XML y una base de datos, con registros como objetos
intermedios.
Allora es un middleware que llamamos aplicaciones para transferir datos entre un
documento XML y una base de datos relacional.
Altova MapForce permite a los usuarios transferir datos entre documentos XML, bases
de datos relacionales, ficheros planos, EDI (UN / EDIFACT, ANSI X12) documentos.
Un objeto COM para transferir datos entre un documento XML y una fuente ODBC u OLE
DB de datos.

Bases de datos.
BASES DE DATOS XML-ENABLED
Este tipo de Bases de Datos son (usualmente relacionales) las que brindan la posibilidad
de transferir datos entre documentos XML y ellas mismas. Estas Bases de Datos son
generalmente diseadas 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 diseadas 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
lnea que separa entre las Bases de Datos XML-Enabled y los Servidores de XML es
confusa, pero cabe destacar que estos ltimos estn diseados primariamente para
construir aplicaciones basadas en el Web. Con ms 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:
DB2 XML Extender and DB2 Text Extender IBM
Informix Informix
Microsoft SQL Server 2000 Microsoft
Oracle 8i 9i Oracle
DB2 XML Extender y DB2 Text Extender. Desarrollador: IBM

BASES DE DATOS DE XML NATIVO
Dentro de las Bases de Datos de XML Nativo encontramos dos tipos de categoras:
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 bsquedas
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 fsica, como tambin los
comentarios, DTDs, etc. Mientras que las Bases de Datos XML-Enabled pueden hacer esto
en teora, 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 conexin con los datos de una Base de Datos de XML Nativo es XML y las
tecnologas 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 categora podemos encontrar los siguientes productos:
4Suite 4Suite Server FourThought
Birdstep DataBase Engine Birdstep
DbXML The dbXML Group
EXcelon eXcelon Corp.
Lore Stanford University
Virtuoso OpenLink Software

Sistemas de administracin de contenidos.
Sirven para almacenar, recuperar e integrar documentos XML. Incluyen caractersticas
como editores, controladores de versiones y control de accesos a usuarios
concurrentes.
Ofrecen funcionalidades en el manejo de documentos, como por ejemplo controlador
de versiones.
La mayora de ellos pueden publicar XML en el Web, pero son primariamente diseados
para administrar documentos basados en documentos.
Motores de consulta.
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.
Xpath
Es un lenguaje que permite recuperar informacin de un documento XML. Para ello
define una sintaxis para establecer partes en un documento XML, permitiendo navegar a
travs de sus elementos y atributos, adems permite manipular de forma bsica
booleanos, nmeros y cadenas.
En lneas generales se podra decir que se basa en relaciones de parentesco entre esos
elementos. Utiliza un tipo de notacin similar a las rutas de los ficheros, pero haciendo
referencia a los nodos de un XML.
Con XPath, todos los elementos del documento XML ( etiquetas, atributos, texto,
comentarios ) son tratados cmo nodos de un rbol en el que se establecen relaciones
padre-hijo ( por ejemplo, el nodo que representa la etiqueta phone tiene un nodo hijo
que representa al atributo pais ).
A partir de este rbol, podemos crear rutas referirnos a un nodo o conjunto de nodos
utilizando las siguientes expresiones:

nombreNodo Selecciona todos los nodos de nombre nombreNodo.
/ Selecciona el nodo raz o nodos hijo del nodo actual. Si la ruta empieza por / significa
que se evala sobre el nodo raz, si no se evala sobre el nodo actual o contexto.
// Selecciona todos nodos hijo, nieto del nodo actual.
. Selecciona el nodo actual.
.. Selecciona el nodo padre del nodo actual.
@ Selecciona atributos del nodo actual
[ ] Selecciona nodos que cumplen una propiedad. Las expresiones entre [ y ] se suelen
llamarpredicados.
* Selecciona cualquier nodo o atributo
| Selecciona mltiples expresiones de forma simultnea
XQuery
Lenguaje que permite definir de forma rpida y compacta, consultas o recorridos
complejos sobre colecciones de datos XML los cuales devuelven todos los nodos que
cumplan ciertas condiciones. Este es un lenguaje declarativo, es decir, independiente e
la forma en que de se realice el recorrido o de donde se encuentren los datos.
Es independiente de la fuente de datos: esta fuente de datos puede ser archivos XML
hasta base de datos relacionales con funciones de conversin de registros a XML.
XQuery ha sido construido sobre la base de Xpath, ya que Xpath es un lenguaje declrativo
para la localizacin de nodos y fragmentos de informacin en rboles XML. XQuery se
basa en este lenguaje para realizar la seleccin de informacin a travs del conjunto de
datos.
Una consulta en XQuery es una expresin que lee una secuencia de datos en XML y
devuelve como resultado otra secuencia de datos en XML. En XQuery las expresiones y los
valores que devuelven son dependientes del contexto. Por ejemplo, los nodos del
resultado dependen de los namespaces, de la posicin donde aparezca la etiqueta raz
del nodo (dentro de otra, por ejemplo), etc.
Las clausulas ms identificables son 5:
For: vincula una o mas variables a expresiones escritas en Xpath, creando un flujo de
tuplas en el que cada tupla esta vinculada a una de las variables.
Let: vincula una variable al resultado completo de una expresin aadiendo esos
vnculos a las tuplas generadas por una clausula For o si no existe ninguna clausula For,
creando una nica tupla que contenga esos vnculos.
Where: filtra las tuplas eliminando todos los valores que no cumplan las condiciones
dadas.
Order by: ordena las tuplas segn el criterio dado.
Return: construye el rbol XML resultado de la consulta para una tupla dada, despus
de haber sido filtrada por la clausula where ordenada por la clausula order by.
La siguiente consulta devuelve los ttulos de los libros del ao 2000:
For $b in doc(libros.xml)
Where $b/@ao=2000
Order by $b/titulo
Return $b/titulo

El resultado es el siguiente:
<titulo>Data on the web</titulo>
<titulo>Millenium</titulo>

También podría gustarte