Drools es un sistema de gestión de reglas comerciales (BRMS) con un motor de reglas basado en inferencia de encadenamiento hacia adelante y hacia atrás , más correctamente conocido como sistema de reglas de producción , que utiliza una implementación mejorada del algoritmo Rete .
Desarrollador (es) | sombrero rojo |
---|---|
Lanzamiento estable | 7.38.0 Final / 28 de mayo de 2020 [1] |
Repositorio | |
Escrito en | Java |
Sistema operativo | Multiplataforma |
Tipo | Motor de reglas |
Licencia | ASL 2 |
Sitio web | www |
Drools es compatible con el estándar Java Rules Engine API (Java Specification Request 94) para su motor de reglas comerciales y marco empresarial para la construcción, mantenimiento y aplicación de políticas comerciales en una organización, aplicación o servicio.
Gerente de decisiones de Red Hat
Red Hat Decision Manager (anteriormente Red Hat JBoss BRMS [2] ) es un sistema de administración de reglas de negocios y un motor de razonamiento para el desarrollo de reglas y políticas comerciales, el acceso y la administración de cambios. [3] JBoss Enterprise BRMS es una versión productiva de Drools con soporte de nivel empresarial disponible. JBoss Rules también es una versión producida de Drools, pero JBoss Enterprise BRMS es el producto estrella. [4]
Componentes de la versión empresarial: [5]
- Plataforma web empresarial JBoss : la infraestructura de software, compatible para ejecutar solo los componentes BRMS
- Plataforma de aplicaciones empresariales JBoss o plataforma SOA empresarial JBoss : la infraestructura de software, compatible para ejecutar solo los componentes BRMS
- Motor de reglas de negocio - Experto en Drools usando el algoritmo Rete y el Lenguaje de reglas Drools (DRL) [6]
- Business Rules Manager - Drools Guvnor - Guvnor es un repositorio centralizado para las bases de conocimiento de Drools, con GUI, editores y herramientas enriquecidas basadas en web para ayudar en la gestión de un gran número de reglas. [7]
- Repositorio de reglas comerciales - Drools Guvnor
Drools y Guvnor son proyectos de código abierto de JBoss Community. A medida que maduran, se incorporan al producto JBoss Enterprise BRMS listo para la empresa.
Componentes de la versión de JBoss Community: [8]
- Drools Guvnor (Administrador de reglas comerciales): un repositorio centralizado para las bases de conocimiento de Drools
- Experto en Drools (motor de reglas): usa las reglas para realizar el razonamiento
- Drools Flow (proceso / flujo de trabajo), o jBPM 5 : proporciona flujo de trabajo y procesos comerciales
- Drools Fusion (procesamiento de eventos / razonamiento temporal): proporciona un procesamiento de eventos complejo
- Drools Planner / OptaPlanner (planificación automatizada): optimiza la planificación automatizada, incluidos los problemas de planificación NP-hard
Ejemplo
Este ejemplo [9] ilustra una regla simple para imprimir información sobre un feriado en julio. Comprueba una condición en una instancia de la Holiday
clase y ejecuta código Java si esa condición es verdadera.
regla "validar vacaciones" dialecto "mvel" dialecto "java" cuando $ h1 : vacaciones ( mes == "julio" ) y luego System . fuera . println ( $ h1 . nombre + ":" + $ h1 . mes ); final
El propósito del dialecto " mvel
" es señalar el captador y definidor de las variables de las clases de Plain Old Java Object (POJO). Considere el ejemplo anterior, en el que Holiday
se usa una clase y dentro de los corchetes circulares (paréntesis) month
se usa " ". Entonces, con el dialecto de ayuda mvel
" month
" se puede acceder al getter y setters de la variable " ".
El dialecto " java
" se usa para ayudarnos a escribir nuestro código Java en nuestras reglas. Hay una restricción o característica en esto. No podemos usar código Java dentro de la parte "cuando" de la regla, pero podemos usar código Java en la parte "entonces".
También podemos declarar una variable de referencia $h1
sin el $
símbolo. No hay ninguna restricción sobre esto. El propósito principal de poner el $
símbolo antes de la variable es marcar la diferencia entre las variables de las clases POJO y las Reglas.
Ver también
Referencias
- ^ "Babea - Lanzamientos" . Consultado el 4 de junio de 2020 .
- ^ "JBoss Enterprise BRMS" . Red Hat .
- ^ "JBoss Enterprise BRMS" . Red Hat .
- ^ "JBoss Enterprise BRMS: Respuestas a preguntas frecuentes" (PDF) . Comunidad JBoss.
- ^ "Plataforma JBoss Enterprise BRMS 5.1" . Red Hat . Archivado desde el original el 18 de marzo de 2011.
- ^ "Hoja de datos de JBoss Enterprise BRMS" (PDF) . Red Hat . pag. 4.
- ^ http://www.jboss.org/drools/drools-guvnor
- ^ "Drools 5 - La plataforma de integración de la lógica empresarial" . Comunidad JBoss.
- ^ http://downloads.jboss.com/drools/docs/5.1.1.34858.FINAL/drools-expert/html_single/index.html#d0e2676 [ enlace muerto permanente ]
enlaces externos
- Página web oficial