Consulte el tema de concepto sobre nodos de flujos de mensajes.
Cuando diseña un flujo de mensajes, la flexibilidad y riqueza de los nodos incorporados a menudo significa que hay varias formas de conseguir el proceso y, por tanto, de conseguir el resultado final requerido. Sin embargo, es posible que también encuentre que estas distintas soluciones generan distintos rendimientos y, si este elemento es importante en su caso, debe diseñar de forma que obtenga un buen rendimiento así como una buena funcionalidad.
Las aplicaciones pueden percibir el rendimiento de dos formas:
Hay varios aspectos que afectan a los tiempos de respuesta de los flujos de mensajes. Sin embargo, cuando crea y modifica el diseño del flujo de mensajes para obtener los mejores resultados que satisfagan los requisitos específicos del negocio, también debe tener en cuenta la eventual complejidad del flujo de mensajes. Los flujos de mensajes más eficaces no son necesariamente los más fáciles de entender y mantener; experimente las distintas soluciones disponibles hasta obtener el mejor equilibrio para sus necesidades.
Hay varios factores que afectan a los tiempos de respuesta del flujo de mensajes:
En un flujo de mensajes, utilice el menor número posible de nodos; cada nodo que se incluye en el flujo de mensajes aumenta la actividad general en el intermediario. Hay un límite superior en el número de nodos en un solo flujo. Este límite lo controlan los recursos del sistema, especialmente el tamaño de pila.
Para obtener más información sobre los tamaños de pila, consulte Consideraciones acerca del sistema para el despliegue de flujos de mensajes.
Por ejemplo, supongamos que tiene un flujo de mensajes que maneja ocho mensajes distintos (Factura, Nota de despacho, etc.). Puede incluir un nodo Filter para identificar cada tipo de mensaje y direccionarlo según el tipo. Puede optimizar el rendimiento de esta técnica comprobando los tipos de mensaje más frecuentes en los primeros nodos Filter. Sin embargo, el octavo tipo de mensaje debe pasar a través de ocho nodos Filter.
Si puede agrupar los tipos de mensaje (por ejemplo, si el tipo de mensaje es numérico, y puede comprobar todos los tipos superiores a cuatro e inferiores a cuatro), puede reducir el número de nodos Filter necesarios. El primer nodo Filter comprueba si son superiores a cuatro y pasa el mensaje a dos nodos Filter más (conectados a los terminales verdadero y falso) que comprueban si son menores de dos y menores de seis respectivamente. A continuación, cuatro nodos Filter adicionales pueden comprobar si son uno o dos, tres o cuatro, etc. Aunque el número de nodos Filter necesarios sea el mismo, el número de nodos por el que pasa cada mensaje es menor.
Quizá encuentre que el uso de un nodo RouteToLabel con un conjunto de nodos Label ofrecen una alternativa mejor a una secuencia de nodos Filter. Cada mensaje pasa a través de un número más pequeño de nodos, mejorando el rendimiento. Sin embargo, debe tener en cuenta que la utilización de un nodo RouteToLabel significa utilizar un nodo Compute: la actividad general de este nodo puede exceder las ventajas que se obtienen. Si maneja un número limitado de tipos de mensajes, es más eficaz un número pequeño de nodos Filter.
El Ejemplo Reserva de vuelos muestra cómo puede utilizar los nodos RouteToLabel y Label en lugar de utilizar varios nodos Filter en el flujo de mensajes XML_PassengerQuery. El Ejemplo Direccionamiento de mensajes muestra cómo puede almacenar información de direccionamiento de una tabla de base de datos en una antememoria en memoria del flujo de mensajes.
Si ha importado flujos de mensajes de un release anterior, compruebe las sentencias ESQL en relación con el ESQL disponible en la Versión 5.0 para ver si puede utilizar nuevas funciones o sentencias para mejorar su eficacia.
Puede encontrar más información sobre cómo mejorar el rendimiento de un flujo de mensajes en este artículo de developerWorks sobre el rendimiento del flujo de mensajes.