Realización de consultas e informes de fuentes de datos XML en IBM Cognos 8 por medio de IBM Cognos Virtual View Manager

El uso de XML como medio de intercambio de información es cada vez mayor. Una aplicación de servicio web es un ejemplo del tipo de aplicación que utiliza XML para intercambiar información. Cualquier producto o solución de inteligencia empresarial debe tener la suficiente capacidad para consultar información que podría tener formato XML. Aprenda cómo IBM Cognos® 8 suministra una amplia solución flexible, segura y escalable para realizar consultas e informes sobre las fuentes de datos XML, incluyendo servicios web, apalancando el IBM Cognos Virtual View Manager.

Abhay Sadadekar, Senior Staff Software Engineer, IBM

Photo of Abhay SadadekarAbhay Sadadekar trabaja como ingeniero de software de personal en IBM India Software Labs. Ha sido miembro del IBM Cognos Virtual View Manager development team desde 2008. Ha estado involucrado con el desarrollo de varias aplicaciones empresariales de nivel, principalmente en el área de Business Intelligence y Corporate Performance Management.



21-01-2011

Introducción

IBM Cognos 8 proporciona soporte básico para XML como fuentes de datos. Este soporte se complementa con IBM Cognos Virtual View Manager: una solución segura, escalable y segura para la consulta XML como fuente de datos.

Acrónimos utilizados frecuentemente

  • VVM - IBM Cognos Virtual View Manager
  • ODBC - Open Database Connectivity
  • GUI - Graphical User Interface
  • HTTP - Hypertext Transfer Protocol
  • WSDL - Web Services Description Language
  • SOAP - Simple Object Access Protocol
  • URL - Universal Resource Locator

IBM Cognos Virtual View Manager es un motor de federación que suministra acceso ODBC unificado para fuentes de datos múltiples y dispares, incluyendo fuentes de datos XML en varios formatos. IBM Cognos Virtual View Manager expone estas fuentes de datos como estructuras en tabulares (en forma de tabla) que puede consultar Cognos 8.

IBM Cognos Virtual View Manager está disponible, sin costo adicional, a partir del IBM Cognos 8.4 software. Antes de IBM Cognos 8.4, IBM Cognos Virtual View Manager se conocía como Composite Information Server.

IBM Cognos Virtual View Manager

Esta sección le ofrece una breve visión general del IBM Cognos Virtual View Manager (VVM). VVM federa datos desde múltiples fuentes de datos dispares y proporciona una interfaz ODBC unificada a sus clientes. VVM consiste de un servidor central basado en Java, de cadena múltiple que realiza la federación. Tenga en cuenta que VVM es un proceso Java autosostenible, y no se ejecuta en un servidor J2EE como IBM WebSphere® Application Server. VVM tiene además una GUI basada en la web para realizar ciertas tareas relacionadas con la administración, el monitoreo y la seguridad del servidor de VVM. La Figura 1 muestra este diagrama arquitectónico de la VVM de alto nivel.

Figura 1. Visión arquitectónica de Cognos Virtual View Manager
Visión arquitectónica de Cognos Virtual View Manager

VVM Studio, un cliente GUI consistente, permite el modelado de fuentes de datos externas como estructuras relacionales. VVM Studio crea, y además publica, vistas heterogéneas para clientes ODBC. IBM Cognos 8 utiliza la interfaz ODBC para comunicarse con VVM. Según IBM Cognos 8, VVM es como cualquier otro sistema de administración de base de datos relacional con lo cual puede comunicarse usando el protocolo ODBC.

Este artículo se centra en las fuentes de datos XML solamente.

Comprendiendo los distintos tipos de fuentes de datos XML soportadas

VVM soporta la siguiente amplia lista de fuentes de datos XML:

File-XML
La fuente XML puede ser un archivo al que se puede accedar desde el sistema de archivos local o a través de una red usando una URL. Si la computadora remota que hospeda el documento XML no tiene un servidor Web, el documento XML debe correlacionarse con la computadora donde se ejecuta el servidor VVM.
XML-HTTP
La fuente XML puede ser un documento XML proveniente de HTTP. Es decir que el XML puede ser el cuerpo del mensaje de una respuesta HTTP desde un servidor HTTP. VVM soporta solicitudes HTTP GET y HTTP POST para acceder a documentos XML.
WSDL
El XML puede ser una respuesta desde una operación de servicio Web. Cuando se cuenta con la ubicación de un documento WSDL, VVM es capaz de acceder a cualquier operación que defina WSDL como posible fuente de XML. Mientras que un WSDL puede enlazar servicios web a cualquier protocolo de mensajería como SOAP, HTTP, o MIME, VVM soporta sólo enlaces SOAP. Los enlaces SOAP determinan el protocolo de transporte subyacente, el esquema de codificación, y el estilo del mensaje. En cuando a VVM, el protocolo de transporte soportado es HTTP, de modo que los sobres SOAP deben intercambiarse en una conexión HTTP. El esquema de codificación que determina como se codifican los mensajes para el transporte debería ser literal. Los mensajes SOAP serán transmitidos como XML sencillo capaz de ser validado contra su propio esquema. Sin embargo, VVM posee soporte limitado para el esquema de codificación de mensajes SOAP, tal como la especificación SOAP lo define. VVM soporta tanto estilos de mensajes rpc como document.

Realizando consultas a fuentes de datos XML utilizando VVM

Esta sección describe cómo usted puede consultar fuentes de datos XML en IBM Cognos 8 utilizando VVM. El proceso sigue los siguientes pasos:

  1. Paso 1. Creación de una fuente de datos XML en VVM
  2. Paso 2. Transformación del XML
  3. Paso 3. Publicación de la transformación
  4. Paso 4. Consulta a la base de datos desde IBM Cognos 8

Paso 1. Creación de una fuente de datos XML en VVM

En esta página usted coloca la fuente de datos XML (File-XML, XML-HTTP, o WSDL) en VVM suministrando la información necesaria sobre la fuente de datos.

  • Para una fuente de datos File-XML, usted debe suministrar la ubicación del directorio en el sistema de archivos local, o debe proporcionar una URL a un archivo hospedado por sustema remoto. Si los archivos se encuentran en el sistema local de archivos, más de un archivo puede formar parte de la fuente de datos File-XML. En el caso de un archivo remoto, la fuente de datos puede contener sólo un archivo. Usted puede además especificar la codificación de caracteres y la ubicación del esquema del documento XML, o puede dejar que VVM detecte ambos automáticamente. Los parámetros de conexión que se necesitan para suministrar una fuente de datos File-XML incluyen nombre de archivo, ruta, conjunto de caracteres, ubicación del esquema, y filtro de nombre de archivo, como puede observarse en la Figura 2.
Figura 2. Observación de una fuente de datos File-XML
Observación de una fuente de datos File-XML
  • Para una fuente de datos XML-HTTP, se debe suministrar la URL de solicitud HTTP para obtener la respuesta HTTP deseada, con XML en el cuerpo de mensaje. Usted debe especificar el tipo de solicitud HTTP como GET o POST. Una solicitud HTTP GET no se supone que tenga cuerpo de mensaje. Por lo tanto, cualquier parámetro de solicitud al servidor HTTP debe enviarse sólo por medio de cadenas de consultas de datos de entrada, el cual parte de la URL que viene detrás de ? (signo de pregunta). A la inversa, una solicitud HTTP POST puede tener un cuerpo de mensaje y ser apalancado para enviar los parámetros de entrada al servidor HTTP en la forma de XML.

    Si necesita proporcionar parámetros de entrada complejos al servidor HTTP, utilice el tipo de solicitud HTTP POST.

    Tenga en cuenta que la entrada al servidor HTTP y la respuesta desde el servidor HTTP será XML y será transportada como solicitud HTTP o cuerpo del mensaje de respuesta. Por lo tanto, debe suministrar la gramática del XML de entrada y salida a VVM en la forma de un conjunto de definiciones de tipo XML que en principio representa una estructura XML válida. Esto permite a VVM construir y deconstruir la solicitud HTTP y los cuerpos de mensaje de respuesta, respectivamente. Consulte laIBM Cognos Virtual View Manager Installation and Configuration Guide (vea Resources) si desea más información sobre como crear conjuntos de definiciones de tipo XML.

    Los parámetros de conexión para observar una fuente de datos XML-HTTP incluyen nombre de la fuente de datos, URL, método, ID de acceso, contraseña, y información de acceso a conexión, como se observa en la Figura 3.

    Figura 3. Observación de fuente de datos XML-HTTP
    Observación de fuente de datos XML-HTTP
  • Para una fuente de datos WSDL, simplemente especifique la ubicación WSDL. Los parámetros de conexión deben configurarse, la fuente de datos WSDL incluye nombre, URL, ID de acceso, contraseña, e información de acceso a conexión.
    Figura 4. Observación de una fuente de datos WSDL
    Observación de una fuente de datos WSDL

Al usar información observada, VVM obtiene los metadatos relacionados a una fuente de datos XML particular. Estos metadatos incluyen la estructura del documento XML. La estructura es utilizada para transformar el XML, como se observa en el Listado 1.

Listado 1. Un documento XML de muestra
 <Contacts> <person> <name>Rob</name>
                <age>24</age> <Country>USA</Country> </person>
                <name>John</name> <age>34</age>
                <Country>Canada</Country> </person> </Contacts>

La Figura 5 muestra extractos de la estructura de VVM como resultado del proceso de observación.

Figura 5. Estructura del documento XML observado por VVM
Estructura del documento XML observado por VVM

Para las fuentes de datos XML-HTTP o WSDL, usted puede suministrar un nombre de usuario y contraseña si el servidor HTTP que procesa las solicitudes los espera. Para la fuente de datos XML-HTTP y WSDL, VVM puede además asegurar las fuentes de datos XML por medio de certificados digitales. VVM logra esto proporcionando la capacidad de asociar los depósitos de claves de certificado a una fuente de datos XML. VVM brinda soporte a dos tipos de depósitos de claves de certificado: Java Key Store y PKCS12. Cuando VVM trata de conectarse a la fuente de datos XML, esta utiliza los certificados en los depósitos de claves de certificados relacionados para establecer sus credenciales con el servidor que hospeda los datos XML. Estas dos características aseguran que la seguridad de los datos no se vea comprometida mientras se accede a las fuentes de datos basadas en XML.

Paso 2. Transformación del XML

En este paso, usted crea una transformación VVM para convertir la estructura jerárquica del documento XML en una estructura relacional basada en filas. VVM Studio suministra una GUI de uso sencillo para crear una correlación entre los nodos XML de entrada y las columnas relacionales de salida, como se observa en la Figura 6.

Figura 6. Correlación de elementos XML con columnas relacionales en VVM Studio
Correlación de elementos XML con columnas relacionales en VVM Studio

Para la creación de las transformaciones, VVM suministra las siguientes opciones:

XML básico a correlación tabular
Esta correlación nivela los documentos XML como una colección de filas, donde cada fila representa un nodo en el documento XML. Este tipo de transformación se utilizaría raramente para entornos de producción.
Transformaciones de XSLT
Esta correlación transforma los datos XML en tabulares basada en una transformación XSLT subyacente.
Transformación de flujo continuo
Esta correlación transforma los datos XML de flujo continuo en tabulares. Esta transformación no requiere que todo el documento XML sea tenido en cuenta en la memoria. Esto es adecuado en situaciones en las cuales el archivo XML es demasiado largo.
Transformaciones de XQuery
Esta correlación transforma los datos tabulares en XML. Este tipo de transformación no es apropiada para la consulta de fuentes de datos XML.

La transformación de XSLT y la tranformación de flujo continuo son las que se utilizan con mayor frecuencia. La transformación de XSLT permite transformaciones complejas para editar directamente el XSLT subyacente. Los datos de salida del XSLT, sin embargo, debe seguir la estructura presentada en el Listado 2.

Listado 2. Formato de salida válido de la transformación de XSLT
 <results> <result> <column_one>AAA</column_one>
                <column_two>BBB</column_two> <column_three>CCC</column_three>
                </result> <result> <column_one>DDD</column_one>
                <column_two>EEE</column_two> <column_three>FFF</column_three>
                </result> </results>

Las transformaciones de flujo continuo funcionan bien en las situaciones en las cuales los documentos XML son extremadamente extensos. Sin embargo, la creación de una transformación personalizada no es soportada por las transformaciones de flujo continuo.

Las opciones de correlación y transformación descriptas en esta sección muestran la flexibilidad y la escalabilidad en las consultas a las fuentes de datos XML.

Paso 3. Publicación de la transformación

La publicación es un proceso en el cual VVM hace que un recurso particular esté disponible para sus clientes para la realización de consultas, como por ejemplo IBM Cognos 8. Para los clientes ODBC, los recursos son publicados como estructuras relacionales, como tablas y procedimientos almacenados.

En este paso, usted publica la transformación que creó en el paso anterior. Puede publicar la transformación como un procedimiento almacenado o como una tabla. Para publicar la transformación como una tabla, usted debe primero incorporar la transformación a una vista SQL y luego publicar la vista como una tabla, como se observa en la Figura 7.

Figura 7. Publicación en VVM
Publicación en VVM

Se recomienda la exposición de la transformación como una tabla incorporándole una vista SQL.

Después de la publicación, el recurso está disponible como tabla o como procedimiento almacenado en una base de datos debajo del nodo de Virtual View Manager Data Services, como se observa en la Figura 7. El recurso está disponible para que el mundo exterior realice consultas utilizando SQL sobre ODBC.

Paso 4. Consulta a la fuente de datos desde IBM Cognos 8

Después de la observación, la transformación y la publicación de la fuente de datos XML, esta está lista para que IBM Cognos 8 la consulte. IBM Cognos 8 utiliza una fuente de datos tipo IBM Cognos Virtual View Manager, la cual se basa en un ODBC driver que suministra VVM, como se observa en la Figura 8.

Figura 8. Asistente de fuente de datos de IBM Cognos 8
Asistente de fuente de datos de IBM Cognos 8

Usted puede encontrar los detalles relacionados con la forma en la cual IBM Cognos 8 administra la conectividad de ODBC en lo que respecta a VVM en la IBM Cognos 8 Administration and Security Guide (vea Resources).

Después de crear una fuente de datos para VVM en IBM Cognos 8, la fuente de datos puede utilizarse en el IBM Cognos Framework Manager para importar objetos desde VVM, como por ejemplo tablas y procedimientos almacenados, y para modelar temas de consulta sobre aquellos objetos. Usted puede entonces publicar estos temas de consulta como un paquete de Cognos 8 para que las diversas herramientas que realizan informes, como IBM Cognos Report Studio, las utilicen.


Uso de dispositivo de cacheo de VVM

VVM permite el cacheo de recursos tabulares, como las vistas SQL, y de recursos de procedimiento, como las transformaciones. El cacheo almacena los resultados de estas vistas o procedimientos en un alamacenamiento intermedio que podría ser un archivo o una base de datos relacional.

Para una fuente de datos XML, cada vez que se necesitan datos del XML, VVM tiene que obtener el XML desde su fuente, lo carga en la memoria, lo analiza gramaticalmente y lo transforma luego en formato relacional. Esto puede llevar mucho tiempo si el archivo XML es extenso o si la fuente, como el servidor HTTP, el servidor Web, o el servidor SOAP, es lento debido al tiempo de respuesta o al tiempo de espera de la red. Estos factores pueden causar cuellos de botella de performance importantes al realizar consultas en las fuentes de datos XML sin el dispositivo de cacheo de VVM.

Cuando usted realiza el cacheo de la transformación del XML, usted almacena el resultado de la transformación en un archivo local o en alguna base de datos relacional de su elección. El XML se carga, se analiza gramaticalmente y se transforma sólo cuando la caché se carga o se actualiza. En todos los demás casos, los datos son obtenidos de la caché y del XML fuente.

VVM proporciona un mecanismo muy configurable para el cacheo, incluyendo las siguientes opciones:

  • Usted puede activar o desactivar la caché en cualquier momento.
  • El almacenamiento para la caché puede ser automático, el cual almacena los resultados en un archivo; o puede ser especificado por el usuario, caso en el cual el usuario final puede elegir una base de datos soportada para que almacene los resultados de la caché.
  • La caché pueden actualizarse manualmente o puede programarse su actualización automática con cualquier frecuencia que se desee. Por ejemplo, si usted sabe que su fuente XML se modifica cada 45 minutos, podría programar que la caché se actualice una vez por hora.
  • Usted puede establecer el marco de tiempo de expiración para la caché de modo que si se accede a la vista o al procedimiento que se almacena en la caché después de expirar misma, se inicie una actualización de la caché más allá de que se haya programado o no una actualización para ese momento.

La Figura 9 muestra las opciones de configuración de la caché.

Figura 9. Configuración de la caché en VVM
Configuración de la caché en VVM

Tenga en cuenta que si hay probabilidad de que los resultados de la caché sean sujetos a un filtrado u ordenamiento, debería seleccionar una base de datos especificada por el usuario como opción para el almacenamiento. La opción de almacenamiento automático cache-to-file puede provocar problemas de performance dado que no tiene soporte nativo para el filtrado o el ordenamiento.


Conclusión

IBM Cognos Virtual View Manager proporciona lo siguiente:

  • Un rango de opciones para conectar a las fuentes de datos XML.
  • La seguridad de los datos suministrando soporte para la autenticación del nombre de usuario y la contraseña, y para los certificados digitales.
  • La escalabilidad mediante el cacheo. El cacheo releva la carga a la fuente de datos destino y esta elimina los cuellos de botella de la performance que existirían si el XML se cargara, se analizara gramaticalmente y se transformara por cada acceso a los datos. La escalabilidad también es proporcionada junto con la capacidad de realizar las transformaciones de flujo continuo que pueden administrar grandes cantidades de documentos XML sin agotar la memoria.
  • La flexibilidad y la eficacia gracias al suministro de mecanismos sofisticados para la transformación de datos XML jerárquicos en formatos relacionales. No es necesario el código de plomería para la transformación.

En resumen, IBM Cognos 8 ofrece un mecanismo seguro, escalable, flexible y eficaz para realizar consultas e informes en fuentes de datos XML usando IBM Cognos Virtual View Manager.

Recursos

Aprender

Obtener los productos y tecnologías

  • Cree su próximo proyecto de desarrollo con el IBM trial software, que puede descargar directamente desde developerWorks.

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Information mgmt
ArticleID=619167
ArticleTitle=Realización de consultas e informes de fuentes de datos XML en IBM Cognos 8 por medio de IBM Cognos Virtual View Manager
publish-date=01212011