Está en la página 1de 8

Para entender mejor acerca de Motor de Reglas de Negocio, partimos de la definicin de Reglas de negocio: Las Reglas del Negocio

(en ingls, Business Rules) describen las polticas, normas, operaciones, definiciones y restricciones presentes en una organizacin y que son de vital importancia para alcanzar los objetivos misionales. Las organizaciones funcionan siguiendo mltiples reglas de negocio, explcitas o tcitas, que estn embebidas* en procesos, aplicaciones informticas, documentos, etc. Pueden residir en la cabeza de algunas personas o en el cdigo fuente de programas informticos. Las reglas de negocios son dinmicas, estn sujetas a cambios en el tiempo y pueden encontrarse en todo tipo de aplicaciones: Finanzas y seguros, negocio electrnico, transporte, telecomunicaciones, servicios basados en Web y personalizacin son slo 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 informacin inicial y un conjunto de reglas, detecta qu reglas deben aplicarse en un instante determinado y cules son los resultados de esas reglas. En su forma ms 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 decisin para la utilizacin de un motor de reglas podra ser: La complejidad moderada o alta de las reglas de negocio. Las reglas de negocio no son estticas y se prev que cambien continuamente. Como herramienta de simulacin y pruebas de concepto. Como parte de la metodologa para recopilar, documentar y mantener las reglas.

* EMBEBIDOS: En trminos sistmicos son dispositivos usados para controlar equipos, operacin 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 investigacin, el desarrollo, la innovacin y la transferencia de tecnologa en el sector de las Tecnologas de la Informacin y de las Comunicaciones (TIC). Nuestra actividad se centra en torno a las tecnologas de bsqueda, para facilitar a los usuarios un acceso preciso, rpido y eficiente a la informacin que necesita, las tecnologas del lenguaje, que permiten comprobar de forma automtica la calidad lingstica de textos y la gestin avanzada del conocimiento (inteligencia de negocio o business intelligence), es decir, la realizacin eficiente de todas las actividades relacionadas con la generacin, extraccin, organizacin, anlisis, comparticin y distribucin del conocimiento de una organizacin a fin de mejorar su eficiencia, haciendo uso para ello de las tecnologas ms apropiadas. La misin de Daedalus es ayudar a sus clientes a mejorar sus procesos de negocio. Aportamos para ello:

Conocimiento del entorno tecnolgico en el que se mueven nuestros clientes Comprensin de su negocio Tecnologa propia o de terceros

Nuestro objetivo es contribuir a una mayor implantacin de las TIC en todos los sectores. Para ello ofrecemos un servicio integral que incluye consultora, asesoramiento, productos, ingeniera y formacin.

K-Site Rules
K-Site Rules es un Sistema de Gestin de Reglas de Negocio (BRMS) desarrollado por Daedalus en el marco del proyecto de I+D ITECBAN en colaboracin con Indra y la Universidad Politcnica 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 ejecucin de Reglas de Negocio mediante motores de reglas especficos

Ventajas

Es integrable en el Ciclo de vida de Desarrollo de las Aplicaciones y en la Herramienta de Modelado Utiliza un lenguaje estndar para representar reglas (RIF)

Caractersticas
Las caractersticas avanzadas de K-Site Rules permiten:

Integracin en el ciclo de vida de desarrollo de aplicaciones o Integracin con Eclipse 3.2 para los desarrolladores 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 diseo de las Reglas de Negocio es independiente 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 tcnicos pueden, de manera sencilla, crear, validar y poner en produccin Reglas de Negocio Reutilizacin de Reglas de Negocio y sus componentes o El repositorio permite la reutilizacin de rulesets y reglas atmicas en distintas Reglas de Negocio o Facilidades de bsqueda para localizacin de reglas Auditora de las Reglas de Negocio desarrolladas o Seguimiento del historial de cambios efectuados en las Reglas de Negocio y versiones producidas Simplicidad para la validacin 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 cdigo

K-Site Rules est financiado por el CDTI (Ministerio de Ciencia e Innovacin) a travs delPrograma CENIT. Si desea ms informacin acerca de K-Site Rules, puede acceder a esta presentacin (MK-2009-43ITECBAN-09_ES) o descargarse el white paper de referencia (MK-2008-25-ITECBAN). Por supuesto, tambin estamos a su disposicin 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 implementacin del algoritmo Rete de Forgy, a medida para el lenguaje Java. La adaptacin de Rete a una interfaz orientada a objetos permite una mayor expresin natural de reglas de negocio en lo que respecta a los objetos de negocio. Ms importante an, Drools establece la lgica de programacin declarativa y es lo suficientemente flexible como para que coincida con la semntica de su dominio del problema. Las diversas partes que componen una regla podr ser prorrogado a prestar el sentido especfico de dominio a la regla.

JESS

Jess es un motor de reglas para la plataforma Java - es un superconjunto del lenguaje de programacin CLIPS, desarrollado por Ernest Friedman-Hill de Sandia National Labs. Fue escrito por primera vez en finales de 1995. Ofrece programacin basado en normas adecuadas para la automatizacin de un sistema experto, y se refiere a menudo como un shell de sistema experto. En los ltimos aos, los sistemas de agentes inteligentes tambin 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 coleccin de reglas a un conjunto de hechos mediante un proceso llamado "coincidencia de patrones". Las reglas se pueden modificar la coleccin de hechos, o que pueden ejecutar cualquier cdigo 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 cdigo abierto de Java para crear, implementar, ejecutar y mantener los motores de diferentes reglas de negocio complejas con la lgica controlada por los analistas de negocio.

Mandarax

Mandarax es una biblioteca de clases Java de cdigo abierto para generar reglas de deduccin. Se proporciona una infraestructura para la definicin, gestin y consulta de bases de reglas.

SweetRules

SweetRules es un conjunto integrado de herramientas de gran alcance nicamente de las normas web semntica y ontologas, que gira alrededor de la RuleML (Regla de marcado / Modeling Language), estndar emergente de las normas web semntica, y apoyar tambin la estrecha relacin SWRL (Web Semntica artculo Language), junto con la norma de OWL para ontologas web semntica, 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 Corts lgica extensin 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 semntica de preservacin de la traduccin y la interoperabilidad entre una variedad de lenguajes de reglas y la ontologa (incluyendo XSB Prolog, las reglas de produccin Jess, HP Jena-2, y CommonRules IBM), altamente escalable hacia atrs y hacia adelante inferencia, y la fusin de bases de reglas / ontologas . accesorios de procedimiento, incluso puede ser WSDL Servicios Web. enchufabilidad SweetRules y capacidades de composicin permiten que los componentes nuevos que se aadirn con relativa rapidez. Implementado en Java, SweetRules tiene un cdigo base compacta (~ 40K del total de lneas de cdigo 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 creacin fue financiada en gran parte por el programa de investigacin DAML (DARPA Agente Markup Language) que co-fue pionero en la semntica Web. DULCE ("Web Semntica Activacin de la tecnologa") es un conjunto global de herramientas que el Grupo de Benjamin Grosof (con colaboradores) se ha venido desarrollando desde el ao 2001. Otros componentes que incluyen el enfoque SweetDeal la contratacin electrnica del sistema y el prototipo, y el sistema SweetPH de ontologas 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 reunin DAML y el Organismo Internacional de la Web Semntica programa de la Conferencia tutorial.

Take

Take (tambin conocido como Mandarax compilador) consiste en un lenguaje de script que puede ser utilizado para definir las reglas de derivacin, y un compilador que genera cdigo ejecutable de Java y la despliega en los sistemas en funcionamiento. Take se inspira en Mandarax, tiene un API similar pero no utiliza un intrprete independiente "motor de inferencia". El proceso de implementacin es muy similar a cmo los servidores web, el tratamiento de las pginas del servidor. El resultado ha sido optimizado, reflexiva y fcil de mantener cdigo.

JRuleEngine

JRuleEngine es un motor de reglas de Java, basado en la "Java Specification Request 94", versin 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, tambin. La distribucin consta de una biblioteca que puede ser embebido en una aplicacin Java, por lo que se puede utilizar en cualquier tipo de aplicacin (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 produccin )

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 integracin de la informacin se extiende el motor Mandarax con una sintaxis y la semntica del lenguaje adecuado mejorada. El lenguaje abre un nuevo camino en la combinacin de la programacin declarativa y expresiva. Combina la sintaxis natural y la tipificacin de Java con las reglas Prolog estilo y envoltorios de base de datos. llamadas de Java pueden incluir las llamadas de constructor y el mtodo como el acceso a wellas variables pblicas en las clases. Distribuidos y la programacin del agente transportados a travs de protocolos JMS o JADE se basa en las normas de reaccin se especifica en una sintaxis natural. El idioma hace que sea fcil para los agentes para participar en conversaciones simultneas sin iniciar nuevos hilos utilizando la reaccin y la novela normas de reaccin en lnea en una sintaxis muy natural y ecoonomic, directamente capturar conversaciones como mquinas 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 implementacin del algoritmo Rete de Forgy, a medida para el lenguaje Java. La adaptacin de Rete a una interfaz orientada a objetos permite una mayor expresin natural de reglas de negocio en lo que respecta a los objetos de negocio. Ms importante an, Drools establece la lgica de programacin declarativa y es lo suficientemente flexible como para que coincida con la semntica de su dominio del problema. Las diversas partes que componen una regla podr ser prorrogado a prestar el sentido especfico de dominio a la regla.

JESS

Jess es un motor de reglas para la plataforma Java - es un superconjunto del lenguaje de programacin CLIPS, desarrollado por Ernest Friedman-Hill de Sandia National Labs. Fue escrito por primera vez en finales de 1995. Ofrece programacin basado en normas adecuadas para la automatizacin de un sistema experto, y se refiere a menudo como un shell de sistema experto. En los ltimos aos, los sistemas de agentes inteligentes tambin 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 coleccin de reglas a un conjunto de hechos mediante un proceso llamado "coincidencia de patrones". Las reglas se pueden modificar la coleccin de hechos, o que pueden ejecutar cualquier cdigo 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 cdigo abierto de Java para crear, implementar, ejecutar y mantener los motores de diferentes reglas de negocio complejas con la lgica controlada por los analistas de negocio. Mandarax

Mandarax es una biblioteca de clases Java de cdigo abierto para generar reglas de deduccin. Se proporciona una infraestructura para la definicin, gestin y consulta de bases de reglas. SweetRules

SweetRules es un conjunto integrado de herramientas de gran alcance nicamente de las normas web semntica y ontologas, que gira alrededor de la RuleML (Regla de marcado / Modeling Language), estndar emergente de las normas web semntica, y apoyar tambin la estrecha relacin SWRL (Web Semntica artculo Language), junto con la norma de OWL para ontologas web semntica, 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 Corts lgica extensin 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 semntica de preservacin de la traduccin y la interoperabilidad entre una variedad de lenguajes de reglas y la ontologa (incluyendo XSB Prolog, las reglas de produccin Jess, HP Jena-2, y CommonRules IBM), altamente escalable hacia atrs y hacia adelante inferencia, y la fusin de bases de reglas / ontologas . accesorios de procedimiento, incluso puede ser WSDL Servicios Web. enchufabilidad SweetRules y capacidades de composicin permiten que los componentes nuevos que se aadirn con relativa rapidez. Implementado en Java, SweetRules tiene un cdigo base compacta (~ 40K del total de lneas de cdigo 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 creacin fue financiada en gran parte por el programa de investigacin DAML (DARPA Agente Markup Language) que co-fue pionero en la semntica Web. DULCE ("Web Semntica Activacin de la tecnologa") es un conjunto global de herramientas que el Grupo de Benjamin Grosof (con colaboradores) se ha venido desarrollando desde el ao 2001. Otros componentes que incluyen el enfoque SweetDeal la contratacin electrnica del sistema y el prototipo, y el sistema SweetPH de ontologas 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 reunin DAML y el Organismo Internacional de la Web Semntica programa de la Conferencia tutorial. Take

Take (tambin conocido como Mandarax compilador) consiste en un lenguaje de script que puede ser utilizado para definir las reglas de derivacin, y un compilador que genera cdigo ejecutable de Java y la despliega en los sistemas en funcionamiento. Take se inspira en Mandarax, tiene un API similar pero no utiliza un intrprete independiente "motor de inferencia". El proceso de implementacin es muy similar a cmo los servidores web, el tratamiento de las pginas del servidor. El resultado ha sido optimizado, reflexiva y fcil de mantener cdigo. JRuleEngine

JRuleEngine es un motor de reglas de Java, basado en la "Java Specification Request 94", versin 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, tambin. La distribucin consta de una biblioteca que puede ser embebido en una aplicacin Java, por lo que se puede utilizar en cualquier tipo de aplicacin (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 produccin )

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 integracin de la informacin se extiende el motor Mandarax con una sintaxis y la semntica del lenguaje adecuado mejorada. El lenguaje abre un nuevo camino en la combinacin de la programacin declarativa y expresiva. Combina la sintaxis natural y la tipificacin de Java con las reglas Prolog estilo y envoltorios de base de datos. llamadas de Java pueden incluir las llamadas de constructor y el mtodo como el acceso a wellas variables pblicas en las clases. Distribuidos y la programacin del agente transportados a travs de protocolos JMS o JADE se basa en las normas de reaccin se especifica en una sintaxis natural. El idioma hace que sea fcil para los agentes para participar en conversaciones simultneas sin iniciar nuevos hilos utilizando la reaccin y la novela normas de reaccin en lnea en una sintaxis muy natural y ecoonomic, directamente capturar conversaciones como mquinas de estado.