Para entender mejor acerca de Motor de Reglas de Negocio, partimos de la definición de Reglas de negocio: Las Reglas del Negocio (en inglés, Business Rules ) describen las políticas, normas, operaciones, definiciones y restricciones presentes en una organización y que son de vital importancia para alcanzar los objetivos misionales. Las organizaciones funcionan siguiendo múltiples reglas de negocio, explícitas o tácitas, que están embebidas * en procesos, aplicaciones informáticas, documentos, etc. Pueden residir en la cabeza de algunas personas o en el código fuente de programas informáticos. Las reglas de negocios son dinámicas, están sujetas a cambios en el tiempo y pueden encontrarse en todo tipo de aplicaciones: Finanzas y seguros, negocio electrónico, transporte, telecomunicaciones, servicios basados en Web y personalización son sólo algunos de los muchos ámbitos de negocio que controlan las reglas de negocios. Entonces … ¿Qué es un motor de reglas de negocio?
El Motor de Reglas de Negocio es un componente que, a partir de una información inicial y un conjunto de reglas, detecta qué reglas deben aplicarse en un instante determinado y cuáles son los resultados de esas reglas. En su forma más simple, un motor de reglas de negocios está constituido de tres elementos: un conjunto de reglas, la base de conocimientos (conocida como área de trabajo) y el procesador de reglas. El motor utilizará la base de conocimientos para decidir que reglas deben activarse. El criterio de decisión para la utilización de un motor de reglas podría ser:
La complejidad moderada o alta de las reglas de negocio. Las reglas de negocio no son estáticas y se prevé que cambien continuamente. Como herramienta de simulación y pruebas de concepto. Como parte de la metodología para recopilar, documentar y mantener las reglas.
* EMBEBIDOS: En EMBEBIDOS: En términos sistémicos son dispositivos usados para controlar equipos, operación de maquinarias o plantas industriales completas, está caracterizando porque que esos circuitos integrados son una parte integral del sistema en que se encuentran. Lo interesante de que un sistema sea “embebido” es que puede estar de tal forma incrustado, puede quedar tan oculto a nuestros ojos, que la presencia de tales “chips” no resulte nada obvia a quien lo mira. Fuentes:
http://www.daedalus.es/que-tecnologias-nos-diferencian/inteligencia-de-negocio/reglas-denegocio/ http://capacitacionjava.blogspot.com/2010/09/motores-de-regla-open-source-en-java.html http://dsolis.wordpress.com/2009/06/18/%C2%BFcuando-utilizar-un-motor-de-reglas/
Caso: DAEDALUS - DATA, DECISIONS AND LANGUAGE, S. A. Daedalus es una empresa constituida en 1998 por un grupo de especialistas en la investigación, el desarrollo, la innovación y la transferencia de tecnología en el sector de l as Tecnologías de la Información y de las Comunicaciones (TIC). Nuestra actividad se centra en torno a las tecnologías de búsqueda, para facilitar a los usuarios un acceso preciso, rápido y eficiente a la información que necesita, las tecnologías del lenguaje, que permiten comprobar de forma automática la calidad lingüística de textos y la gestión avanzada del conocimiento (inteligencia de negocio o business intelligence ), es decir, la realización eficiente de todas las actividades relacionadas con la generación, extracción, organización, análisis, compartición y distribución del conocimiento de una organización a fin de mejorar su eficiencia, haciendo uso para ello de las tecnologías más apropiadas. La misión de Daedalus es ayudar a sus c lientes a mejorar sus procesos de negocio. Aportamos para ello:
Conocimiento del entorno tecnológico en el que se mueven nuestros clientes
Comprensión de su negocio
Tecnología propia o de terceros
Nuestro objetivo es contribuir a una mayor implantación de las TIC en todos los sectores. Para ello ofrecemos un servicio integral que incluye consultoría, asesoramiento, productos, ingeniería y formación.
K-Site Rules K-Site Rules es un Sistema de Gestión de Reglas de Negocio (BRMS) desarrollado por Daedalus en el marco del proyecto de I+D ITECBAN en colaboración con Indra y la Universidad Politécnica de Madrid.
Objetivos Los objetivos principales de K-Site Rules son:
Controlar y dar visibilidad de las decisiones del negocio por parte del analista de negocio Identificar las Reglas de Negocio con el fin de darles un correcto tratamiento Optimizar la ejecución de Reglas de Negocio m ediante motores de reglas específicos
Ventajas
Es integrable en el Ciclo de vida d e Desarrollo de las Aplicaciones y en la Herramienta de Modelado Utiliza un lenguaje estándar para representar reglas ( RIF)
Características Las características avanzadas de K-Site Rules permiten:
Integración en el ciclo de vida de desarrollo de aplicaciones Integración con Eclipse 3.2 para los desarrolladores o o Interfaz web para el analista de negocio o Interfaz web para el administrador Independencia del motor de reglas empleado para implementar las Reglas de Negocio o El proceso de diseño de las Reglas de Negocio es in dependiente del motor de reglas utilizado para implementarlas Soporte para distintos perfiles de usuarios, desarrolladores y analistas de negocio o Los usuarios con conocimiento de negocio y sin conocimientos técnicos pueden, de manera sencilla, crear, validar y poner en pr oducción Reglas de Negocio Reutilización de Reglas de Negocio y sus componentes o El repositorio permite la reutilización de rulesets y reglas atómicas en distintas Reglas de Negocio o Facilidades de búsqueda para localización de reglas Auditoría de las Reglas de Negocio desarrolladas o Seguimiento del historial de cambios efectuados en las Reglas de Negocio y versiones producidas Simplicidad para la validación de reglas o Tanto los desarrolladores como los analistas de negocio pueden comprobar el correcto funcionamiento de las Reglas de Negocio sin necesidad de generar código
K-Site Rules está financiado por el CDTI (Ministerio de Ciencia e Innovación) a través del Programa CENIT. Si desea más información acerca de K-Site Rules, puede acceder a esta presentación (MK-2009-43ITECBAN-09_ES) o descargarse el white paper de referencia (MK-2008-25-ITECBAN). Por supuesto, también estamos a su disposición para resolver cualquier duda que pueda tener.
http://www.daedalus.es/quienes-somos/ Video; http://www.kewego.es/video/iLyROoafMrvJ.html.
Drools
Drools es un motor de reglas orientado a objetos para Java. Drools es una implementación del algoritmo Rete de Forgy, a medida para el lenguaje Java. La adaptación de Rete a una interfaz orientada a objetos permite una mayor expresión natural de reglas de negocio en lo que respecta a los objetos de negocio. Más importante aún, Drools establece la lógica de programación declarativa y es lo suficientemente flexible como para que coincida con la semántica de su dominio del problema. Las diversas partes que componen una regla podrá ser prorrogado a prestar el sentido específico de dominio a la regla.
JESS
Jess ® es un motor de reglas para la plataforma Java - es un superconjunto del lenguaje de programación CLIPS, desarrollado por Ernest Friedman-Hill de Sandia National Labs. Fue escrito por primera vez en finales de 1995. Ofrece programación basado en normas adecuadas para la automatización de un sistema experto, y se refiere a menudo como un shell de sistema experto. En los últimos años, los sistemas de agentes inteligentes también han sido desarrollado, que dependen de una capacidad similar. En lugar de un paradigma de procedimiento, en un solo programa tiene un bucle que se activa una sola vez, el paradigma declarativo utilizado por Jess aplica continuamente una colección de reglas a un conjunto de hechos mediante un proceso llamado "coincidencia de patrones". Las reglas se pueden modificar la colección de hechos, o que pueden ejecutar cualquier código Java. Jess se puede utilizar para construir servlets Java, EJB, applets y aplicaciones completas que utilizan el conocimiento en forma de reglas declarativas para sacar conclusiones y hacer inferencias. Dado que muchas de las normas puede coincidir con muchas entradas, son pocos los algoritmos eficaces de uso general correspondiente. El motor de reglas de Jess utiliza el algoritmo Rete. Es OpenSource como licencia para estudiantes, como producto comercial es pago.
OpenRules
OpenRules es Business Rules Management Framework de gran escala y OpenSource. Se utiliza eficientemente el poder de MS Excel, Eclipse IDE y bibliotecas de código abierto de Java para crear, implementar, ejecutar y mantener los motores de diferentes reglas de negocio complejas con la lógica controlada por los analistas de negocio.
Mandarax
Mandarax es una biblioteca de clases Java de código abierto para generar reglas de deducción. Se proporciona una infraestructura para la definición, gestión y consulta de bases de reglas.
SweetRules
SweetRules es un conjunto integrado de herramientas de gran alcance únicamente de las normas web semántica y ontologías, que gira alrededor de la RuleML (Regla de marcado / Modeling Language), estándar emergente de las normas web semántica, y apoyar también la estrecha relación SWRL (Web Semántica artículo Language), junto con la norma de OWL para ontologías web semántica, que a su vez el uso de XML y, opcionalmente, RDF. (Reglas SWRL son esencialmente un subconjunto expresiva de las normas RuleML.) SweetRules apoya a los poderosos Situado Cortés lógica extensión de los programas de RuleML, incluyendo el m anejo de los conflictos de prioridades y accesorios de procedimiento para las acciones y pruebas. capacidades SweetRules 'incluyen la semántica de preservación de la traducción y la interoperabilidad entre una variedad de lenguajes de reglas y la ontología (incluyendo XSB Prolog, las reglas de producción Jess, HP Jena-2, y CommonRules IBM), altamente escalable hacia atrás y hacia adelante inferencia, y la fusión de bases de reglas / ontologías . accesorios de procedimiento, incluso puede ser WSDL Servicios Web. enchufabilidad SweetRules y capacidades de composición permiten que los componentes nuevos que se añadirán con relativa rapidez. Implementado en Java, SweetRules tiene un código base compacta (~ 40K del total de líneas de código para las herramientas de varias decenas). El proyecto SweetRules es un esfuerzo internacional, multi-institucional, su origen y coordinado por el grupo en el MIT Sloan SweetRules dirigido por Benjamin Grosof, y su creación fue financiada en gran parte por el programa de investigación DAML (DARPA Agente Markup Language) que co-fue pionero en la semántica Web. DULCE ("Web Semántica Activación de la tecnología") es un conjunto global de herramientas que el Grupo de Benjamin Grosof (con colaboradores) se ha venido desarrollando desde el año 2001. Otros componentes que incluyen el enfoque SweetDeal la contratación electrónica del sistema y el prototipo, y el sistema SweetPH de ontologías de procesos de negocio establecido en el Manual de Procesos. Cientos de usuarios ya han descargado SweetRules, inspirado en parte por sus manifestaciones de buena
acogida en las presentaciones detalladas de los investigadores principales de la reunión DAML y el Organismo Internacional de la Web Semántica programa de la Conferencia tutorial.
Take
Take (también conocido como Mandarax compilador) consiste en un lenguaje de script que puede ser utilizado para definir las reglas de derivación, y un compilador que genera código ejecutable de Java y la despliega en los sistemas en funcionamiento. Take se inspira en Mandarax, tiene un API similar pero no utiliza un intérprete independiente "motor de inferencia". El proceso de implementación es muy similar a cómo los servidores web, el tratamiento de las páginas del servidor. El resultado ha sido optimizado, reflexiva y fácil de mantener código.
JRuleEngine
JRuleEngine es un motor de reglas de Java, basado en la "Java Specification Request 94", versión 1.1, es decir, normas puede ser cargado por un archivo XML o por medio de JRuleEngine API, por lo que las reglas pueden ser almacenados en una base de datos externa, también. La distribución consta de una biblioteca que puede ser embebido en una aplicación Java, por lo que se puede utilizar en cualquier tipo de aplicación (basada en web o no).
JLisa
JLisa es un framework muy poderoso para construir reglas de negocio accessibles en Java y es compatible con JSR94 V, the JavaTM Rule Engine API
JEOPS - The Java Embedded Object Production System ( Sistema Integrado de objetos de producción )
JEOPS es un avance basado en motores de reglas de encadenamiento. Este motor de reglas se utiliza para alimentar el proceso de negocio por las normas de servidores de aplicaciones en Java, las aplicaciones cliente, y Servlets.
Prova language
Prova (from Prolog+Java) es un sistema basado en reglas (rule-based system) para Java y el agente de secuencias de comandos y la integración de la información se extiende el motor Mandarax con una sintaxis y la semántica del lenguaje adecuado mejorada. El lenguaje abre un nuevo camino en la combinación de la programación declarativa y expresiva. Combina la sintaxis natural y la tipificación de Java con las reglas Prolog estilo y envoltorios de base de datos. llamadas de Java pueden incluir las llamadas de constructor y el método como el acceso a wellas variables públicas en las clases. Distribuidos y la programación del agente transportados a través de protocolos JMS o JADE se basa en las normas de reacción se especifica en una sintaxis natural. El idioma hace que sea fácil para los agentes para participar en conversaciones simultáneas sin iniciar nuevos hilos utilizando la reacción y la novela normas de reacción en línea en una sintaxis muy natural y ecoonomic, directamente capturar conversaciones como máquinas de estado. Tambien encontrè a: Open Lexicon Zilonis Hammurapi Rules OpenL Tablets Pero no los he investigado a ninguno de los 4. Personalmente les recomiendo introducirse de lleno a Drools, ya que es una plataforma con mucho soporte y respaldo por parte de JBOSS.
http://capacitacionjava.blogspot.com/2010/09/motores-de-regla-open-source-en-java.html
•
Drools
Drools es un motor de reglas orientado a objetos para Java. Drools es una implementación del algoritmo Rete de Forgy, a medida para el lenguaje Java. La adaptación de Rete a una interfaz orientada a objetos permite una mayor expresión natural de reglas de negocio en lo que respecta a los objetos de negocio. Más importante aún, Drools establece la lógica de programación declarativa y es lo suficientemente flexible como para que coincida con la semántica de su dominio del problema. Las diversas partes que componen una regla podrá ser prorrogado a prestar el sentido específico de dominio a la regla.
•
JESS
Jess ® es un motor de reglas para la plataforma Java - es un superconjunto del lenguaje de programación CLIPS, desarrollado por Ernest Friedman-Hill de Sandia National Labs. Fue escrito por primera vez en finales de 1995. Ofrece programación basado en normas adecuadas para la automatización de un sistema experto, y se refiere a menudo como un shell de sistema experto. En los últimos años, los sistemas de agentes inteligentes también han sido desarrollado, que dependen de una capacidad similar. En lugar de un paradigma de procedimiento, en un solo programa tiene un bucle que se activa una sola vez, el paradigma declarativo utilizado por Jess aplica continuamente una colección de reglas a un conjunto de hechos mediante un proceso llamado "coincidencia de patrones". Las reglas se pueden modificar la colección de hechos, o que pueden ejecutar cualquier código Java. Jess se puede utilizar para construir servlets Java, EJB, applets y aplicaciones completas que utilizan el conocimiento en forma de reglas declarativas para sacar conclusiones y hacer inferencias. Dado que muchas de las normas puede coincidir con muchas entradas, son pocos los algoritmos eficaces de uso general correspondiente. El motor de reglas de Jess utiliza el algoritmo Rete. Es OpenSource como licencia para estudiantes, como producto comercial es pago. •
OpenRules
OpenRules es Business Rules Management Framework de gran escala y OpenSource. Se utiliza eficientemente el poder de MS Excel, Eclipse IDE y bibliotecas de código abierto de Java para crear, implementar, ejecutar y mantener los motores de diferentes reglas de negocio complejas con la lógica controlada por los analistas de negocio. •
Mandarax
Mandarax es una biblioteca de clases Java de código abierto para generar reglas de deducción. Se proporciona una infraestructura para la definición, gestión y consulta de bases de reglas. •
SweetRules
SweetRules es un conjunto integrado de herramientas de gran alcance únicamente de las normas web semántica y ontologías, que gira alrededor de la RuleML (Regla de marcado / Modeling Language), estándar emergente de las normas web semántica, y apoyar también la estrecha relación SWRL (Web Semántica artículo Language), junto con la norma de OWL para ontologías web semántica, que a su vez el uso de XML y, opcionalmente, RDF. (Reglas SWRL son esencialmente un subconjunto expresiva de las normas RuleML.) SweetRules apoya a los poderosos Situado Cortés lógica extensión de los programas de RuleML, incluyendo el manejo de los conflictos de prioridades y accesorios de procedimiento para las acciones y pruebas. capacidades SweetRules 'incluyen la semántica de preservación de la traducción y la interoperabilidad entre una variedad de lenguajes de reglas y la ontología (incluyendo XSB Prolog, las reglas de producción Jess, HP Jena-2, y CommonRules IBM), altamente escalable hacia atrás y hacia adelante inferencia, y la fusión de bases de reglas / ontologías . accesorios de procedimiento, incluso puede ser WSDL Servicios Web. enchufabilidad SweetRules y capacidades de composición permiten que los componentes nuevos que se añadirán con relativa rapidez. Implementado en Java, SweetRules tiene un código base compacta (~ 40K del total de líneas de código para las herramientas de varias decenas). El proyecto SweetRules es un esfuerzo internacional, multi-institucional, su origen y coordinado por el grupo en e l MIT Sloan SweetRules dirigido por Benjamin Grosof, y su creación fue financiada en gran parte por el programa de investigación DAML (DARPA Agente Markup Language) que co-fue pionero en la semántica Web. DULCE ("Web Semántica Activación de la tecnología") es un conjunto global de herramientas que el Grupo de Benjamin Grosof (con colaboradores) se ha venido desarrollando desde el año 2001 . Otros componentes que incluyen el enfoque SweetDeal la contratación electrónica del sistema y el prototipo, y el sistema SweetPH de ontologías de procesos de negocio establecido en el Manual de Procesos. Cientos de usuarios ya han descargado SweetRules, inspirado en parte por sus manifestaciones de buena acogida en las presentaciones detalladas de los investigadores principales de la reunión DAML y el Organismo Internacional de la Web Semántica programa de la Conferencia tutorial. •
Take
Take (también conocido como Mandarax compilador) consiste en un lenguaje de script que puede ser utilizado para definir las reglas de derivación, y un compilador que genera código ejecutable de Java y la despliega en los sistemas e n funcionamiento. Take se inspira en Mandarax, tiene un API similar pero no utiliza un intérprete independiente "motor de inferencia". El proceso de implementación es muy similar a cómo los servidores web, el tratamiento de las páginas del servidor. El resultado ha sido optimizado, reflexiva y fácil de mantener código. •
JRuleEngine
JRuleEngine es un motor de reglas de Java, basado en la "Java Specification Request 94", versión 1.1, es decir, normas puede ser cargado por un archivo XML o por medio de JRuleEngine API, por lo que las reglas pueden ser almacenados en una base de datos externa, también. La distribución consta de una biblioteca que puede ser embebido en una aplicación Java, por lo que se puede utilizar en cualquier tipo de aplicación (basada en web o no). •
JLisa
JLisa es un framework muy poderoso para construir reglas de negocio accessibles en Java y es compatible con JSR94 V, the JavaTM Rule Engine API •
JEOPS - The Java Embedded Object Production System ( Sistema Integrado de objetos de
producción ) JEOPS es un avance basado en motores de re glas de encadenamiento. Este motor de reglas se utiliza para alimentar el proceso de negocio por las normas de se rvidores de aplicaciones en Java, las aplicaciones cliente, y Servlets. •
Prova language
Prova (from Prolog+Java) es un sistema basado en reglas (rule-based system) para Java y el agente de secuencias de comandos y la integración de la información se extiende el motor Mandarax con una sintaxis y la semántica del lenguaje adecuado mejorada. El lenguaje abre un nuevo camino en la combinación de la programación declarativa y expresiva. Combina la sintaxis natural y la tipificación de Java con las reglas Prolog estilo y envoltorios de base de datos. llamadas de Java pueden incluir las llamadas de constructor y el método como el acceso a wellas variables públicas en las clases. Distribuidos y la programación del agente transportados a través de pro tocolos JMS o JADE se basa en las normas de reacción se especifica en una sintaxis natural. El idioma hace que sea fácil para los agentes para participar en conversaciones simultáneas sin iniciar nuevos hilos utilizando la reacción y la novela normas de reacción en línea en una sintaxis muy natural y ecoonomic, directamente capturar conversaciones como máquinas de estado.