Plataforma de bajo código para reproducir fácilmente reglas de negocio

Las reglas son las reglas seguidas por la operación y las reglas de operación. Las reglas están en todas partes, y las reglas en las actividades sociales suelen estar formadas por la tradición y el conocimiento público, que se expresan en qué hacer o qué no hacer. En los sistemas de aplicaciones informáticas, a menudo nos enfrentamos a este tipo de escenarios: al procesar y ejecutar una acción, es necesario establecer otras condiciones al mismo tiempo. La lógica de este juicio condicional se abstrae en reglas y se aplica en grandes cantidades. Mediante la gestión y el uso de reglas, el sistema se puede gestionar y aplicar de forma flexible en escenarios que se han abstraído en reglas comerciales. En particular, utilizar las mismas reglas en múltiples escenarios puede garantizar la reducción de costos debido a la reutilización y lograr coherencia en la gestión empresarial.

La abstracción de reglas comerciales se ha convertido en un buen patrón de diseño, especialmente en la implementación de muchos sistemas comerciales a gran escala. Inevitablemente, ya sea que se trate de un desarrollo tradicional de alto código o de una implementación de bajo código, el desarrollo de aplicaciones enfrentará el problema del desarrollo y uso de reglas.

Este artículo tiene como objetivo discutir el procesamiento de reglas en actividades de desarrollo en modo de código bajo. La plataforma de soporte real en este artículo es la plataforma de desarrollo Haojing Lingxi.

abstracción de reglas de negocio

En la experiencia de comprar en línea, descubrí que al comprar un libro, a menudo no hay descuentos. Pero cuando el importe total del pedido cumple determinadas condiciones, podrás obtener un descuento, como 50 de descuento para pedidos superiores a 300, o envío gratis, regalos, etc. De hecho, existen diversos descuentos y beneficios al comprar no sólo libros, sino también otros artículos.

Sin embargo, en el proceso de implementación del sistema, si la lógica de promoción se desarrolla por separado para cada producto, será una gran carga de trabajo para los desarrolladores, porque los tipos y cantidades de productos en la plataforma de comercio electrónico son muy grandes.

De hecho, la mayoría de los comerciantes implementan actividades promocionales a través de medios como la cantidad de pedidos, la cantidad de productos o los atributos de productos especiales. Se puede resumir en una regla de promoción general: según los productos solicitados, se juzgan las condiciones preferenciales, se realiza el cálculo preferencial y finalmente se generan los resultados preferenciales. Los comerciantes solo necesitan configurar la estrategia de descuento del producto y el sistema puede calcular automáticamente la lógica para realizar diferentes escenarios de promoción.

imagen

En el sistema, la lógica para implementar las reglas anteriores es la siguiente:

En primer lugar, los datos que deben considerarse incluyen la información del producto solicitada por el usuario y la información de la estrategia de descuento del producto establecida por el comerciante. Estos datos se utilizarán en la implementación lógica de las reglas.

En segundo lugar, el proceso de juicio lógico incluye los siguientes pasos:

  • Determinar si existe una política preferencial. La información del producto se utiliza como parámetro de entrada de la regla para determinar si el producto tiene una política preferencial configurada.

  • Determinar si se establecen las condiciones preferenciales. Según la información del producto solicitado y la estrategia de descuento configurada por el comerciante, calcule si se cumplen las condiciones para el descuento.

  • Cálculo de descuento. Según el método de descuento configurado se realiza el cálculo de descuento, cálculo de regalo o cálculo de envío gratuito, etc.

  • Genere el resultado del descuento. Los resultados preferenciales calculados por las reglas se envían al sistema empresarial para completar el ajuste de los precios de las materias primas.

A continuación, presentaremos cómo configurar las reglas anteriores mediante código bajo.

Configuración de reglas de negocio

En código bajo, el desarrollo de configuraciones de reglas complejas se basa principalmente en una interfaz de configuración gráfica intuitiva, en forma de "parámetro de entrada + componente + parámetro de salida", mediante simples operaciones de arrastrar y soltar y de configuración, para realizar la configuración de datos de reglas, lógica. configuración y retroalimentación de resultados.

imagen

La configuración de parámetros del primer paso  incluye los siguientes aspectos:

Datos de parámetros de entrada: a través de la función de visualización, los usuarios pueden definir los datos de parámetros de entrada de la regla.

Se puede ver en el caso que el parámetro de entrada de la regla es la lista de productos pedidos, por lo que la configuración de parámetros se realiza en forma de formulario y admite la visualización en forma de árbol de estructura y admite diferentes formas de Configuración de parámetros como atributos, objetos y matrices. Una mejor práctica.

Datos de la aplicación: Es posible que sea necesario utilizar los datos comerciales de la aplicación en las reglas. Por lo tanto, en el proceso de desarrollo de reglas, es necesario soportar servicios SQL integrados, servicios de orquestación, servicios de operación de objetos, etc. para obtener datos y poder combinar estos datos con los componentes lógicos de las reglas para su aplicación.

En este caso, la información de la política preferencial de productos básicos pertenece a los datos configurados por el comerciante en el sistema. En la plataforma de desarrollo Haojing Lingxi, es muy sencillo obtener datos internos durante la disposición de la lógica de reglas, porque tiene un motor de objetos incorporado que encapsula varios componentes de operación de objetos y solo necesita seleccionar objetos, acciones y condiciones para completar fácilmente. la operación de datos, como se muestra en la siguiente figura:

imagen

Además de los datos de entrada y los parámetros de la aplicación, la implementación de muchas reglas también implica datos externos y variables del sistema.

  • Datos externos: se refiere a los datos que no están en esta aplicación y deben obtenerse a través de la interfaz. Esto debe respaldar la integración visual de interfaces externas, el acceso a datos y operaciones.
  • Variables del sistema: las variables del sistema, como la información de inicio de sesión y la información del entorno, también son datos indispensables en los juicios lógicos. Por lo tanto, también es una función esencial para apoyar el funcionamiento de estas variables de forma visual.

Paso 2 : Configuración lógica

La forma en que se implementa la lógica en plataformas low-code es mediante una combinación de datos y acciones. Para diversos requisitos lógicos, se deben proporcionar configuraciones de varios componentes lógicos, incluidos:

Comparación : durante el proceso de configuración de la lógica de reglas, admite la comparación de cadenas, datos, atributos, objetos y matrices para realizar la definición de condiciones de reglas. Por ejemplo, para determinar si dos cadenas son iguales, comparar el tamaño de los datos, determinar si un atributo existe en un objeto o determinar si una matriz contiene un determinado elemento, etc.

Cálculo : proporciona configuración de varias funciones de cálculo, como cálculo de datos, cálculo de longitud de caracteres o matrices, etc.

Control de proceso : la ruta de ejecución del programa se puede configurar de acuerdo con las condiciones de juicio, como bucle, salto, bifurcación, salida, etc.

Composición de componentes : la concatenación se puede lograr definiendo el orden en que se ejecutan los componentes, lo que permite la composición de los componentes.

Para obtener la información de la política preferencial configurada por el comerciante, determinar si existe una política preferencial para el producto y realizar el proceso de cálculo de descuento, solo necesita configurar el "componente de datos" para poder obtener información de la política preferencial del producto, el " componente de comparación" para determinar si existe una política preferencial y el "componente de cálculo" "Al realizar cálculos de descuento, puede completar fácilmente la disposición de la lógica de reglas.

imagen

Paso tres : retroalimentación sobre los resultados

En el proceso de configuración, los parámetros de retorno de las reglas se configuran de forma explícita, lo que facilita el desarrollo y la comprensión de las reglas.

Paso cuatro : verificación de prueba

Durante la depuración, los nodos ejecutados se resaltan para formar un diagrama de circuito de ejecución. El tiempo de ejecución, la duración, los parámetros de entrada, los parámetros de salida y el estado de ejecución de cada nodo se muestran de acuerdo con el orden de ejecución, lo que proporciona un muy buen medio para solucionar problemas durante el proceso de ejecución de reglas.

imagen

Lo anterior es el proceso de configuración de reglas, a continuación, continuaremos presentando el uso de reglas.

uso de reglas de negocio

En muchos escenarios, el sistema empresarial debe aprobar varias reglas para completar la verificación empresarial completa. Tomando como ejemplo el escenario de pedido de productos básicos, la verificación comercial se realiza antes de enviar el pedido y puede haber cientos de reglas de verificación. Por lo tanto, para implementar mejor la convocatoria abierta de reglas, es necesario encapsular las reglas en la dimensión de eventos de reglas y, al mismo tiempo, admitir la integración de aplicaciones tradicionales y aplicaciones de código bajo.

imagen

En primer lugar, la configuración del evento, el evento se refiere al momento o acción de las reglas de llamada del sistema empresarial, que se utiliza para explicar y distinguir los puntos enterrados del sistema empresarial en diferentes códigos y al mismo tiempo estandarizar los requisitos de parámetros del puntos enterrados. La configuración de eventos completa principalmente dos operaciones:

  1. Definición de especificación de parámetros: de acuerdo con los requisitos del sistema empresarial, personalice la especificación de parámetros del punto integrado para adaptarse a cada sistema empresarial. Todas las reglas del mismo evento siguen una especificación de parámetros unificada.
  2. Orquestación de políticas para la ejecución de reglas: admite la orquestación del orden de ejecución y las políticas de reglas en eventos, incluidas diferentes políticas como condicional, serial y paralela.

En segundo lugar, la integración de reglas. Según las diferentes aplicaciones, existen dos formas de integración de reglas:

  1. Método API: para aplicaciones tradicionales, es necesario incrustar puntos en el código del sistema para realizar la llamada de eventos de reglas.
  2. Método de nodo de servicio: para aplicaciones de código bajo, la lógica empresarial se implementa principalmente a través de servicios de orquestación. Por lo tanto, en el servicio de orquestación, es necesario respaldar la vinculación del servicio de eventos a través del componente "evento" para realizar la invocación de reglas.

imagen

Gestión de reglas de negocio

Además del desarrollo de la configuración de reglas y el uso abierto, la administración de reglas también incluye la publicación de reglas y en línea, la generación de reglas y la administración de fallas, y el análisis de registros de reglas.

Lanzamiento y lanzamiento : diferentes implementaciones de código bajo tienen diferentes formas de guardar reglas y generalmente se guardan en forma de archivos compilados, como Java, PHP o usando scripts Python y Groovy. La plataforma Lingxi opta por almacenar datos en forma de datos. Al publicar reglas, solo necesita exportar los datos de las reglas y luego importar los datos en el entorno en ejecución para realizar la publicación de las reglas, sin la necesidad de operaciones complejas como la implementación del entorno o la compilación y construcción de código. Este método simplifica el proceso de publicación de reglas y mejora la eficiencia del desarrollo.

Gestión de nacimiento/fracaso : en el diseño de la regla, puede establecer el tiempo de vigencia y el tiempo de vencimiento de la regla, y la regla solo entrará en vigor dentro del período de tiempo especificado. Esta característica es muy útil para reglas estacionales o reglas de promoción por tiempo limitado para evitar que las reglas sigan aplicándose después de su vencimiento, evitando así conflictos y problemas innecesarios. Al mismo tiempo, la gestión del estado de generación/fallo de reglas también es muy importante. Mediante el control del estado de las reglas, el ajuste y la toma de decisiones de las reglas se pueden realizar a tiempo de acuerdo con los requisitos del negocio.

Registros de reglas : los registros tienen dos partes importantes en la gestión de reglas. En primer lugar, el registro de operaciones registra operaciones como ajustes lógicos a las reglas y cambios de estado, lo que facilita el seguimiento de los problemas. En segundo lugar, el registro de operaciones registra los parámetros de entrada, los resultados de salida, el tiempo de ejecución, las causas anormales y que requieren mucho tiempo de la ejecución de la regla, lo que es útil para localizar y resolver problemas rápidamente.

Además de admitir funciones de administración, uso y desarrollo de reglas visuales y gráficas, también debemos centrarnos en la eficiencia y la flexibilidad de la configuración:

0 1  problema de eficiencia de configuración

En el proceso de configuración de reglas, los objetos de parámetros de diferente complejidad conducirán a una menor eficiencia de configuración. Cuando se encuentran escenarios de desarrollo de múltiples reglas, el problema de eficiencia se vuelve más prominente. Por lo tanto, necesitamos mejorar las capacidades propias de la herramienta para abordar problemas de eficiencia mediante la generación automática, el valor predeterminado, la operación con un solo clic, el procesamiento por lotes, etc.:

Generar parámetros automáticamente : en el evento, agregue una entrada para la creación de reglas. Al crear una regla, genere automáticamente los parámetros de la regla a través de la especificación de parámetros del evento y permita que los parámetros se adapten.

Asignación automática de parámetros : realice la función de asignación automática de parámetros en el proceso de disposición de reglas. Al agregar un nodo de evento a la orquestación de servicios, o al agregar una regla a un evento, puede hacer coincidir automáticamente el contexto y asignar valores según el nombre del parámetro.

Parámetros de generación de mensajes con un clic : Al configurar parámetros para eventos y reglas, admite la configuración de parámetros de generación de mensajes con un solo clic. En el proceso de desarrollo tradicional, las eficientes Ctrl + C y Ctrl + V se pueden aplicar bien.

Agregar reglas en lotes : agregue un componente de reglas por lotes en la organización del evento, en el que se pueden seleccionar varias reglas en lotes para agregarlas al evento. La política de ejecución de reglas se puede definir en el grupo, como serie o paralelo. Esto no solo simplifica el lienzo de orquestación de eventos, sino que también mejora la eficiencia al agregar reglas.

Aumente la vista de operación y mantenimiento : agregue la vista de reglas de asociación en el evento y agregue la vista de eventos asociados en el diseñador de reglas, para que pueda evaluar claramente el alcance de la influencia al ajustar las reglas.

0 2  Problemas de flexibilidad de configuración

A diferencia de los motores de reglas tradicionales, la estrategia de ejecución de reglas de la plataforma de código bajo se implementa mediante la orquestación de eventos. Durante el proceso de ejecución, se encontrarán problemas como la fusión de todos los resultados de la ejecución de reglas y la interdependencia y el intercambio de parámetros en el mismo evento. Por lo tanto, es técnicamente necesario admitir el cálculo resumido de los resultados de las reglas, admitir el bus de datos a nivel de evento y realizar el intercambio y la transmisión de datos.

imagen

Agregar componente de cálculo de resultados de reglas . Cada vez que se agrega o elimina una regla, los parámetros de resultado y retorno de la regla se registrarán automáticamente en el componente. El componente admite la estrategia de establecer la devolución del resultado, por ejemplo: devolución exitosa cuando todas las reglas se verifican exitosamente, o devolución exitosa siempre que una de ellas tenga éxito.

Introducir el bus de datos dataBus a nivel de evento . El bus de datos se inicializa en el enlace de inicio del evento y el espacio de almacenamiento de datos se destruye una vez finalizado el evento. Durante este proceso, cada regla puede escribir y leer datos del resumen de datos.

Para el desarrollo de reglas comerciales complejas, la plataforma de desarrollo Haojing Lingxi proporciona herramientas de desarrollo muy convenientes, que se utilizan en una gran cantidad de proyectos. A través de la plataforma de desarrollo Haojing Lingxi, los desarrolladores pueden completar fácilmente la configuración de reglas, realizar realmente la gestión visual y el desarrollo gráfico de las reglas comerciales, mejorar en gran medida la eficiencia del desarrollo y lograr una publicación en tiempo real muy flexible. En el futuro, continuará combinándose con tecnología de modelos a gran escala para lograr avances tecnológicos como una gestión de reglas comerciales más inteligente y soporte de decisiones, verificación y corrección automatizadas de reglas y la combinación de ejecución y monitoreo de reglas comerciales. esperado.

Supongo que te gusta

Origin blog.csdn.net/whalecloud/article/details/132289722
Recomendado
Clasificación