SciELO - Scientific Electronic Library Online

 
vol.10 número1Módulo de filtrado y segmentación de imágenes médicas digitales para el proyecto VismedicPropuesta metodológica para la orientación de aplicaciones informáticas hacia BPM y SOA índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

  • Não possue artigos citadosCitado por SciELO

Links relacionados

  • Não possue artigos similaresSimilares em SciELO

Compartilhar


Revista Cubana de Ciencias Informáticas

versão On-line ISSN 2227-1899

Rev cuba cienc informat vol.10 no.1 La Habana jan.-mar. 2016

 

ARTÍCULO ORIGINAL

 

Selección de sistemas de código abierto para gestionar reglas de negocio : un estudio de caso

 

Selection of open source systems for managing business rules : a case study

 

 

Yoan Pacheco-Cárdenas1*, Luisa González-González1

1 Laboratorio de Bases de Datos, Centro de Estudios de Informática, Facultad de Matemática, Física y Computación. Universidad Central “Marta Abreu” de Las Villas (UCLV), Santa Clara, 54830 Villa Clara, Cuba

*Autor para la correspondencia: yoan@uclv.edu.cu

 

 


RESUMEN

En esta investigación se evaluaron sistemas de código abierto para gestionar reglas de negocio en el “Control de historias clínicas para el trasplante renal”. Se realizó una revisión sistemática de la literatura para crear la lista inicial de programas que gestionan reglas de negocio. Además, se aplicó el método de Graham que valora propiedades tecnológicas y culturales del software y la organización que lo usa. El sistema de gestión de reglas de negocio Drools obtuvo los mejores resultados pues es capaz de procesar el mayor número de reglas, transacciones y usuarios. Permite escribir reglas en lenguaje cercano al natural y su licencia ASL2 no impone restricciones sobre el software derivado. OpenRules y OpenL Tablets obtuvieron el segundo y tercer lugar. Se sugiere utilizar Drools en escenarios donde exista un elevado número de reglas y los usuarios del negocio sean los encargados de su gestión. Cuando el número de reglas no es elevado se sugiere OpenRules, si la licencia GPL es un problema se sugiere OpenL Tablets. Se mostró una arquitectura basada en Drools que puede ser generalizada para soluciones que utilicen OpenRules u OpenL Tablets.

Palabras clave: Selección, BRMS, Drools, OpenRules, OpenL Tablets


ABSTRACT

In this research were evaluated open source systems that manage business rules in the "Control of medical records for kidney transplantation." A systematic literature review was conducted to establish the initial list of programs that manage business rules. It was applied the method of Graham to evaluate ​​technological properties of the software and cultural characteristics of the organization that uses it. The business rules management system Drools obtained the best results as it is capable of processing more rules, transactions and users. It allows you to write rules near to natural language, also its ASL2 license places no restrictions on derivative software. The second and third position were reached by OpenRules and OpenL Tablets. We suggest using Drools in scenarios where a large number of rules exists and business users are responsible for their management. When the number of rules is not high OpenRules is suggested and if the GPL license is a problem then OpenL Tablets is recommended. There was presented a Drools based architecture that can be generalized to solutions that use OpenRules or OpenL Tablets.

Key words: Selection, BRMS, Drools, OpenRules, OpenL Tablets


 

 

INTRODUCCIÓN

En la literatura científica relacionada con la informatización del flujo de trabajo de trasplante renal aparecen investigaciones que proponen un modelo de hechos genérico y un vocabulario de negocio con enfoque ontológico (Busto et al., 2010; Busto et al., 2012). Sin embargo, estas soluciones no brindan facilidades para ejecución de un número elevado de reglas. Tampoco tienen control de versiones de reglas ni facilitan la publicación de estas mediante servicios Web. Representan el conocimiento solo mediante tablas de bases de datos o disparadores. No lo hacen en tablas Excel ni lenguajes de dominio específico. Todo lo cual disminuye su uso por usuarios expertos del negocio.

La ausencia de compromiso de los usuarios expertos del negocio en las distintas etapas del desarrollo del software es una de las causas que hacen que menos del 32% de los proyectos de software lleguen a ser exitosos (The Standish Group International Inc, 2014). En un problema donde exista un número elevado de reglas a evaluar, como es el caso del trasplante renal, donde para realizar el trasplante deben cumplirse con restricciones de edad, grupo sanguíneo, no existencia de enfermedades previas, etc. sería útil incorporar un sistema de gestión de reglas del negocio (del inglés, BRMS) para favorecer la adopción de la solución informática a los usuarios del negocio.  En un BRMS el motor de reglas de negocio ejecuta las reglas que existen en el repositorio según los datos de entrada. Las reglas pueden ser gestionadas por el personal especializado en tecnologías informáticas o por los expertos del negocio. Finalmente, el resultado se trasmite a las aplicaciones clientes. Varios BRMS de código abierto (OpenRules, CLIPS, NxBRE, CodaServer, Hammurapi Rules, Jena, Drools y OpenL Tablets)  han evolucionado como alternativas a aplicaciones propietarias (Visual Rules, Fico Blaze Advisor, ILOG JRules, InRule y Corticon) sin embargo en la literatura científica sobre el tema (Azevedo and Duarte, 2010; Rymer and Gualtieri, 2011; Mouromtsev and Kolchin, 2011; Red Hat Inc, 2012; Duda and Stawowy, 2010; Silveira, 2010) no se analizan sus fortalezas en escenarios donde las reglas son gestionadas por los expertos de negocio.

El objetivo de esta investigación es seleccionar un programa BRMS de código abierto e integrarlo al flujo de trabajo “Control de historias clínicas para el trasplante renal” donde el equipo médico y los gestores del sistema son responsable de la gestión de reglas. Se respondieron las siguientes interrogantes:

¿Cuáles son las fortalezas de los programas BRMS de código abierto en un escenario donde la gestión de reglas es responsabilidad de los expertos del negocio, dígase el equipo médico y otros gestores del sistema? ¿Qué BRMS de código abierto utilizar en el escenario planteado? ¿Cómo integrar el BRMS seleccionado al flujo de trabajo “Control de historias clínicas para el trasplante renal”?

 

MATERIALES Y MÉTODOS

Se realizó una revisión sistemática de la literatura y se analizaron artículos científicos publicados en el periodo 2012-2014 que referencian programas de código abierto capaces de gestionar reglas de código negocio. Los siguientes programas fueron los más referenciados en los artículos encontrados: CLIPS, NxBRE, Jena, Hammurapi rules, CodaServer, Drools, OpenRules y OpenL Tablets. Luego se eligieron los programas que implementan los componentes de un BRMS y se listaron sus propiedades más importantes (ver Tabla 1). A continuación, se evaluaron cuantitativamente sus propiedades tecnológicas y culturales, para lo cual fue utilizado el método propuesto por Graham (Graham, 2006). El mismo evalúa 80 propiedades que tributan a categorías generales como las facilidades para captura de conocimiento, calidad de la herramienta de gestión, características del motor de reglas, facilidades multiusuario y otros factores técnicos y culturales. La puntuación total se obtuvo como la suma de los acumulados individuales de las propiedades multiplicados por sus pesos. Luego se listaron las fortalezas de cada BRMS para para los expertos del negocio analizando las propiedades que más aportaron al total. Finalmente se definió cual es el programa BRMS más adecuado para ser utilizado por el equipo médico y se mostraron diagramas de proceso y de arquitectura con el BRMS seleccionado ya integrado al flujo de trabajo “Control de historias clínicas para el trasplante renal”. Se tuvieron en cuenta directrices de diseño de procesos de negocio para aumentar la calidad del flujo de trabajo (Oca et al., 2014) así como su fácil interpretación por el equipo médico (Mendling, Reijers et al., 2010).

Escenario:

Los expertos del negocio, dígase equipo médico y gestores del sistema, poseen una cultura de edición de reglas y son capaces de gestionar el control de historias clínicas para trasplante renal (TR) y evaluar un grupo de reglas para tomar decisiones relacionadas con el diagnóstico de la insuficiencia renal, la determinación del estadío del paciente, la disponibilidad de órganos para el trasplante y la validación del donante y el receptor. Se desea además editar reglas en un lenguaje cercano al natural y en tablas de decisión, así como facilitar el uso del sistema por parte del equipo médico y los gestores que pueden estar en diversas áreas dentro y fuera del hospital.

 

RESULTADOS Y DISCUSIÓN

Fortalezas tecnológicas de los sistemas de código abierto que gestionan reglas de negocio

Programas de código abierto como CLIPS, NxBRE, Jena, Hammurapi Rules y CodaServer implementan un motor de reglas y proporcionan algunos mecanismos de gestión. Sin embargo, solo Drools, OpenRules y OpenL Tablets tienen los componentes principales de un BRMS. Los cuales son el motor de reglas, el repositorio de reglas y variados mecanismos de gestión.

El motor de reglas de las tres aplicaciones implementa el algoritmo Rete, aunque en problemas de optimización OpenRules permite optar por un motor específico para ello, por lo que OpenRules puede ser útil en estos casos. En OpenRules y OpenL Tablets el motor solo hace inferencia con encadenamiento hacia adelante mientras que en Drools realiza inferencia con encadenamiento hacia adelante y hacia atrás, por tanto, la ejecución de las reglas no depende del orden en el repositorio. Los tres programas pueden integrarse con otras aplicaciones remotas y ser accedidos a través de internet pues publican reglas de negocio mediante servicios Web. La creación y ejecución de casos de prueba permite a los tres productos validar la ejecución de reglas antes de ser desplegados en un escenario empresarial. Drools representa las reglas en un mayor número de formatos lo que posibilita su integración con otras herramientas y su uso por personal de informática y expertos del negocio.  Drools es un programa más robusto y completo pues puede gestionar un mayor número de reglas complejas, transacciones y usuarios y además de los componentes de un BRMS tiene módulos para gestionar flujo de trabajo, procesamiento de eventos y planificación de tareas, a diferencia de OpenRules y OpenL Tablets que solo poseen los módulos de un BRMS. La licencia de Drools es ASL2 y la de OpenL Tablets es LGPL, ambas son menos restrictivas que la GPL de OpenRules que obliga al software derivado a usar GPL también.

En la tabla 1 se muestra un resumen de las fortalezas tecnológicas de los componentes de Drools, OpenRules y OpenL Tablets según la literatura científica.

Fortalezas de los BRMS de código abierto que favorecen su uso por los expertos del negocio en el “Control de historias clínicas para el trasplante renal”

El análisis anterior muestra las fortalezas tecnológicas de cada BRMS sin embargo en dicho estudio no queda claro cuáles de esas fortalezas favorecen a los expertos de negocio del caso de estudio planteado. Graham propone un método para evaluar programas BRMS en distintos escenarios.  Los resultados de la aplicación del mismo para evaluar propiedades de OpenRules, Drools y OpenL Tablets en un escenario donde la gestión de reglas es responsabilidad de los expertos del negocio se muestran en la Figura 1.

Fortalezas de Drools que favorecen su uso por los expertos del negocio

En este escenario Drools obtiene 76 puntos, la mayor puntuación entre los tres programas evaluados. Aquí los expertos del negocio cuentan con una interfaz de usuario de calidad y amistosa, manuales de usuario y casos de estudio, pueden describir reglas en un lenguaje cercano al natural y mediante tablas de decisión, aunque necesitarán asistencia del personal informática para estas tareas. También pueden definir un vocabulario organizacional y auxiliarse de los reportes generados por la herramienta.

Fortalezas de OpenRules que favorecen su uso por los expertos del negocio

La segunda mejor puntuación, 73 puntos, es obtenida por OpenRules. Se destacan propiedades que brinda el programa para capturar y gestionar el conocimiento sin necesidad de lenguajes de programación, como la representación de reglas mediante tablas de decisión, definición y ejecución de casos de prueba y la creación de un vocabulario organizacional.  Su curva de aprendizaje es la menor pues es el software que más rápido se asimila por usuarios no entrenados, esto es favorecido por los ejemplos y los manuales de usuario disponibles, así como por los reportes que genera.  Es el programa que menos intervención del personal de informática necesita.

Fortalezas de OpenL Tablets que favorecen su uso por los expertos del negocio

OpenL Tablets alcanza el tercer lugar con 70 puntos. El programa brinda facilidades para representar reglas mediante tablas y árboles de decisión, manuales de usuario y ejemplos. Las fortalezas de los programas para los expertos de negocio son resumidas en la tabla 2.

Programas BRMS de código abierto más adecuados para los expertos del negocio en el estudio de caso analizado

Los resultados de la aplicación del método de Graham indican que Drools, OpenRules y OpenL Tablets obtuvieron 76, 73 y 70 puntos respectivamente. Si el problema tiene un elevado número de reglas, pedidos/transacciones, usuarios o existe la necesidad de procesar reglas en un lenguaje cercano al natural se sugiere utilizar Drools como primera opción. En caso contrario OpenRules es la mejor opción en este escenario, seguido de Drools, pues brinda la mejor interfaz de usuario a los expertos del negocio los cuales incluso pueden usar facilidades del programa para ejecutar casos de prueba, además posee un motor especializado en problemas de optimización. OpenRules tiene la menor curva de aprendizaje por lo que es el programa más adecuado para usuarios no entrenados. En este escenario OpenL Tablets es inferior a Drools y a OpenRules en cuanto a fortalezas tecnológicas y culturales. Si la licencia GPL de OpenRules es un problema el programa queda descartado. En el flujo de trabajo “Control de historias clínicas para el trasplante renal” el número de reglas es medio, pero puede crecer en el futuro y existe la necesidad de procesar reglas en leguaje cercano al natural, por lo que se selecciona a Drools como BRMS a ser integrado en el sistema propuesto.

Integración del Drools al flujo de trabajo “Control de historias clínicas para el trasplante renal”

La Figura 2 muestra el diagrama informatizado para el caso de estudio. Está compuesto por tres capas o calles, en la primera se encuentran las actividades relacionadas con las consultas. La segunda contiene al BRMS, que ejecuta las reglas para validar si el paciente y el donante son válidos y en la tercera capa se incluyen las actividades relacionadas con los métodos sustitutivos. En este flujo de trabajo Drools contiene y evalúa reglas de negocio para tomar decisiones, por lo que ya las reglas no están mezcladas con el código fuente, sino que se encuentran guardadas en su repositorio. El resto de las actividades son ejecutadas por el equipo médico o un gestor del sistema, responsable de controlar las historias clínicas de los pacientes.

En el sistema propuesto, para validar si una persona puede ser un donante un miembro del equipo médico, a través de un navegador web solicita insertar un nuevo donante en el sistema. Esta solicitud es procesada en el servidor web Apache el cual llama un servicio Web, que corre sobre Tomcat y ejecuta reglas en Drools que validan si la persona puede ser donante o no. En caso afirmativo el donante es insertado en la Base de datos de MySQL. Todas estas tecnologías son multiplataforma. Al utilizar servicios Web las reglas pueden ser ejecutadas desde cualquier aplicación que sea capaz de invocar los servicios. Otra ventaja es que las herramientas, excepto Internet Explorer, no imponen restricciones sobre su uso y del software derivado, véase Figura 3.

 

CONCLUSIONES

Los resultados obtenidos en el trasplante renal, donde existe un número elevado de reglas y la gestión de las mismas es responsabilidad de expertos del negocio pueden ser generalizados a escenarios similares. Como en este estudio de caso, se sugiere utilizar al BRMS Drools para brindar a los usuarios del negocio una interfaz amistosa. En particular Drools ayuda en la representación del conocimiento en varios formatos, destacándose en lenguaje cercano al natural. En escenarios donde no exista un número elevado de reglas OpenRules es apropiado si el software derivado puede tener licencia GPL. Se sugiere utilizar OpenL Tablets cuando sea necesario representar el conocimiento en arboles de decisión y el software derivado deba tener una licencia menos restrictiva que la GPL de OpenRules. La integración del BRMS seleccionado en una capa independiente disminuye el acople entre los componentes de la solución y evita que las reglas estén mezcladas con el código fuente. Este trabajo muestra los componentes de esa capa cuando se selecciona el BRMS Drools, que está basado en la plataforma Java, al igual que OpenRules y OpenL Tablets. Por lo que la arquitectura puede ser generalizada para cualquiera de los tres programas. Si programas de la plataforma .NET necesitaran comunicarse con cualquiera de los tres BRMS deberán hacerlo mediante servicios Web u otro intermediario. A diferencia de aplicaciones desarrolladas en Java que pueden invocar directamente reglas en el BRMS a través del API de Java.

 

REFERENCIAS BIBLIOGRÁFICAS

AZEVEDO, L. & DUARTE, D. Evaluating tools for execution and management of authorization business rules, Revista Eletrônica de Sistemas de Informação, 2010, 9(2): p.1 -22.

BUSTO, M. E. M., PÉREZ, L. N., MARTÍNEZ, A. C., OCA, I. M. M. D., CASTILLO, M. B. B., GONZÁLEZ, L. M. G. & HERNÁNDEZ, P. H. Aplicación médica para trasplante renal usando reglas de negocio, Revista Habanera de Ciencias Médicas, 2012,11(1):p.176-184.

BUSTO, M. E. M. D., OCA, I. M. M. D., MORFFI, A. R., ARTILES, M. C. & GONZÁLEZ, L. G. Vocabulario de negocio para trasplante renal con enfoque ontológico para un modelo de hechos genérico, Revista Facultad de Ingeniería, 2010, 53(1): p.155-162.

DUDA, J. & STAWOWY, A. A possibility of Business Rules application in production planning, Archives of Foundry Engineering, 2010, 10(2): p.27-32.

GRAHAM, I. Business Rules Management and Service Oriented Architecture. Chichester, Wiley, 2006.292p.

MENDLING, J., H. A. REIJERS, et al. Seven Process Modeling Guidelines (7PMG). Information and Software Technology, 2010, 52(2): p.127-136.

MOUROMTSEV, D. & KOLCHIN, M. Using Drool Rule-Platform for the Optical CAD Web-Application Development. En: Proceedings of the 11TH Conference of FRUCT Association. Saint-Petersburg, Russia: 2011, p.100-106.

OCA, I. M. M. D., MORFFI, A. R., SNOECK, M., RODRÍGUEZ, R. M., CARDOSO, G. C. & GONZÁLEZ, L. G. Directrices prácticas y métricas de calidad en la modelación de procesos de negocio: un caso de estudio, Revista Cubana de Ciencias Informáticas, 2014, 8(2): p.1 -19.

RED HAT INC. Drools: Business Logic integration Platform.[En línea], 2012. [Consultado el: 22 de noviembre de 2014]. Disponible en: http://www.jboss.org/drools/

RYMER, J. R. & GUALTIERI, M. Market Overview: Business Rules Platforms 2011. [Tipo de soporte: pdf]. Forrester Research, 2011. [Consultado el: 22 de noviembre de 2014]. Disponible en: http://soapower.com/IBMBPM/Whitepapers/IBM-ODM-DecisionMgmt-AnalystReport-Forrester.pdf

SILVEIRA, L. Diseño e implementación de un motor de reglas dinámicas usando especificaciones GeneXus. [Tipo de soporte: pdf]. INCO, 2010. [Consultado el: 22 de noviembre de 2014]. Disponible en: http://www.fing.edu.uy/inco/pedeciba/bibliote/cpap/tesis-silveira.pdf

THE STANDISH GROUP INTERNATIONAL INC. CHAOS Report. [En línea], 201 4. [Consultado el: 25 de septiembre de 2015]. Disponible en: http://www.projectsmart.co.uk/white-papers/chaos-report.pdf

 

 

Recibido: 09/10/2014
Aceptado: 02/11/2015

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons