Nodo Warehouse

Este tema contiene las siguientes secciones:

Finalidad

Utilice el nodo Warehouse para interactuar con una base de datos en el origen de datos ODBC especificado. El nodo Warehouse está en un formato especializado de nodo Database que almacena todo el mensaje, o parte del mismo, o ambos, en una tabla dentro de la base de datos. Defina lo que se almacena definiendo correlaciones que utilicen datos del mensaje de entrada para identificar la acción necesaria.

Puede utilizar el almacén de mensajes:

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

Se pueden recuperar mensajes almacenados en el almacén mediante técnicas de recopilación de datos y consulta de base de datos estándar. WebSphere Business Integration Message Broker no proporciona soporte explícito.

Debe haber creado (o identificado, si lo ha hecho otro usuario):

  • Datos de entrada en el formato de un conjunto de mensajes y mensaje.
  • Una conexión ODBC para 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), una para la indicación de la hora.

El nodo Warehouse se representa en el área de trabajo por el icono siguiente:

Icono de nodo Warehouse

Utilización de este nodo en un flujo de mensajes

Al utilizar el nodo Warehouse, puede elegir almacenar en la base de datos asociada al nodo:

  • Todo el mensaje, y si lo desea, la indicación de la hora asociada. El mensaje se almacena como objeto binario, con la indicación de la hora en una columna distinta. Hay dos tipos de ventajas:
    1. No tiene que decidir de antemano si utilizará los datos almacenados; puesto que los ha almacenado todos, puede recuperarlos todos y aplicar las herramientas de minería de datos más adelante.
    2. No tiene que definir un esquema específico de base de datos para cada tipo de mensaje que pueda pasar a través del intermediario. En un sistema complejo, puede haber muchos tipos de mensajes distintos y el coste de definir un esquema único para cada tipo de mensaje puede ser prohibitivo. Puede preceder cada nodo Warehouse con un nodo Compute que convierta cada mensaje a un formato de almacén canónico con un esquema común, o puede almacenar todo el mensaje como objeto binario.
  • Partes seleccionadas del mensaje y, si lo desea, la indicación de la hora asociada. Esto requiere que haya un esquema de base de datos definido para dicho tipo de mensaje. El mensaje se correlaciona con true type, 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

Después de transferir una instancia del nodo Warehouse a un flujo de mensajes, puede configurarla. Pulse el botón derecho del ratón en el nodo en la vista de editor y pulse Propiedades. Se visualizan las propiedades básicas de nodo.

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

Configure el nodo Warehouse como se describe a continuación:

  1. Especifique en Origen de datos el nombre por el que se conoce la base de datos adecuada en el sistema en el que se va a ejecutar 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 se ha especificado en el mandato mqsicreatebroker, mqsichangebroker o mqsisetdbparms.

    En sistemas z/OS, el intermediario utiliza el ID de tarea iniciada por el intermediario.

  2. En Correlación de campo, identifique la rutina de correlación que se va a ejecutar en este nodo. Por omisión, el nombre asignado a la rutina de correlación es idéntico al nombre del archivo de correlaciones en el que se define y el nombre por omisión del archivo es el nombre del flujo de mensajes concatenado con el nombre del nodo cuando se incluye en el flujo de mensajes (por ejemplo, MFlow1_Warehouse.mfmap para el primer nodo Warehouse en el flujo de mensajes MFlow1). No puede especificar un valor que incluye espacios.

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

    Para trabajar con la rutina de correlación asociada con 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 de 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 todo o sólo una parte de cada mensaje. También puede elegir almacenar los datos como datos binarios o almacenar cada campo en el mismo formato que está en el mensaje (por ejemplo, un campo de caracteres en el mensaje de almacena como carácter en la base de datos).

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

  3. Seleccione el valor Transacción en el menú desplegable. Los valores son:
    • Automático (el valor por omisión). El flujo de mensajes, del que forma parte el nodo Warehouse, se confirma si esto es satisfactorio. Es decir, se llevan a cabo las acciones definidas en las correlaciones y el mensaje continúa a través del flujo de mensajes. Si el flujo de mensajes no se ejecuta correctamente, se restituye. Por lo tanto, si se selecciona Automático significa que la capacidad para confirmar o restituir la acción del nodo Warehouse en la base de datos depende de si todo el flujo de mensajes ha sido correcto o ha generado un error.
    • Confirmar. Si desea confirmar todas las acciones no confirmadas ejecutadas en este flujo de mensajes en la base de datos conectada a este nodo, sin tener en cuenta si el flujo de mensajes en conjunto se ejecutó o no satisfactoriamente, seleccione Confirmar. Los cambios realizados en la base de datos se confirman incluso si el flujo de mensajes falla.
  4. Seleccione Básico en el navegador del diálogo de propiedades y seleccione o deseleccione los dos recuadros de selección:
    • Si desea que los mensajes de aviso de base de datos se procesen como errores y que el nodo propague el mensaje de salida hasta el terminal de anomalías, seleccione el recuadro Tratar los avisos como errores. Al principio el recuadro está sin seleccionar.

      Al seleccionar el recuadro, el nodo trata como errores todos los códigos de retorno positivos procedentes de la base de datos base y genera excepciones de la misma forma que lo hace para los errores negativos o más graves.

      Si no selecciona este recuadro, el nodo procesa los avisos como si fueran códigos de retornos normales y no genera ninguna excepción. El aviso más significativo generado es no encontrado, que puede manejarse como un código de retorno normal de forma segura en la mayoría de las circunstancias.

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

      Si deselecciona el recuadro, deberá manejar el error en el flujo de mensajes para garantizar la integridad del intermediario y de la base de datos: el error se ignora si no lo maneja a través de su propio proceso, porque ha elegido no invocar el manejo de errores por omisión que realiza 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 breve, una descripción larga o ambas.
  6. Pulse Aplicar para realizar 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 descartar todos los cambios realizados en las propiedades.

Terminales y propiedades

Los terminales de nodo Warehouse se describen en la tabla siguiente.

Terminal Descripción
Terminal de entrada Terminal de entrada que acepta un mensaje para que el nodo lo procese.
Terminal de anomalías Terminal de salida al que se propaga el mensaje de entrada si se detecta una anomalía durante un cálculo. Si ha seleccionado Tratar los avisos como errores, el nodo propaga el mensaje a este terminal aún cuando el proceso se haya completado satisfactoriamente.
Terminal de salida Terminal de salida que imprime el mensaje después de la ejecución de la sentencia de base de datos.

En las siguientes tablas se 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 se debe entrar un valor cuando no se ha definido ningún valor por omisión), la columna con la cabecera C indica si la propiedad es configurable (se puede cambiar el valor cuando se añade el flujo de mensajes al archivo bar para difundirlo).

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   Nombre de origen de datos ODBC de la base de datos que contiene las tablas a las que se hacen referencia en las correlaciones asociadas a este nodo (identificadas por la propiedad Módulo de correlación.
Correlación de campo No Warehouse Nombre de la rutina de correlación que contiene las sentencias que se van a ejecutar contra la base de datos o el árbol de mensajes. La rutina es exclusiva a este tipo de nodo.
Transacción No Automático Modalidad de transacción para el nodo. Puede ser Automático o Confirmar.
Tratar los avisos como errores No Sin seleccionar Trata los avisos SQL como errores. Si selecciona el recuadro, se lleva a cabo la acción.
Generar excepción cuando se produce un error en la base de datos No Seleccionada Los errores de base de datos pueden provocar que el intermediario genere una excepción. Si selecciona el recuadro, se lleva a cabo la acción.

Las propiedades de descripción del nodo Warehouse se describen en la siguiente tabla.

Propiedad O C Valor por omisión Descripción
Descripción corta No No   Breve descripción del nodo.
Descripción larga No No   Texto que describe la utilidad del nodo en el flujo de mensajes.

Conceptos relacionados
Flujos de mensajes
Flujos de mensajes, correlaciones y ESQL

Tareas relacionadas
Configuración de DB2
Cómo decidir los nodos que utilizar
Configuración de flujos de mensajes coordinados
Manejo de errores en flujos de mensajes
Desarrollo de correlaciones
Edición de propiedades configurables

Referencia relacionada
Mandato mqsichangebroker
Mandato mqsicreatebroker
Mandato mqsisetdbparms
Nodo DataInsert