Sunday, June 8, 2014

Rule Engines - Software tomando decisiones

Piensa cómo tomas las decisiones en tu vida. Cuáles criterios usas para seleccionar tú trabajo, mascotas, casa o una escuela para tus niños. Tú sabes que algunas decisiones son más importantes que otras, el resto de tu vida puede depender de algunas de ellas. No pases por alto las decisiones clave.
¿Te gustaría tener la información para tomar mejores decisiones? Las decisiones están basadas en hechos y la experiencia previa. ¿Existen algunas reglas que pueden guiarte para tener lo que quieres?

Automatizando decisiones


Un sistema puede tener la capacidad para tomar decisiones usando su conocimiento base. Su base de conocimiento es nada más que condiciones y acciones. Si las condiciones son cumplidas, entonces el sistema decide acciones a tomar
Por otra parte, las condiciones y acciones no son seleccionadas aleatoriamente, hay expertos en un dominio específico que tienen el conocimiento para recomendar la mejor decisión dependiendo de los hechos que se han cumplido. Un sistema, además tiene la capacidad de automatizar las decisiones, los expertos solamente determinan en qué condiciones la compañía tiene que tomar las acciones. En otras palabras, si las condiciones son ciertas, las acciones son ejecutadas..

Motor de reglas


El Rule Engine es quién examina las reglas con el Inference Engine, es decir, es un Software que ayuda a administrar las reglas del sistema.
El Rule Engine es código que trabaja separado del código de implementación y tiene la posibilidad de cambiar sin tener que pedir ayuda a los programadores. Los expertos del dominio pueden adherir nuevas reglas y hacer los cambios cuando quieran.
Un Rule Engine estándar puede incluir: un Business Rule Repository que es una base de datos para almacenar las reglas del negocio, un Rule Engine Execution Code que tiene el actual código programado para reforzar las reglas y un Business Rule Editor que es una interfaz de usuario intuitiva para definir, editar, documentar y diseñar reglas.

Usuarios del negocio pueden definir las reglas


Con verbalizaciones, los usuarios pueden definir las reglas usando su propio lenguaje. Naturalmente, ellos definen las condiciones y acciones a tomar sin cambiar el código del programa, separando el trabajo del programador y las definiciones de los analistas del negocio.
Verbalizaciones pueden ser soportadas por diferentes sentencias, muchas de ellas pueden significar lo mismo, enfocándose en la expresividad, claridad y formalidad.

Variedades de Rule Engines

Hay muchos tipos de motor de reglas, esos pueden tener reglas de inferencia u otros tipos, usar código Java, C++, u otros, ser Open Source o no. Algunos de ellos tienen características adicionales como arboles de decisión, flujos de reglas, versionamiento de despliegues, simulaciones, reportes, etc.


El Rule Engine te ayuda a decidir "qué hacer", pero no "cómo hacerlo", así separa los objetos del dominio con la lógica que está en las reglas, minimizando los cambios futuros. También provee una aplicación con buenos diseños cuando es usado adecuadamente.

No comments:

Post a Comment