Vías de acceso de secuencia de sucesos

Business Monitor puede procesar los sucesos de muchos generadores de sucesos al mismo tiempo. Por ejemplo, un proceso de negocio puede tener varias instancias en ejecución, un banco puede supervisar transacciones en varios cajeros automáticos y un fabricante puede supervisar pedidos de adquisición simultáneos. Si los sucesos se deben procesar por orden, debe definir una vía de acceso de secuencias de sucesos.

Los sucesos enviados por distintos generadores normalmente se procesan en distintos contextos de supervisión y, por lo tanto, su orden relativo no es importante. No obstante, los sucesos enviados por el mismo generador, por ejemplo, de la misma instancia de un proceso, se deben procesar a menudo en el orden en que se generan.

Los sucesos pueden llegar sin ningún orden debido a los motivos siguientes:
  • El generador emite los sucesos sin orden.
  • El generador emite los sucesos emitiendo el formato asíncrono de las API de emisión de sucesos de CEI (Common Event Infrastructure).
Si sabe que probablemente los sucesos llegarán sin orden durante la ejecución, puede habilitar la reordenación de sucesos para los sucesos de entrada en Business Monitor. Para habilitar la reordenación de sucesos, realice los pasos siguientes:
  1. Defina una vía de acceso de secuencia de sucesos para cada suceso de entrada. Puede definir la vía de acceso a nivel de contexto de supervisión o de contexto de ICR, o bien, para cada definición de suceso de entrada individual.
  2. Para los sucesos de entrada de un contexto de supervisión, asegúrese de que cada uno de los sucesos de entrada tiene una expresión de correlación que compara la clave del contexto de supervisión de nivel superior con un atributo del suceso. (Los contextos de ICR no requieren esta expresión).

Establecimiento de vías de acceso de secuencias de sucesos

La expresión de vía de acceso de secuencia de sucesos se utiliza para identificar el orden de los sucesos en relación con otro en el mismo generador (por ejemplo, la misma instancia de proceso). Business Monitor evalúa la expresión y crea una serie a partir de los atributos de suceso de entrada. La serie generada (el indicador de secuencia de sucesos) identifica la posición relativa del suceso entre los otros sucesos relacionados. A medida que llegan los sucesos, el indicador de la secuencia de sucesos de cada suceso de entrada relacionado se compara de forma lexicográfica con los otros para determinar de qué modo se han de reordenar los sucesos.

El indicador de secuencia de sucesos resultante puede contener cualquier carácter, por ejemplo, letras, números, espacios, etc., pero todas las series deben tener la misma longitud para que se puedan comparar de forma correcta. Si varios sucesos tienen el mismo indicador de secuencia de sucesos, estos sucesos se procesan en el orden en cual se han recibido. Generalmente, deseará que cada suceso tenga un indicador de secuencia de sucesos exclusivo. Si todos los indicadores de secuencia de sucesos de una jerarquía de contextos de supervisión dan como resultado enteros, los valores resultantes se rellenan con ceros a la izquierda hasta alcanzar los 16 caracteres, de modo que los valores de serie numéricos resultantes se puedan comparar correctamente. Por ejemplo, 12 pasa a ser 0000000000000012 y 2 pasa a ser 0000000000000002. De forma lexicográfica, 12 se convierte en 2, pero con el relleno, 0000000000000002 es anterior a 0000000000000012, lo cual es correcto. Debido a este relleno numérico, los enteros positivos se clasificarán como está previsto, pero no así los negativos. No utilice números negativos.

La expresión de vía de acceso de la secuencia de sucesos, que indica cómo se crea el indicador de secuencia de sucesos a partir de atributos de sucesos de entrada, puede ser diferente para cada tipo de suceso de entrada; por consiguiente, puede definir una expresión de vía de acceso de suceso diferente para cada definición de sucesos de entrada. A menudo la expresión simplemente es una vía de acceso a un atributo que contiene un número de secuencia o una indicación de fecha y hora. Si se puede utilizar una expresión común para algunos o para todos los sucesos a los que se ha suscrito un contexto de supervisión o contexto de ICR, puede definir la expresión de vía de acceso de secuencia de sucesos a nivel de contexto de supervisión o de contexto de ICR y servirá como valor predeterminado de todas las definiciones de sucesos de entrada que no lo alteren temporalmente.

Para definir la vía de acceso de secuencia de sucesos para un contexto de supervisión, contexto ICR, o una definición de sucesos de entrada individual, utilice el campo Vía de acceso de secuencia de sucesos del editor de modelos de supervisión. Puede definir una expresión que hace referencia a cualquier constante, función o atributo de suceso. En los ejemplos siguientes se muestra esta definición:
UpdateClaim/extendedData/ClaimRequestNumber
OrderReceivedEvent/OrderDataEventPart/ord:orderNumber 
*/predefinedData/creationTime

El último ejemplo, que empieza por */, muestra cómo hacer referencia a atributos de suceso de entrada en expresiones de vía de acceso de secuencia de sucesos especificadas a nivel de contexto de supervisión o de contexto de ICR. Puesto que estas vías de acceso se deben utilizar con distintas definiciones de suceso de entrada, no pueden empezar con un ID de definición de suceso de entrada específico como los dos primeros ejemplos. Cuando se utiliza esta vía de acceso, el asterisco inicial (*) se sustituye por el ID de la definición de suceso de entrada actual. El resultado debe ser siempre una vía de acceso válida en el contexto de cada definición de suceso de entrada que la utiliza, como en este ejemplo. (Cada suceso de entrada contiene el atributo creationTime predefinido).

Uso de expresiones de correlación para agrupar sucesos por generador

La expresión de correlación proporciona un modo de identificar sucesos del mismo generador (como la misma instancia de proceso). Por ejemplo, Sue inicia una aplicación de entrada de pedidos. A medida que especifica los artículos de la línea de pedidos, el proceso de entrada de pedidos subyacente genera sucesos que se han de supervisar. Todos los sucesos creados en nombre del proceso de Sue tienen el mismo ID de instancia de proceso. Sin embargo, cuando Bill inicia una sesión en la misma aplicación de entrada de pedidos y entra sus artículos de línea, los sucesos generados en nombre de Bill tienen un ID de instancia diferente. El modelo de supervisión debe especificar en qué lugar de los sucesos se puede encontrar el ID de instancia de proceso.

Por regla general, la expresión de correlación utiliza una clave para identificar el generador de sucesos. Además de un ID de instancia de proceso, claves posibles son un identificador de transacción o un número de pedido. Para admitir la reordenación de sucesos, debe incluir una clave en el contexto de supervisión del nivel superior, y todos los sucesos de entrada que son candidatos para la reordenación de sucesos deben comparar esta clave con un atributo del suceso en sus expresiones de correlación.

De manera similar, si va a ejecutar el modelo de supervisión con varias hebras en un clúster, debe incluir una clave en el contexto de supervisión del nivel superior, y todos los sucesos de entrada que son candidatos para la reordenación de sucesos deben comparar esta clave con un atributo del suceso en sus expresiones de correlación. Consulte "Secuencias de sucesos" y "Estrategias de proceso" para obtener más información.