Nodo Warehouse

Finalidad

Utilice el nodo Warehouse para interactuar con una base de datos en el origen de datos ODBC especificado. El nodo Warehouse es una forma especializada del nodo Database que almacena todo el mensaje, partes del mismo o ambas cosas, en una tabla de la base de datos. Los elementos a almacenar se definen mediante correlaciones que utilizan los datos del mensaje de entrada para identificar la acción requerida.

El almacén de mensajes puede utilizarse:

  • Para mantener un seguimiento de auditoría de los mensajes que pasan a través del intermediario.
  • Para el proceso fuera de línea o por lotes de los mensajes que han pasado a través del intermediario (minería de datos).
  • Como origen para volver a procesar los mensajes seleccionados en el intermediario.

Puede recuperar los mensajes almacenados en el almacén utilizando las técnicas estándar de consulta y minería de base de datos. WebSphere Message Broker no proporciona ningún soporte explícito.

Debe haber creado (o identificado, si ya lo ha creado alguien):

  • Datos de entrada en forma de un conjunto de mensajes y un mensaje.
  • Una conexión ODBC con la base de datos.
  • Una base de datos y una tabla de base de datos para almacenar el mensaje.
  • Como mínimo, dos columnas en la tabla: una para el objeto binario (el mensaje) y otra para la indicación de la hora.

El nodo Warehouse se representa en el entorno de trabajo con el siguiente icono:

Icono de nodo Warehouse

Utilización de este nodo en un flujo de mensajes

Cuando se utiliza el nodo Warehouse, puede decidir almacenar en la base de datos asociada al nodo de:

  • Todo el mensaje y, opcionalmente, con una indicación de la hora asociada. El mensaje se almacena como objeto binario, con la indicación de la hora en una columna separada. Esto tiene dos ventajas:
    1. No es necesario decidir de antemano la utilización que va a dar a los datos almacenados; como los ha almacenado todos, puede recuperar todos los datos y utilizar herramientas de minería de datos posteriormente.
    2. No es necesario definir un esquema de base de datos específico para cada tipo de mensaje que pueda pasar a través del intermediario. En un sistema complejo, puede haber muchos tipos de mensaje distintos y la actividad global para definir un esquema exclusivo para cada tipo de mensaje puede ser prohibitivo. Puede hacer que un nodo Compute preceda a cada nodo Warehouse para convertir los mensajes a un formato de almacenamiento autorizado con un esquema común, o puede almacenar todo el mensaje como objeto binario.
  • Partes seleccionadas del mensaje y, opcionalmente, con una indicación de la hora asociada. Para llevar a cabo esta operación es necesario haber definido un esquema de base de datos para ese tipo de mensaje. El mensaje se correlaciona con el tipo verdadero, es decir que, por ejemplo, una serie de caracteres del mensaje se almacena como una serie de caracteres en la base de datos.

Configuración del nodo Warehouse

Una vez ha puesto una instancia del nodo Warehouse en un flujo de mensajes, puede configurarlo. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. Aparecen las propiedades básicas del nodo.

Todas las propiedades obligatorias para las que ha de entrar un valor (las que no tienen definido un valor por omisión) aparecen con un asterisco en el diálogo de propiedades.

Configure el nodo Warehouse de la manera siguiente:

  1. En Origen de datos, especifique el nombre por el que se conoce la base de datos correspondiente en el sistema en el que va a ejecutarse este flujo de mensajes. El intermediario se conecta a esta base de datos con la información de ID de usuario y contraseña que ha especificado en el mandato mqsicreatebroker, mqsichangebroker o mqsisetdbparms.

    En sistemas z/OS, el intermediario utiliza el ID de tarea iniciada de intermediario o el ID de usuario y contraseña que se han especificado en el mandato mqsisetdbparms del JCL BIPSDBP del conjunto de datos de personalización <hlq>.SBIPPROC.

  2. En Correlación de campos, identifique la rutina de correlación que debe ejecutarse en este nodo. Por omisión, el nombre asignado a la rutina de correlación es idéntico al nombre del archivo de correlación en el que se ha definido la rutina, y el nombre por omisión para el archivo es el nombre del flujo de mensajes enlazado con el nombre del nodo cuando lo incluye en el flujo de mensajes (por ejemplo, MFlow1_Warehouse.mfmap para el primer nodo Warehouse en el flujo de mensajes MFlow1). No se puede especificar un valor que contenga espacios en blanco.

    Si pulsa Examinar al lado de este campo de entrada, aparece un diálogo que lista todas las rutinas de correlación disponibles a las que puede acceder este nodo. Seleccione la rutina que desee y pulse Aceptar. El nombre de la rutina se establece en Correlación de campos.

    Para trabajar con la rutina de correlación asociada a este nodo, pulse el botón derecho del ratón en el nodo y seleccione Abrir correlaciones. Si la rutina de correlación no existe, se crea automáticamente con el nombre por omisión en el archivo por omisión. Si el archivo ya existe, también puede abrir el archivo <nombre_flujo>_<nombre_nodo>.mfmap en la vista Navegador.

    El contenido de la rutina de correlación determina lo que se almacena en la base de datos y en qué formato. Por ejemplo, puede elegir almacenar una parte de los mensajes, o los mensajes enteros. También puede elegir almacenar los datos en formato binario o almacenar cada campo en el mismo formato en que se encuentra en el mensaje (por ejemplo, un campo de caracteres en el mensaje se almacena como caracteres en la base de datos).

    Una rutina de correlación es específica del tipo de nodo al que está asociada; no se puede utilizar una rutina de correlación que ha desarrollado para el nodo Warehouse con ningún otro nodo que utilice correlaciones (por ejemplo, un nodo DataInsert). Si crea una rutina de correlación, no puede llamarla desde ninguna otra rutina de correlación, aunque puede llamarla desde una rutina ESQL.

  3. Seleccione el valor Transacción en el menú desplegable. Los valores son los siguientes:
    • Automática (el valor por omisión). El flujo de mensajes del que forma parte el nodo Warehouse, se confirmará si la operación es satisfactoria. Es decir, se realizan las acciones que se han definido en las correlaciones y el mensaje continúa a través del flujo de mensajes. Si el flujo de mensajes da error, la acción se restituye. Por tanto, si elige Automática, la posibilidad de confirmar o restituir la acción del nodo Warehouse en la base de datos depende de si el proceso de todo el flujo de mensajes es satisfactorio o no.
    • Confirmar. Si desea confirmar acciones no confirmadas realizadas en este flujo de mensajes en la base de datos conectada a este nodo, independientemente del éxito o error del flujo de mensajes como un todo, seleccione Confirmar. Los cambios en la base de datos se confirman incluso si el flujo de mensajes propiamente dicho no se ejecuta correctamente.
  4. Seleccione Básico en el navegador del diálogo de propiedades y seleccione o deseleccione los dos recuadros:
    • Si desea que los mensajes de aviso de base de datos se traten como errores y que el nodo propague el mensaje de salida al terminal de anomalías, seleccione el recuadro de selección Tratar los avisos como errores. Inicialmente, el recuadro no está seleccionado.

      Cuando selecciona el recuadro, el nodo gestiona todos los códigos de retorno positivos de la base de datos como errores y genera excepciones igual que si se tratase de errores negativos o más graves.

      Si no selecciona el recuadro, el nodo trata los avisos como códigos de retorno normales y no emite excepciones. El aviso más significativo es no encontrado que, en la mayoría de los casos, puede tratarse de forma segura como un código de retorno normal.

    • Si desea que el intermediario genere una excepción cuando se detecte un error de base de datos, seleccione el recuadro de selección Generar excepción en errores de base de datos. Inicialmente, el recuadro está seleccionado.

      Si deselecciona el recuadro, deberá gestionarlo en el flujo de mensajes para asegurarse de la integridad del intermediario y de la base de datos: el error se ignora si no lo gestiona a través de su propio proceso, debido a que ha decidido no invocar el manejo de errores por omisión mediante el intermediario. Por ejemplo, podría conectar el terminal de anomalías a una subrutina de proceso de errores.

  5. Seleccione Descripción en el navegador del diálogo de propiedades para entrar una descripción corta, una descripción larga, o ambas.
  6. Pulse Aplicar para efectuar los cambios en el nodo Warehouse sin cerrar el diálogo de propiedades. Pulse Aceptar para aplicar los cambios y cerrar el diálogo de propiedades.

    Pulse Cancelar para cerrar el diálogo y eliminar todos los cambios que ha efectuado en las propiedades.

Terminales y propiedades

Los terminales del nodo Warehouse se describen en la tabla siguiente:

Terminal Descripción
In (de entrada) El terminal de entrada que acepta un mensaje para que lo procese el nodo.
Failure (de anomalías) El terminal de salida al que se propaga el mensaje de entrada si se detecta una anomalía durante el cálculo. Si ha seleccionado Tratar los avisos como errores, el nodo propaga el mensaje a este terminal aunque el proceso se complete satisfactoriamente.
Out (de salida) El terminal de salida que efectúa la salida del mensaje después de la ejecución de la sentencia de base de datos.

Las tablas siguientes describen las propiedades del nodo; la columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco en el diálogo de propiedades si tiene que entrar un valor cuando no hay definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo bar para desplegarlo).

Las propiedades básicas del nodo Warehouse se describen en la siguiente tabla.

Propiedad O C Valor por omisión Descripción
Origen de datos No   El nombre del origen de datos ODBC de la base de datos que contiene las tablas a las que se hace referencia en las correlaciones asociadas a este nodo (identificadas por la propiedad Correlación de campo).
Correlación de campo No Warehouse Nombre de la rutina de correlación que contiene las sentencias que se tienen que ejecutar contra la base de datos o el árbol de mensaje. La rutina es exclusiva de este tipo de nodo.
Transacción No Automática La modalidad de transacción para el nodo. Puede ser Automática o Confirmar.
Tratar los avisos como errores No No seleccionado Tratar los avisos SQL de base de datos como errores. Si selecciona el recuadro, se realizará esta acción.
Generar excepción en error de la base de datos No Seleccionado Los errores de la base de datos hacen que el intermediario genere una excepción. Si selecciona el recuadro, se realizará esta acción.

En la tabla siguiente se describen las propiedades de Descripción del nodo Warehouse.

Propiedad O C Valor por omisión Descripción
Descripción corta No No   Descripción breve del nodo.
Descripción larga No No   Texto que describe el propósito del nodo en el flujo de mensajes.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ac04730_