Necesito algunos consejos sobre el mejor enfoque para resolver este problema.Necesito un motor de reglas simple, creo?
Investigué DROOLS, Java Rule Engine y algunos otros. Todos estos son poderosos y tienen cosas buenas sobre ellos. No sé cuál (si alguna) será la mejor opción para mí.
Tengo un objetivo comercial. (Simplificado para la demostración)
Person
firstName:String
lastName:String
departMent:String
hireDate:Date
necesito escribir un editor en una aplicación web que permitirá a reglas complejas para ser construidos en torno a estos campos. Necesito admitir lógica AND/OR compleja anidada. Solo necesito operadores básicos, y la regla debería simplemente evaluar a verdadero o falso. Si la regla se evalúa como verdadera o falsa, se producirá una acción, respectivamente.
Por ejemplo,
primerNombre contiene "valor" y (lastName es igual a "entrada" o departamento contiene "entrada")
lo que había pensado, tal vez yo debería escribir mi propio analizador y evaluar la lógica en mi propio código. No sé qué hacer, cualquier consejo o enlace a algo para leer sería muy apreciado. ¿Hay algún patrón de diseño específico que pueda investigar?
¿Cómo resolvería este problema? Una de las dudas sobre los motores de reglas es que tal vez son demasiado complejos para un simple problema.
Ahh, necesito un lenguaje de expresión. Voy con http://mvel.codehaus.org/Home – Andy
Hola, ¿has probado easyrules.org? Puede ayudarlo a implementar lo que está buscando. Espero que esto ayude. Saludos cordiales –