WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Nodo .NETCompute

Utilice el nodo .NETCompute en los intermediarios de Windows para construir mensajes de salida e interactuar con aplicaciones Microsoft .NET Framework (.NET) o Component Object Model (COM).

Este tema contiene los siguientes apartados:

Finalidad

Los mensajes de salida que cree en el nodo .NETCompute pueden crearse modificando la información que se suministra en el mensaje de entrada, o utilizando información que puede extraerse de otras fuentes, como aplicaciones .NET o COM. Los elementos del mensaje de entrada (por ejemplo, cabeceras, campos de cabecera y datos del texto) y las variables de entorno asociadas, LocalEnvironment y ExceptionList se pueden utilizar para crear el mensaje de salida.

El nodo .NETCompute utiliza cualquier lenguaje compatible con Common Language Runtime (CLR) para crear o modificar el mensaje, como C#, Visual Basic (VB), F# y C++/CLI (Common Language Infrastructure).

Utilice el nodo .NETCompute para completar las siguientes tareas:

  • Compilar mensajes.
  • Interactuar con aplicaciones .NET o COM.
  • Transformar mensajes de un formato a otro.
  • Copiar mensajes entre analizadores.
  • Utilizar un lenguaje de programación .NET para examinar un mensaje de entrada y, en función del contenido del mensaje, propagarlo sin modificarlo a uno de los terminales de salida del nodo .NETCompute. El nodo se comporta de forma parecida a un nodo Filter, pero utiliza lenguajes .NET en lugar de ESQL para determinar qué terminal de salida utilizar.
  • Utilizar .NET para cambiar parte de un mensaje de entrada y propagar el mensaje modificado a uno de los terminales de salida.
  • Utilizar .NET para crear y compilar un mensaje de salida que sea independiente del mensaje de entrada.

El nodo .NETCompute está incluido en la bandeja .NET de la paleta, y está representado por WebSphere Message Broker Toolkit con el siguiente icono:

Icono del nodo .NETCompute

El nodo .NETCompute sólo se ejecuta en intermediarios de Windows. Se produce un error si intenta desplegar un flujo de mensajes que contenga un nodo .NETCompute en un intermediario que se ejecuta en un sistema que no es Windows. Asegúrese de que el intermediario esté ejecutándose en Windows antes de desplegar el flujo de mensajes.

Los archivos de configuración de .NET, que se pueden utilizar en el nodo .NETCompute, están soportados en WebSphere Message Broker Toolkit.

Utilización de este nodo en un flujo de mensajes

El nodo .NETCompute puede utilizarse en cualquier flujo de mensajes que se despliega en un intermediario que se ejecuta en Windows. El nodo .NETCompute se suele utilizar en un escenario en el que el mensaje que se crea es necesario para interactuar con otras aplicaciones .NET para almacenar datos del mensaje o recuperar datos para aumentarlo.

Sólo se crea una instancia de un determinado nodo .NETCompute, independientemente del número de hebras que se ejecutan para el flujo de mensajes. Ya sea como resultado de instancias adicionales o de varios nodos de entrada. Por lo tanto, todo el código .NET de usuario debe ser de enhebramiento seguro y reentrada. Para obtener más información sobre cómo hacer que un nodo sea de enhebramiento seguro y asegurarse de que las funciones implementadas e iniciadas por extensiones definidas por el usuario sean reentrantes, consulte Modelo de ejecución de extensiones definidas por el usuario y Consideraciones acerca de las hebras para extensiones definidas por el usuario.

Las actualizaciones creadas con los lenguajes .NET no participan en transacciones de WebSphere Message Broker.

El nodo .NETCompute debe configurarse con un conjunto .NET que contenga el código del nodo. El código consta de una clase que se deriva de la claseNBComputeNode abstracta que se proporciona en el conjunto IBM.Broker.Plugin.dll.

Utilización de un conjunto .NET existente

Si el ensamblado se proporciona como un archivo compilado .dll de un proveedor o de un tercero, debe elegir el ensamblado utilizando la propiedad opción Examinar que se proporciona para la propiedad de nodo .NETCompute de Nombre de ensamblado. Como alternativa, puede arrastrar el conjunto directamente en el nodo. Si no se le suministra un conjunto, debe crear un conjunto de nodos.

Creación de un conjunto .NET

El intermediario se puede integrar con Microsoft Visual Studio 2010 o 2012 para crear un conjunto .NET que represente el nodo. Para iniciar Microsoft Visual Studio directamente desde el nodo, asegúrese de que Microsoft Visual Studio 2010 o 2012 está instalado y efectúe una doble pulsación sobre el nodo .NETCompute. Como alternativa, pulse con el botón derecho del ratón en el nodo y seleccione Abrir Microsoft Visual Studio. Si se proporciona un proyecto o un nombre de solución Microsoft Visual Studio en el panel Visual Studio, el proyecto o la solución se carga automáticamente cuando se abre Microsoft Visual Studio.

Desde Microsoft Visual Studio, seleccione Nuevo proyecto. Después, puede seleccionar un proyecto de Message Broker, que se encuentra debajo del lenguaje que ha elegido, por ejemplo, Visual Basic.

A continuación, puede seleccionar un nuevo proyecto de la lista. Para el nodo .NETCompute, puede elegir:
  • Crear un mensaje de Message Broker
  • Filtrar un mensaje de Message Broker
  • Modificar un mensaje de Message Broker

El proyecto genera el código de esqueleto que coincide con el tipo seleccionado. A continuación, este código de esqueleto se visualiza en el editor de lenguaje .NET correspondiente; por ejemplo, Visual Basic.

La clase NBComputeNode contiene un método que debe sobrescribirse temporalmente y dos métodos opcionales adicionales que puede decidir alterar temporalmente si es necesario. El método Evaluate() siempre debe alterarse temporalmente y se implementa automáticamente mediante la plantilla Proyecto de Message Broker, si la plantilla se utiliza para generar el código de esqueleto. Los métodos opcionales son OnInitialize() y OnDelete(). Si desea que el nodo lleve a cabo operaciones de inicialización o borrado, proporcione una implementación de uno o ambos de estos métodos.

El intermediario llama inmediatamente al método OnDelete() antes de que el método suprima el nodo. El intermediario OnInitialize() llama al método cuando se crea el nodo, después de que se establezcan los atributos del nodo. El método OnInitialize() se invoca durante el despliegue, pero antes de que se confirme el despliegue. Los nodos en sentido descendente todavía podrían generar excepciones durante la inicialización, haciendo que el despliegue no se realice satisfactoriamente. Por esta razón, cualquier código de la aplicación de usuario que se base en el estado desplegado del flujo de mensajes debe colocarse dentro del método Evaluate().

Configuración del nodo .NETCompute

Cuando coloca una instancia del nodo .NETCompute en un flujo de mensajes; debe configurarlo, consulte Configurar un nodo de flujo de mensajes. Para configurar el nodo, puede arrastrar un archivo de ensamblado de un explorador de archivos al nodo. Las propiedades del nodo se visualizan en la vista Propiedades.

Todas las propiedades obligatorias para las que debe especificar un valor (las que no tienen un valor predeterminado definido) están marcadas con un asterisco.

Especificación de código .NET

Puede codificar sentencias para personalizar el comportamiento del nodo .NETCompute utilizando como plantilla los esqueletos de código del proyecto Nodo Compute de Message Broker de Microsoft Visual Studio. Por ejemplo, puede personalizar el nodo para crear un mensaje de salida, o varios mensajes, utilizando un mensaje de entrada o datos de un origen externo. Es posible que haya un escenario concreto en el que desee modificar un valor del mensaje de entrada, lo cual es posible hacer, añadiendo uno o más valores que se obtienen de la interfaz .NET de una aplicación externa y almacenando el resultado en el mensaje de salida.

Para depurar un .NETCompute que se ejecuta dentro del grupo de ejecución, coloque el archivo .pdb para el conjunto que implementa el nodo en el mismo directorio que el conjunto del nodo, y adjunte Microsoft Visual Studio al proceso DataFlowEngine.exe. Entonces podrá poner puntos de interrupción en el código y examinar variables, por ejemplo cuando se alcance el punto de interrupción.

Para obtener más información sobre la creación de código .NET para un nodo .NETCompute, puede acceder a la documentación de la API .NET que se incluye con la instalación de WebSphere Message Broker desde la ubicación del menú Inicio en Windows.

Validación de mensajes

Establezca las propiedades de validación para definir cómo debe validarse el mensaje producido por el nodo .NETCompute. Estas propiedades no hacen que se valide el mensaje de entrada. Se espera que, si se necesita dicha validación, el nodo de entrada o un nodo de validación anterior ya haya realizado la validación.

Para obtener más información, consulte Validar mensajes y Propiedades de validación.

Terminales y propiedades

Los terminales del nodo .NETCompute están descritos en la siguiente tabla.

Terminal Tipo Descripción
In (de entrada) Datos de entrada El terminal de entrada que acepta datos de un origen remoto.
Out (de salida) Datos de salida El terminal de salida que envía datos a un nodo en sentido descendente.
Failure (de anomalías) Datos de salida Terminal de salida al que se direcciona el mensaje de entrada si durante el cálculo se produce una excepción no manejada.
* (dinámico) Datos de salida Pueden crearse terminales de salida dinámicos (o no crearse ninguno), para dar soporte al direccionamiento de mensajes.

Puede definir terminales de salida dinámicos en el nodo .NETCompute.

Las tablas siguientes describen las propiedades del nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); 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 de descripción del nodo .NETCompute están descritas en la siguiente tabla.

Propiedad M C Valor predeterminado Descripción
Nombre de nodo No No El tipo de nodo El nombre del nodo.
Descripción corta No No   Breve descripción del nodo.
Descripción larga No No   Texto que describe la finalidad del nodo en el flujo de mensajes.

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

Propiedad M C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
Nombre de conjunto   El conjunto que implementa el nodo. Utilice la opción Examinar para seleccionar un conjunto; también se puede soltar un archivo .dll de conjunto en el nodo para completar automáticamente esta propiedad. AssemblyName
Nombre de clase No   Nombre de la clase que implementa el nodo. Es necesario un valor para esta propiedad sólo si dos o más nodos están a la vista en el mismo conjunto, o para nombrar de forma explícita una subclase como nodo de implementación. AssemblyNodeClassName

Las propiedades Microsoft Visual Studio del nodo .NETCompute se describen en la tabla siguiente.

Propiedad M C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
Nombre de proyecto de Visual Studio No No   El proyecto o la solución de Microsoft Visual Studio que contiene el código del nodo.  

Las propiedades Avanzadas del nodo .NETCompute están descritas en la siguiente tabla.

Propiedad M C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
Nombre de dominio de aplicación No   El .NET AppDomain que aloja el nodo. AppDomain
Versión No   La versión del conjunto. AssemblyVersion
Cultura No   La cultura del conjunto. AssemblyCulture
Señal de clave pública No   La señal de clave pública del conjunto. AssemblyPublicKeyToken

Las propiedades de validación del nodo .NETCompute se describen en la tabla siguiente.

Para ver la descripción completa de estas propiedades, consulte el apartado Propiedades de validación.
Propiedad M C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
Validar No Ninguna Esta propiedad controla si tiene lugar la validación. Los valores válidos son Ninguna, Contenido y valor, Contenido y Heredar. validateMaster
Acción para anomalía No No Excepción Esta propiedad controla qué sucede si falla una validación. Sólo puede establecer esta propiedad si Validar se establece en Contenido o Contenido y valor. Los valores válidos son Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones.  
Las propiedades de supervisión del nodo se describen en la siguiente tabla.
Propiedad O C Valor predeterminado Descripción
Sucesos No No Ninguno Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles.

Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado.

Propiedades de Usuario:
Propiedad M C Valor predeterminado Descripción Propiedad de mandato mqsiapplybaroverride
<Nombre proporcionado por el usuario> No No   El nodo proporciona una tabla en la que el usuario puede Añadir, Modificar o Suprimir filas, cada una de las cuales proporciona un par Nombre: Valor.  
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 17:00:45


Tema de referenciaTema de referencia | Versión 8.0.0.5 | bc16270_