Crea una clase de mensaje fuente

En esta guía, se describe cómo crear una clase de mensaje fuente para Manufacturing Data Engine (MDE).

Modelado de la clase de mensaje fuente

Las clases de mensajes fuente deben definirse para capturar un conjunto de mensajes fuente que comparten una estructura común.

Cuanto más específicas diseñes tus clases de mensajes fuente, menos instrucciones condicionales deberás escribir en tus secuencias de comandos de Whistle para controlar las diferencias de esquema entre los distintos mensajes fuente. Sin embargo, crear clases de mensajes fuente más específicas requiere más analizadores.

Por lo tanto, modelar las clases de mensajes fuente implica encontrar el equilibrio adecuado entre, por un lado, tener clases de mensajes fuente con esquemas de mensajes uniformes y, por otro lado, la cantidad de analizadores que necesitas administrar.

Creación de la clase de mensaje fuente

En esta sección, se describe el proceso para crear una clase de mensaje fuente con llamadas a la API o la interfaz de la consola.

REST

POST /configuration/v1/message-classes

{
  "name": "MESSAGE_CLASS_NAME",
  "MESSAGE_CLASS_NAME": "PRIORITY",
  "expression": "SPEL_EXPRESSION"
}

Reemplaza lo siguiente:

  • MESSAGE_CLASS_NAME: Es el nombre de la clase de mensaje que se creará.
  • PRIORITY: Es la prioridad de la clase de mensaje. La prioridad de una clase de mensaje es un número entero del 0 al 65535 , inclusive. Los números enteros más bajos indican prioridades más altas.
  • SPEL_EXPRESSION: Es la expresión SpEL que define la clase de mensaje. Por ejemplo, #root.event['value'] instanceof T(Number)

Console

  1. Abre la sección "CLASES DE MENSAJES" de la IU para crear una Clase de mensaje fuente. En esta sección de la IU, se muestra una lista de todas las clases de mensajes disponibles:

    Clases de mensajes: Listado de mensajes

    Para cada clase de mensaje, se muestran los siguientes parámetros en la lista:

    • Nombre de la clase de mensaje: Es el nombre de la clase de mensaje. Debe ser único.
    • Expresión de clase de mensaje: Es la expresión SpEL real asociada a la clase de mensaje.
    • Prioridad: Es la prioridad de la clase de mensaje (los números más bajos representan prioridades más altas).
    • Habilitado: Es el estado de las clases de mensajes. Las clases de mensajes inhabilitadas no formarán parte de la transferencia.
    • Acciones: Un botón contextual que proporciona acceso a las funciones "Ver/Editar" y "Habilitar / Inhabilitar" para la clase de mensaje seleccionada.
  2. Para agregar una nueva Clase de mensaje, haz clic en el botón "AGREGAR CLASE DE MENSAJE NUEVA" en la parte superior. Se mostrará un nuevo menú lateral que contiene todos los parámetros de Clase de mensaje obligatorios que se deben proporcionar:

    Clases de mensajes: Create New Message Class

    • Nombre de la clase de mensaje: Es una cadena única que define la clase de mensaje.
    • Message Class Expression: Se refiere a la expresión SpEL que define la clase de mensaje.
    • Prioridad: Define la prioridad asociada a la clase de mensaje. La prioridad de una clase de mensaje es un número entero del 0 al 65535 , inclusive. Los números enteros más bajos indican prioridades más altas. Si un mensaje valida la expresión de 2 clases de mensajes, solo se activará la que tenga el valor de prioridad más bajo.
  3. Para crear una nueva Clase de mensaje, completa el campo Expresión de clase de mensaje con una expresión SpEL válida y establece la prioridad.

  4. Haz clic en el botón "CREAR" para guardar los cambios. Si la nueva clase de mensaje se crea correctamente, se mostrará un mensaje de confirmación.

Cómo probar una expresión de clase de mensaje fuente

Puedes experimentar y probar tus expresiones de clase de mensaje fuente antes de crear una clase de mensaje fuente.

REST

POST /configuration/v1/message-classes:test

{
  "expression": "SPEL_EXPRESSION",
  "testMessage": "TEST_MESSAGE"
}

Reemplaza lo siguiente:

  • SPEL_EXPRESSION: Es la expresión SpEL que define la clase de mensaje.
  • TEST_MESSAGE: Es el objeto del mensaje fuente de la prueba.

El objeto de devolución te informa si la expresión proporcionada es sintácticamente correcta y si se evaluaría como true o false para el mensaje proporcionado.

Console

La IU proporciona la opción de probar la expresión SpEL de la nueva clase de mensaje con un mensaje de prueba.

  1. Completa el cuadro "Mensaje de prueba" con el mensaje de ejemplo JSON.
  2. Haz clic en 'EJECUTAR PRUEBA' para ejecutar la validación. El resultado de la prueba es "Coincide" o "No coincide", y una breve explicación de los criterios de coincidencia.

Clases de mensajes: Clase de mensaje de prueba

Cómo evaluar un mensaje de prueba en relación con todas las clases de mensajes activas

Puedes evaluar un mensaje para determinar en qué clase de mensaje fuente se incluiría un mensaje de prueba para un conjunto de clases de mensaje fuente activas.

REST

POST /configuration/v1/message-classes:evaluate

{
  "testMessage": "TEST_MESSAGE"
}

Reemplaza lo siguiente:

  • TEST_MESSAGE con el objeto del mensaje fuente de prueba

El objeto de devolución te informa qué clase de mensaje fuente coincidió con el mensaje proporcionado, si hubo alguna coincidencia.