Anda di halaman 1dari 5

Reglas de negocio en aplicaciones sobre la

plataforma Java empresarial.


Juan Carlos Garca Gonzlez
Dirigido por: Ing. Jos Luis Alonso Ochoa

Resumen lo cual, sin duda alguna, ha constituido un valioso aporte


En la actualidad ha aumentado la demanda de aplicaciones en cuanto a agilidad de trabajo y codificacin. La capa
informticas en el marco empresarial, por lo cual la industria cliente fue concebida en ambiente desktop haciendo uso del
de software debe garantizar que las aplicaciones brinden alta paquete Swing. La llamada capa del lado del servidor, en
calidad y rendimiento. En el Grupo de Ingeniera de Software
la que se agrupan las capas de acceso a datos y de lgica de
y Tecnologas de la Informacin GISTI se ha alcanzado
experiencia en el desarrollo de software especialmente sobre negocio, ha sido desplegada en un servidor de aplicaciones
la plataforma Java 2 Enterprise Edition (J2EE). A partir de JBoss [4] y para ella ha utilizado el framework EJB2 [5].
esta experiencia se destaca el hecho de que el proceso de Durante la implementacin del proyecto, se ha evidenciado
mantenimiento de los sistemas desarrollados y que la capa de lgica de negocio ha sido sin margen a
principalmente en la capa de lgica de negocio resulte ser error, la ms costosa en cuanto a tiempo de respuesta ante
mucho menos productivo y gil que en el resto de las capas un cambio en las polticas de negocio en el proceso de
que componen los sistemas empresariales. En este artculo se mantenimiento.
presenta una nueva metodologa para el desarrollo de la capa
de lgica de negocios de aplicaciones de softwares as como se
LAS REGLAS DE NEGOCIO
describen las herramientas necesarias para la aplicacin de
esta nueva metodologa. Las reglas de negocio permiten definir las condiciones
para establecer un negocio o de qu forma se controlar el
Palabras clave: Reglas de negocio. comportamiento de los eventos dentro de este. Muy
importante resulta establecer los pasos que se deben seguir
INTRODUCCIN para alcanzar las metas y objetivos del mismo. Tomando
Actualmente los procesos de negocios son soportados como base el planteamiento anterior se puede afirmar que
por tecnologas de informacin, como puede ser un las reglas de negocio son de vital importancia, si estos
software de gestin o una aplicacin con fines negocios son soportados por aplicaciones de tecnologas de
empresariales. Partiendo de esta situacin se puede afirmar la informacin. Es por esto que hace ms de una dcada se
que la capa de lgica de negocio es la que generalmente ha ido produciendo un acercamiento a las reglas de
tiende a variar, esto se debe al importante proceso de negocio como un nuevo enfoque para definir los procesos
mantenimiento a que son sometidos todos los sistemas de de negocio. De aqu han surgido importantes
gestin, ya que necesariamente presentan constantes organizaciones como es el grupo de reglas de negocio o
cambios en los procesos de negocio. En esta capa de lgica BRG1 o la comunidad de reglas de negocio. Como
de negocio se encuentran codificadas las polticas o reglas resultado final se ha obtenido una nueva metodologa o
que definen el negocio, las cuales deben ser reflejadas en el enfoque de desarrollo basada en reglas de negocio, as
comportamiento de la aplicacin. Polticas que por lo como numerosos conceptos, definiciones, tcnicas y
general se encuentran enterradas en el cdigo fuente de la herramientas relacionadas con el tema.
capa de lgica de negocio de la aplicacin. Otro aspecto
importante es que, en ocasiones, los equipos de desarrollo CONCEPTOS O DEFINICIONES
encargados del mantenimiento del software no son los En el entorno de las reglas de negocio no existe una
mismos que implementaron la aplicacin, lo cual provoca definicin estndar del trmino regla de negocio. En este
demora a la hora de aplicar los cambios, lo que influye de trabajo se presenta la definicin redactadas por el grupo de
forma negativa en la eficiencia y rendimiento del equipo reglas de negocio o BRG, la cual es la ms utilizada por los
de desarrollo. expertos en el tema: una regla de negocio es una
Por citar un ejemplo se puede mencionar el Sistema de declaracin que define u obliga un cierto aspecto del
Gestin de la Nueva Universidad (SIGENU), proyecto negocio. Con stas se pretende imponer la estructura del
creado por un equipo del grupo de investigacin y negocio o controlar o influenciar el comportamiento del
desarrollo GISTI del CEIS en la CUJAE y realizado sobre
la plataforma J2EE, utilizando el paradigma MDA [1-3], 1
Del ingls Business Rules Group
50
negocio. reglas de negocio, se estn reutilizando correctamente.
Luego se definen las reglas de negocio como el sistema Segn lo antes mencionado las reglas de negocio deben
de condiciones que gobiernan que un evento de negocio centrarse en un solo concepto, en ocasiones en una
ocurra de una manera permitida. Es decir, un evento en el aplicacin se deben identificar gran cantidad de reglas. Por
negocio fracasa cuando no puede cumplir las reglas lo cual es recomendable que las reglas de negocios deban
establecidas para un evento exitoso. Los lderes del negocio estar separadas de los dems artefactos de la captura de
determinan la diferencia entre un exitoso y un infructuoso requisitos ya que pueden ser referenciadas desde dentro de
evento de negocio, de aqu se extraen las reglas que los artefactos, como pueden ser casos de usos o diagramas
definen todas las posibles y permitidas condiciones de xito de colaboracin. En ocasiones se definen las reglas de
de un evento de negocio, junto con las que no son negocio dentro de los casos de usos, lo cual se puede
permitidas [6]. transformar en una tarea compleja, adems se debe
Cumplir una regla, es ejecutar una o ms acciones considerar que una misma regla puede ser referenciada en
debido al cumplimento de una o varias condiciones ms de un caso de uso [8].
previamente definidas. Se puede definir una regla de
negocio como una regla que est bajo el dominio de un CUNDO Y POR QU UTILIZAR REGLAS DE NEGOCIO EN UNA
negocio, el cual puede definir, modificar, y descartar reglas APLICACIN?
de negocio cuando sea necesario. Las reglas se encargan de En los sistemas de gestiones actuales la parte ms
la definicin y control del proceso de negocio en una compleja radica en la lgica de negocio, aqu se encuentran
organizacin, lo que es muy importante, todo software ya los requerimientos funcionales y de comportamiento, lo
sea empresarial o no, est definido en gran parte por reglas cual resulta una complicada implementacin de la capa
[7]. lgica de negocio. La forma ms comn de implementar la
Las reglas de negocio se centran a menudo en asuntos misma ya sea en aplicaciones J2EE [9] o no, es escribiendo
como el control de acceso, por ejemplo el proyecto cdigo que cumpla con los requerimientos establecidos por
SIGENU el cual es un software de gestin docente que la lgica y reglas de negocio. Lo que da como resultado un
puede tener la siguiente poltica de acceso a la complejo cdigo, provocando que el mantenimiento y
informacin: actualizacin de la aplicacin sean arduas tareas [10].
Permite a los profesores entrar y modificar los registros Cuando se est ante una aplicacin que presenta una
de los estudiantes que toman las asignaturas que ellos compleja lgica de negocio y que puede variar con bastante
imparten, pero no los registros de los estudiantes en frecuencia, ya sea por demandas de los clientes o por otros
otros seminarios. factores externos; y se necesita que estos cambios se
Definicin de los planes de estudio solo puede ser reflejen en el comportamiento de su aplicacin en el menor
realizada por los vicedecanos docentes. tiempo posible, se debe considerar el empleo de las reglas
Baja docente de tipo definitiva solo puede ser revocada de negocio para modelar y administrar la lgica de negocio
por la secretara docente general de la universidad. de la aplicacin [11].
Las reglas de negocio pueden tambin definir El uso de las reglas de negocio como parte de la lgica
operaciones computacionales del negocio, por ejemplo, de negocio de aplicaciones se debe a los constantes
cmo convertir la calificacin en forma de puntos (91 cambios en los negocios, por varios factores que pueden
puntos) que recibe un estudiante en una evaluacin a una ser:
calificacin en grado de letra (A -). Tambin existen Orientar el negocio hacia nuevos mercados.
reglas de negocio que se centran en las polticas de la Introducir nuevos productos.
organizacin como puede ser la poltica de una universidad Cumplir con nuevas regulaciones o polticas
que establece separar por un ao al estudiante que administrativas.
desaprueba ms de dos asignaturas en el mismo semestre Creacin de nuevos acuerdos con los clientes o los
[8]. suministradores.
Las reglas de negocio se identifican principalmente Cambios en los objetivos o metas del negocio.
durante el transcurso de la captura y anlisis de requisitos.
Una aplicacin basada en reglas de negocio es gil; con
Tambin durante el modelado de casos de uso se pueden una arquitectura concebida intencionalmente para el
identificar reglas de negocios. Una buena regla de negocio cambio continuo en la lgica de decisin. Las reglas de
es cohesiva, es decir, describe solamente un concepto. negocio son el medio para representar las decisiones que el
Asegurndose de que las reglas de negocio sean cohesivas, negocio debe tomar. Las decisiones deben ser confiables,
se hacen ms fciles de definir y aumenta la probabilidad detectables, y auditadas. Para lograr eso, se necesita
de que sean reutilizadas, cada vez que uno de los artefactos
construir servicios de decisin que sean altamente
del sistema se refiere a una regla de negocio, incluso otras
reutilizables, manejables y flexibles. Los motores de reglas
51
de negocio son la tecnologa ideal para alcanzar esas adems, las reglas contienen una o ms clusulas
metas. comunes [6].
Un sistema construido segn el enfoque de las reglas de Facilita el desarrollo de la aplicacin.
negocio tiene muchas ventajas sobre otros sistemas. Sin Bsicamente el experto en reglas define las reglas
embargo, dado el empuje del comercio electrnico y el y estas se ejecutan en aras de satisfacer las
potencial de Internet para los negocios, la ventaja ms necesidades de la aplicacin, sin necesidad de
importante es que un sistema de reglas de negocio est modificar el cdigo fuente u otros aspectos
diseado para acomodar fcilmente cambios en el negocio tcnicos de la aplicacin [6].
con una mnima alteracin del sistema y en el menor Reutilizacin de reglas. Una vez declaradas las
tiempo posible. reglas, no solo pueden ser utilizadas por la
Entre las ventajas de incorporar reglas de negocio a la aplicacin, tambin pueden ser reutilizadas por
aplicacin se pueden destacar: ejemplo, por sistema gestores de base de datos u
Programacin declarativa: Las reglas permiten otros tipos de software. Para lograr esto se debe
decir qu hacer y no cmo hacerlo. La ventaja de utilizar un sistema de administracin de reglas de
este aspecto radica en que las reglas hacen ms negocio o se puede disear un sistema propio, que
fcil expresar las soluciones de difciles problemas agrupe las reglas de forma lgica y puedan ser
y por tanto poder verificar esas soluciones. Las reutilizadas y compartidas [6].
reglas son ms fciles de leer y entender que el Reglas dinmicas. Esta ventaja est dada por la posibilidad
cdigo por parte del personal del negocio. de cambiar un sistema de reglas de negocio fcilmente. Un
Separacin de los datos y la lgica: Esto se refiere experto en reglas puede cambiar una o varias reglas a la
a que los datos estn en los objetos de dominio del vez, y tener ese cambio disponible al servicio del negocio
negocio y la lgica est en las reglas de negocio. de forma inmediata. De esta manera, el sistema reglas de
Siendo as, la lgica de negocio puede ser mucho un negocio se convierte en una plataforma para el cambio
ms fcil de entender, mantener y enfrentar del negocio. Las reglas por s mismas se convierten en
posibles cambios en el futuro, pues toda la lgica instrumentos para la adaptabilidad del negocio [6].
est representada en las reglas.
Conocimiento centralizado: Usando reglas, se crea QU ES LA METODOLOGA DE LAS REGLAS DE NEGOCIO?
un repositorio de conocimiento que permite La metodologa de reglas de negocio es un conjunto de
verificar la poltica de negocio por todo el pasos y tcnicas para desarrollar sistemas de reglas de
personal del negocio. Idealmente las reglas son negocio. Un sistema de reglas de negocio es un sistema
tan legibles que pueden tambin servir como automatizado que separa las reglas de negocio
documentacin. lgicamente, y quizs fsicamente, de otros aspectos del
Simplicidad. La metodologa de las reglas de sistema y las comparte a travs de los datos almacenados,
negocio es simple de entender, tanto para el interfaces de usuario, y aplicaciones [6].
personal del negocio como para el personal Existen varias razones para construir un sistema de reglas
tcnico. El concepto de una regla es muy intuitivo, de negocio, las dos principales son: reducir el tiempo de
incluso cuando se tiene varias clasificaciones de desarrollo y entregar un sistema diseado para el cambio.
reglas. El personal del negocio puede no estar Para esto se necesita una metodologa de desarrollo de
interesado en modelos de datos, modelos de sistemas que divida el dominio del problema al menos en
procesos, o modelos de objetos, pero estn tres aspectos separados, pero completamente relacionados:
absolutamente interesados en las polticas y reglas datos, procesos, y reglas.
del negocio, ya que son las que guan el negocio El objetivo de la metodologa de reglas de negocio, es
[6]. separar tres aspectos importantes de un sistema: reglas,
Pequeo nmero de conceptos necesarios, no datos y procesos. Una vez separados los aspectos la
tcnicos. Hay algunos conceptos alrededor de una metodologa se enfoca a los pasos y a las tcnicas para
regla, como son: decisiones, patrones de reglas, capturar y manejar las reglas de negocio. Esto es de gran
familias de reglas, y las clusulas de una regla. importancia, pues las reglas de negocio, con
Una decisin es simplemente una agrupacin frecuencia representan el aspecto ms descuidado o con
lgica de reglas. Las reglas se pueden agrupar en menos formalismo de otras metodologas. La ventaja nica
los patrones de reglas para propsitos de anlisis, del acercamiento a las reglas de negocio es que influye en
basados en similares clusulas en las reglas. Estos el negocio y en los desarrolladores de sistemas. Para el
patrones de reglas se pueden agrupar en familias entorno del negocio, el acercamiento a las reglas de
de reglas que resultan en una salida similar y negocio significan una metodologa en la cual los lderes
52
de negocio utilizan las reglas como instrumentos Se puede decir que un motor de reglas brinda una
preventivos y creativos de cambios en el negocio [6]. infraestructura desacoplada del cdigo fuente de la
aplicacin para la definicin, administracin y ejecucin de
VENTAJAS DE APLICAR LA METODOLOGA DE LAS REGLAS DE reglas de negocio [14].
NEGOCIO Los motores brindan un conjunto de herramientas que
Se basa en un modelo de datos estables, donde permite a los analistas de negocio y desarrolladores
estos se comparten a travs de la aplicacin y los construir la lgica de negocio basndose en los datos del
confines organizacionales. negocio. Los motores de reglas reducen el mantenimiento
Se basa en las reglas que se comparten a travs la de la aplicacin, as como los costos de extensibilidad,
aplicacin y los lmites organizacionales. debido a que disminuye la complejidad de los componentes
que implementan la compleja lgica de negocio.
Se desarrolla alrededor del centro del flujo de
procesos, basndose en las dependencias de las
CONCLUSIONES
reglas, permitiendo la seleccin de otros tipos de
flujo de proceso. El conocimiento sobre la lgica de un negocio es lo ms
Permite escoger varias tecnologas de importante para optimizar el funcionamiento del mismo.
arquitecturas y diseos de automatizacin de las Conocimiento, sobre qu es y que no es posible, que es o no
reglas. requerido, la espina dorsal de cada compaa y
Permite el seguimiento de los objetivos del organizacin es su lgica de negocio. Las reglas de negocio
negocio a los requerimientos y de estos a las ofrecen conocimiento, ellas van en todas las formas al
reglas automatizadas. ncleo de los procesos de negocio, las reglas proporcionan
las guas para el comportamiento, ofrecen los estndares
HERRAMIENTAS PARA EL DESARROLLO DE SOFTWARE para eficacia y supervisan la calidad de los datos.
ENFOCADOS EN REGLAS DE NEGOCIO Consecuentemente, las reglas de negocio brindan una
En la actualidad muchas organizaciones trabajan de una valoracin de la eficacia de los procesos de negocio.
forma que es posible definir eventos del negocio como El acercamiento de las reglas de negocio da a la
casos de uso, donde las decisiones se basan en un conjunto compaa un sistema de herramientas para controlar los
de reglas. Dichas organizaciones pueden estar interesadas procesos del negocio y permiten contestar la pregunta de
en aplicar la tecnologa que brindan de los motores de qu se debe hacer, independientemente de cmo se va
reglas. Si se planifica hacer los casos de uso ms eficiente hacer.
o incluso automtico y, al mismo tiempo controlar la Por su parte, los motores de reglas son una novedosa
calidad de las decisiones, el uso de reglas y los motores de tecnologa que despliegan las reglas que definen la lgica
reglas, esto resultara una buena solucin. de negocio de las organizaciones o empresas. Los motores
Los motores de reglas son marcos de trabajo o se convierten en un componente vital para desarrollar una
frameworks que permiten organizar la lgica de negocio de aplicacin con gran adaptabilidad a los cambios que
la aplicacin, lo que le permite al usuario definir reglas enfrentan los negocios diariamente.
apoyndose en conocimiento que sabe que va a ser cierto
en un momento determinado, y a partir de aqu, permitir a REFERENCIAS
mecanismos a bajo nivel inferir conclusiones o tomar
decisiones [12]. [1] Company, T. M. :Model Driven Development for J2EE Utilizing a
Model Driven Architecture (MDA) Approach, The Middleware
Se define que un motor de reglas de negocio es un Company. 2003.
componente que, a partir de una informacin inicial y un [2] Molina, J. J. G. Ingeniera de modelos con MDA. 2004.
conjunto de reglas, detecta qu reglas deben aplicarse en [3] AndroMDA. "What is AndoMDA." 2008.
un instante determinado y cules son los resultados de esas From:http://galaxy.andromda.org/index.php?option=com_content&task
=blogcategory&i d=0&Itemid=42 1658642.
reglas. Bsicamente un motor de reglas de negocio est
[4] Jboss. The JBoss 4 Application Server Guide. 2005.
compuesto de tres elementos: un conjunto de reglas, el
[5] Floyd , Marinescu: EJB Design Patterns. John Wiley & Sons, Inc,
espacio de trabajo o conocimiento que tiene y el procesador 2002.
de reglas. [6] von Halle, B. : Business Rules AppliedBusiness Better Systems
Las reglas son sentencias de la forma IF-THEN, de tal Using the Business Rules Approach. John Wiley & Sons, New York,
manera que si se cumplen todas las condiciones del IF se 2002.
ejecutan todas las acciones del THEN. El espacio de trabajo [7] Gonzlez, JC.: Motor de reglas: TDI Gasolina. Available:
http://biztalkfridays.wordpress.com/2008/08/29/motor-de-reglas-tdi-
es donde se almacena el conocimiento que el motor o-gasolina/
utilizar para decidir qu reglas deben activarse [13]. [8] Ambler, S.: Business Rules. Available:
http://www.agilemodeling.com/artifacts/businessRule.htm
53
[9] Rob, Johnson:. Expert One-on-One J2EE Design and Development.
Wiley Publishing, Inc, 2003.

[10] Olivieri, R.:Implement business logic with the Drools rules


engine,
Available:http://download.boulder.ibm.com/ibmdl/pub/software/dw
/java/j-drools-pdf.pdf

[11] Giurca, A.: When to Use Rules in Your Application. Available:


http://oxygen.informatik.tu-cottbus.de/RealRules/?q=node/49
[12] P. Browne, Give Your Business Logic a Framework with Drools.
Available: http://www.onjava.com/pub/au/2366
[13] Rince, W.: Drools I. Introduccin a los motores de reglas de
negocios.
Available: http://rincew.blogspot.com/2005/11/drools-i-introduccin-los-
motores-de.html
[14] Codehaus Foundation. Drools Java Rules Engine.
Available: http://legacy.drools.codehaus.org/Agenda

Juan Carlos Garca Gonzlez. Ingeniero Informtico. Pertenece a un


grupo de investigacin y desarrollo de la Facultad de Ingeniera Informtica
de la Cujae. Ha trabajado durante tres aos en el equipo de desarrollo del
proyecto SIGENU. Ha obtenido varios premios y reconocimiento entre los
cuales se puede destacar una mencin en la Feria Informtica 2009. Realiz
una amplia investigacin sobre el tema de las reglas de negocio y los motores
de reglas de negocios en aplicaciones empresariales a partir de lo cual elabor
su trabajo de diploma.
Email: jcgarcia@ceis.cujae.edu.cu

54

Anda mungkin juga menyukai