En la etiqueta Introducción a servicios web usted aprendió qué son los servicios web y obtuvo una descripción de las tecnologías que componen los servicios web. En esa etiqueta, aprenderá cómo la Gestión de Informaciones se encuadra en el contexto general de los servicios web.

¿Qué son los servicios web de Gestión de Informaciones?

Los servicios web de Gestión de Información son servicios web prestados por la Gestión de Información. Esos servicios incluyen operaciones de SQL como inserciones, actualizaciones, eliminaciones y llamadas de procedimientos almacenados en una base de datos DB2® UDB. Por otro lado, la Gestión de Informaciones también puede comportarse como un consumidor de servicios web. Por ejemplo: echemos un vistazo a la Figura 1 a continuación.

Figura 1. Gestión de Información y el entorno de servicios web
Figure 1. Information Management and the web services environment

Vamos a suponer que su compañía canadiense fabrica autos. Para ser competitivo, usted desarrolla una aplicación que sondea varios proveedores en Norteamérica para ver el precio de varias partes y elige los que venden las partes al precio más bajo en un determinado momento. ¿Cómo su aplicación sondea los varios proveedores? ¿Cómo los proveedores divulgan la lista de partes ofrecidas y los precios?

En el ejemplo, los proveedores se comportan como prestadores de servicios web. Presuponiendo que almacenan la lista de partes y precios (moneda local) en una base de datos DB2 UDB y la pone a disposición a través de DB2, están comportándose como prestadores de servicios web de Gestión de Informaciones. El lado izquierdo de la Figura 1 muestra eso.

El lado derecho de la figura representa su aplicación, que primero convierte el precio en moneda local a dólares canadienses a través de la función getRate (proporcionada por otro prestador de servicios web) dentro de una sentencia SQL. Por tanto, su aplicación se comporta como un consumidor de servicios web de Gestión de Informaciones.

Otra tecnología de consumidor que viene con WebSphere Information Integrator es el derivador de servicios web. Mientras que los UDFs modelan el acceso al servicio web como funciones SQL, el derivador de servicios web modela el acceso a esos servicios a través de tablas virtuales (NICKNAMEs). Consulte la sección de referencia para obtener más información acerca del derivador de servicios web.

¿Cuáles son los requisitos para trabajar con servicios web de Gestión de Información?

La Gestión de Información como un prestador de servicios web requiere que se instale el Web Services Object Runtime Framework (WORF), también conocido como Document Access Definition Extension (DADx). WORF se suministra como un archivo zip, dxxworf.zip, que viene con las ediciones de servidor de DB2 UDB. Se encuentra en el subdirectorio SQLLIB\samples\java\Websphere, en el directorio donde el DB2 está instalado. WORF también se envía con WebSphere Information Integrator, WebSphere Studio Versión 5 y con Rational Application Developer 6.

La Gestión de Información como un consumidor de servicios web requiere que se instale el ampliador DB2 XML y que habilite los UDFs de consumidor de servicios web de Gestión de Informaciones. Consulte el artículo Information Management Web services for Information Management practitioners para ver detalles de cómo se puede hacer esto.

¿Cómo se puede trabajar con Gestión de Información como un prestador de servicios web?

Cuando DB2 es el prestador de servicios web, una aplicación cliente de servicios web puede acceder a una base de datos DB2 UDB a través de una interfaz. Puede crear una interfaz WSDL a los datos de DB2 a través de las posibilidades de WORF. En términos simples, se puede definir el acceso a los datos de DB2 a través de un archivo XML llamado archivo DADx. Ese archivo XML puede contener una serie de operaciones. Cada una de las operaciones puede estar constituida por invocaciones de procedimientos almacenados de DB2, almacenamiento o recuperación de documentos XML o tareas CREATE, SELECT, UPDATE, DELETE a través de sentencias SQL. La lista 1 es un ejemplo de archivo DADX con una operación.

En la Lista 1, se define una única operación llamada "showemployees" para recuperar todos los datos de la tabla de empleados en una base de datos DB2. Un archivo DADx puede contener varias operaciones. Esas operaciones se despliegan básicamente como servicios web dentro de un único módulo de aplicación.

El entorno de servicios web de Gestión de Información (WORF) proporciona la infraestructura para crear automáticamente las interfaces WSDL para cada operación definida. WORF genera un cliente de prueba de servicios web como una aplicación Web, a través de JSPs y servlets Java. El cliente de prueba puede usar enlaces HTTP o SOAP simples. Un enlace HTTP es útil para probar directamente el servicio web de Gestión de Informaciones a través de un navegador Web. El enlace SOAP puede ser usado por los clientes de servicios web para crear aplicaciones distribuidas. Los datos son retornados desde el servicio web de Gestión de Informaciones como un documento XML o un objeto Java. Hay analizadores XML prontamente disponibles para varios lenguajes de programación, incluyendo Java y C.

Al exponer los datos de Gestión de Informaciones a los clientes de servicios web a través de DADx, considere la hipótesis de incorporar la lógica de acceso a los datos a los procedimientos almacenados de Gestión de Informaciones. Los procedimientos almacenados de Gestión de Informaciones son una técnica muy potente para crear una capa de abstracción para el acceso a los datos de Gestión de Informaciones. Los procedimientos almacenados de Gestión de Informaciones pueden ser creados en varios lenguajes de programación, incluyendo Java y el lenguaje estándar de procedimientos SQL.

Tras definir las operaciones para el acceso a los datos de Gestión de Informaciones con un archivo DADx, debe desplegar el archivo DADx y su entorno de tiempo de ejecución (Apache SOAP o Apache axis) en un entorno de servidores de aplicaciones Web Java ™ soportado (Apache/Jakarta Tomcat o IBM® WebSphere® Application Server o el servidor de aplicaciones DB2).

Después que se pruebe y despliegue el servicio web de Gestión de Informaciones, cualquier cliente de servicios web puede comenzar a usar ese servicio. El uso de WebSphere Application Server para desplegar los servicios web de Gestión de Informaciones proporciona beneficios adicionales como conexiones de bases de datos agrupadas y administración centralizada. También se puede desplegar WebSphere a través de técnicas de escalamiento horizontal y vertical para proporcionar la tolerancia a errores y las altas tasas de transacciones necesarias a un servicio web de Gestión de Informaciones muy utilizado.

¿Cómo se puede trabajar con Gestión de Información como un consumidor de servicios web?

La Gestión de Informaciones se comporta como un consumidor de servicios web cuando invoca un servicio web a través de una sentencia SQL. Por ejemplo, en la Figura 1, una función SQL del servicio web de Gestión de Informaciones llamada getRate("country","country") retorna la tasa de conversión de cambio actual entre dos países. Ya que esos datos cambian constantemente, un prestador de servicios web puede suministrar el valor actualizado a su aplicación. En el ejemplo, se está usando la capacidad de SQL para calcular el precio de una parte en dólares canadienses antes de retornarlo a la aplicación. Al usar sentencias SQL, resulta más fácil consumir e integrar los datos de servicios web. El uso de SQL para acceder a datos de servicios web puede ahorrar esfuerzo, ya que se pueden manipular los datos en el contexto de una sentencia SQL antes de ser retornado a la aplicación cliente. Una aplicación cliente de un servicio web que no es de Gestión de Informaciones puede alcanzar ese mismo resultado sin el uso de extensiones SQL para servicios web de Gestión de Informaciones, pero exigiría más esfuerzo en la programación.

Ya que esos servicios web son consumidos al usar sentencias SQL, es simple probar el acceso al servicio web a través de herramientas como el procesador de línea de comandos (CLP) de DB2. Las herramientas tienen un papel importante en el acceso a los datos de servicios web desde SQL. La conversión de una interfaz SQL ya existente en una función de Gestión de Informaciones (de tabla o escalar) es una tarea que resulta más simple cuando se usa un plug-in de WebSphere Studio para convertir WSDL a funciones SQL de DB2. La capacidad de herramientas también está incluida en WebSphere Studio versión 5 y Rational Application Developer 6 o superior.

El acceso a los datos de servicios web directamente desde sentencias SQL de DB2 no requiere un servidor de aplicaciones Java ni el prestador de servicios web de DB2. Esas extensiones SQL son creadas por un administrador de bases de datos DB2 o por desarrolladores de bases de datos. Durante la ejecución de sentencias SQL, se establece una conexión al prestador de servicios web y se retorna el documento de respuesta como una tabla de relación o un valor escalar.

La computación grid ha adoptado los servicios web como parte de la arquitectura abierta de servicios de grid, un nuevo modelo para ese tipo de informática distribuida que usa los servicios web para comunicar cómo la grid opera.

¿Dónde puedo obtener más información sobre servicios web de Gestión de Información?

Aprenda más sobre esto:

Connect with IBM developerWorks