[../includes/lateral_esquerra.htm]

 

[../includes/banner_principal.htm]

[../includes/banner_petit.htm]

A FONDO

Los archivos XML (1/4)

Página anterior | Página siguiente >>>
  

 Conozca las diferencias que existen entre la tecnología XML que incluye SQL Server 2000 y la versión preliminar de la tecnología XML de Microsoft
  

(eXtensible Markup Language o Lenguaje de marcas extensible) se está convirtiendo a pasos agigantados en la lengua franca del mundo de las nuevas tecnologías, en un lenguaje de marcas universal mediante el que se puede representar cualquier otro lenguaje independientemente de cuál sea la plataforma en la que se ejecute. Si bien SQL Server 2000 es la primera versión de SQL Server compatible con XML, la versión preliminar de la tecnología XML que está desarrollando Microsoft y que se encuentra disponible en la sede web http://msdn.microsoft.com/downloads/betas/default.asp, puede utilizarse con cualquier versión de SQL Server. Esta versión preliminar, que es el resultado de 11 revisiones, es sólida y se utiliza ya en numerosas instalaciones de SQL Server en las que se integra XML. (El recuadro «Versión preliminar de la tecnología XML de Microsoft» ofrece una visión general de dicha tecnología.) Pero las prestaciones XML que ofrece dicha versión preliminar, difieren de las prestaciones XML que ofrece SQL Server 2000. No en vano incluye algunas funciones, como los grams de actualización o updategrams de XML y un modelo de objeto de automatización, de las que SQL Server 2000 carece. Del mismo modo, SQL Server 2000 incluye algunas funciones como, por ejemplo, las consultas XPath, que no se encuentran disponibles en la versión preliminar. Microsoft asegura tener la intención de fusionar la aplicación ISAPI (Internet Server API o API para servidores de Internet) que incluye la versión preliminar de XML con la aplicación ISAPI de SQL Server 2000 en una nueva versión web que aparecerá después de la salida al mercado SQL Server 2000. Con el fin de que no haya lugar a confusiones y de optimizar las prestaciones XML que ofrecen ambos productos, vamos a centrarnos en las diferencias existentes entre uno y otro.

VERSIÓN PRELIMINAR DE LA TECNOLOGÍA XML DE MICROSOFT

La funcionalidad de la versión preliminar de la tecnología XML de Microsoft se basa en una aplicación ISAPI (Internet Server API o API para servidores de Internet), sqlxml.dll, que acepta la entrada de datos de SQL Server en determinados formatos XML. Pero, ¿cómo funciona esta tecnología XML? En primer lugar, el programa de registro, que es un complemento de la consola MMC (Microsoft Management Console o Consola de administración de Microsoft), asocia la totalidad de un directorio virtual de Microsoft IIS a la aplicación ISAPI. A continuación, IIS envía las solicitudes de las páginas que se encuentran en dicho directorio virtual (incluso las típicas páginas HTML) a la aplicación ISAPI. Esta aplicación admite la introducción de datos XML en una serie de formatos compatibles y los transforma en sentencias de SQL que envía a SQL Server. La versión preliminar puede procesar consultas SQL y grams de actualización (sentencias de actualización, inserción y eliminación basadas en XML), así como procedimientos almacenados y consultas parametrizadas. Sea cual sea el caso, la aplicación ISAPI sólo envía sentencias SQL puras a SQL Server.

Como ni SQL Server 7.0 ni las versiones anteriores de este software reconocen la cláusula FOR XML de SQL Server 2000, la aplicación ISAPI se limita a guardar las palabras claves para utilizarlas durante el procesamiento de la respuesta que reciba de SQL Server. SQL Server le devuelve los resultados en forma de filas y columnas, resultados que la aplicación ISAPI transforma en datos XML de salida. Dependiendo del estilo de datos de salida que se haya especificado (FOR XML AUTO, FOR XML RAW o FOR XML EXPLICIT), sqlxml.dll generará un flujo XML u otro de las filas y columnas devueltas. También se puede solicitar a sqlxml.dll que aplique una hoja de estilo XSL (Extensible Style Language o Lenguaje de estilos extensible) al documento XML o que añada un esquema de formato DTD (Document Type Definition o Definición de tipo de documento) o XDR (XML Data Reduced o Versión reducida de XML Data) al principio del documento. Además, sqlxml.dll puede devolver una columna de datos del tipo IMAGE en forma de un solo flujo XML para su visualización directa en el navegador del cliente. Si se encontrara la aplicación con algún error, devolvería el código de error de ODBC correspondiente. En el caso de los grams de actualización, sqlxml.dll no devuelve, por lo general, un resultado del tipo «número de filas afectadas»; para que la aplicación ISAPI devuelva un mensaje distinto al de «200 OK» de HTTP, que contiene un documento en blanco, es preciso incluir, después de la consulta de actualización, una sentencia SELECT que consulte las filas que se acaban de insertar.

LISTADO A.
Carga de los resultados en un documento DOM

DOM
Dim oSQL
Dim oDOMDoc
Set oSQL = CreateObject(“Microsoft.SQLXMLRequest“)
oSQL.Connection = “driver=SQL Server;server=someserver;uid=pubsuser;password=pass“
oSQL.ExecuteQuery(“Select * from jobs for XML RAW“)
oDOMDoc.loadXML oSQL.Result

Como la versión preliminar envía sentencias SQL a la base de datos mediante ODBC, Microsoft tiene previsto mejorar dicha versión preliminar para que sea compatible con otras fuentes de datos ODBC además de la de SQL Server. La versión preliminar es un servicio web por naturaleza, ya que sus prestaciones XML sólo se encuentran disponibles a través de una aplicación ISAPI. Y, aparte de su capacidad para generar de forma directa datos de salida XML y HTML por medio de las hojas de estilo, la versión preliminar ofrece un modelo de objeto (osqlxml.dll) para el acceso directo a XML a través de programas como Excel, de Microsoft. A dicho modelo de objeto se puede acceder a través de un programa de Visual Basic (VB) y el resultado se puede cargar en un documento DOM (Document Object Model o Modelo de objeto documento) como el que muestra el Listado A. La aplicación ISAPI equivalente de SQL Server 2000 no incluye, en cambio, ningún modelo de objeto, pero sí lo incluirá la versión web que aparecerá después de que SQL Server 2000 salga al mercado, que también contendrá todas las funciones importantes de XML, tanto de la versión preliminar como de SQL Server 2000.

Composición y descomposición
Algunas de las prestaciones XML se consiguen a través de una nueva función de T-SQL, de la nueva cláusula FOR XML de la sentencia SELECT y de dos nuevos procedimientos almacenados de sistema, mientras que otras se obtienen a través de una API específica de acceso a datos o mediante la ejecución de una aplicación ISAPI en Microsoft Internet Information Server (IIS).

Página anterior | Página siguiente >>>
   

[../includes/banner_flyer.htm]

 
SQL Server Magazine, es un producto más de Windows 2000 Magazine.