Articulo Congreso Andino LOC PDF
Articulo Congreso Andino LOC PDF
Articulo Congreso Andino LOC PDF
Resumen
Los Sistemas de Gestión de Procesos de Negocio (BPMS) tienen por objetivo facilitar la actividad
empresarial, permitiendo el control automatizado de los procesos de las organizaciones. Sin
embargo, no es deseable que los modelos de proceso de negocio, generados por estos BPMS,
incluyan las reglas de negocio dentro de sí. Esto representa un serio problema para la
modularidad y flexibilidad del modelo, pues cuando se requiere modificar una regla que se usa en
distintos puntos del modelo, es necesario modificar el modelo en todos los puntos donde se utilice
la regla. En este artículo se hace una propuesta para separar las reglas de negocio del modelo de
proceso y manejarlas de forma independiente mediante un motor de reglas de negocio. Esto
implica guardar las reglas de negocio en un repositorio que controla un motor de reglas de negocio
y una técnica para invocar la regla desde el modelo. Con este trabajo se hace un aporte al
mejoramiento del diseño de los actuales BPMS que se traduciría en modelos de negocios muy
flexibles y modulares.
Palabras Claves: Regla de negocio, Motor de Reglas de Negocio, Proceso de Negocio, Modelo
de Proceso de Negocio, Suite de Gestión de Procesos de Negocio (BPMS).
Abstract
Systems Business Process Management (BPMS) are intended to facilitate business, allowing
automated control of the processes of organizations. However, it is not desirable that the business
process models generated by these BPMS, business rules included within. This presents a serious
problem for modularity and flexibility of the model, because when you want to change a rule that is
used in different parts of the model, it would be necessary to change the model at all points where
the rule is used. In this paper a proposal to separate business from process model and manage it
independently using a business rules engine is done. This involves keeping the business rules in a
repository that controls a business rules engine and a technique to invoke the rule from the model.
This paper is a contribution to improving the design of existing BPMS that would result in highly
flexible business models and modular.
Keywords: Business Ruler, Business Process Engine, Business Process, Business Process
Model, Business Process Management System (BPMS).
1
Ingeniero de Sistemas de la Universidad Autónoma de Colombia. Obtuvo la suficiencia Investigadora y el Diploma de
Estudios Avanzados en el Doctorado de Programación Declarativa e Ingeniería de la Programación y Candidato a Doctor de
la Universidad Politécnica de Valencia UPV (España). Profesor invitado en el Departamento de Sistemas Informáticos de la
UPV. Profesor investigador y docente Tiempo Completo en el Programa de Ingeniería de Sistemas de la Universidad de
Boyacá (Tunja, Boyacá, Colombia). Email: lochaparro@uniboyaca.edu.co. Correo electrónico:
2
Construcción de un proceso de desarrollo de software con base en Model Driven Architecture MDA, Model Driven
Software Development MDSD y BPM. ejecutado en el periodo Marzo de 2010 – Julio de 2013, e inscrito en el grupo de
investigación Grupo de Investigación en Procesos y Calidad de Software - GIPROCAS de la Universidad de Boyacá.
Ocurre también que, algunos modelos de proceso son por naturaleza dinámicos;
es decir, requieren cambios en tiempo de ejecución. En estos casos se requiere
que las reglas que orientan tales cambios puedan ser consultadas y/o asociadas
de manera dinámica; es decir, que estas dos acciones se puedan hacer en tiempo
de ejecución.
Por otro lado, la notación de facto para modelar procesos de negocio es el ‘Modelo
y Notación de Procesos de Negocio’ (BPMN). BPMN posee una amplia cantidad
de símbolos que permiten modelar diversos tipos de procesos de negocio; sin
embargo, es casi nula la atención dada a la especificación de RN que influyen en
1. Fundamento Teórico
3
La mayor parte del material que se presenta a continuación ha sido extractado de (Howard Smit
and Peter Fingar, Bussiness Process Managent: The Thirt Wave)
4
WSBPEL es el acrónimo de Web Service Business Process Execution Language
Elementos de BPMN
Uno de los propósitos centrales de BPMN, es proporcionar un mecanismo sencillo
y comprensible para la creación de BMP, con capacidad de manejar la
complejidad inherente a los procesos de negocio. Para alcanzar este propósito
BPMN organizó sus elementos gráficos de la notación en cinco categorías
fundamentales: objetos de flujo, datos, objetos de conexión, carriles de natación y
artefactos.
Los objetos de Flujo son los elementos más importantes de la notación. Estos
objetos pueden ser de tres tipos: eventos, actividades y compuertas. Los datos se
representan mediante objetos de datos, entradas de datos, salidas de datos o
almacenes de datos. Los objetos de conexión permiten conectar los objetos de
flujo entre sí y con otros elementos de información. BPMN proporciona cuatro
objetos de conexión: flujo de secuencia, flujo de mensajes, asociaciones y
asociaciones de datos. Los “carriles de natación” disponen de dos formas de
agrupar elementos de modelado en piscinas y carriles. Los artefactos permiten
adicionar información a los procesos. Los artefactos estándar son: grupos y
anotaciones de texto. Si es necesario, los modeladores o las herramientas de
modelado están en libertad de adicionar tantos artefactos como requieran.
Desde la perspectiva del negocio, se considera que las RN son elementos que
regulan la estructura y comportamiento del negocio. SBVR5 dice que una regla de
negocios es una “regla que está bajo la jurisdicción del negocio”; donde “la
jurisdicción del negocio” es la comunidad semántica (personas) que pueden
expedir, revisar y suprimir las RN que la gobiernan y orientan, cuando lo considere
conveniente [OMG2008].
5
SBVR es el acrónimo de “Semantics of Business Vocabulary and Business Rules”
Taxonomía de las RN
Para este estudio, son de interés las reglas operativas y las reglas de derivación,
ya que estos dos tipos de reglas pueden influir el flujo de las actividades de un
proceso de negocio. Las reglas estructurales, prioritariamente describen las
relaciones existentes entre los objetos de un sistema de información, por lo que no
son de interés para este trabajo.
Una regla de estímulo respuesta establece que una acción se debe ejecutar
(automáticamente) cuando se cumple una determinada condición (reglas CA).
Otras reglas reaccionan cuando ocurre un evento y se cumple una condición
(ECA), otras simplemente reaccionan cuando ocurre un evento, sin que medie una
condición adicional (EA). En este caso la ejecución automática de la acción ocurre
como respuesta a un evento y/o a que se cumple una determinada condición.
6
Todo el apartado ha sido tomado de esta fuente
Reglas de
- R. de condición previa
Negocio - Restricción de operación
- R. de condición posterior
R. Operativa
- ECA
(Restricción de - R. de Estímulo respuesta - CA
acción) - EA
- R. privilegios de agente
- Inferencia
R. de derivación
- Cálculo matemático
2. Metodología
Aquí se hace una propuesta para extraer las RN del modelo de proceso de
negocio, de manera que su almacenamiento y gestión se haga desde un motor de
RN. Este enfoque conduce a procesos de negocio más flexibles y modulares. Los
siguientes son los principales aspectos analizados en los modelos de proceso
actuales y en la notación de BPMN:
Existen dos tipos de reglas en un proceso de negocio: las reglas de proceso
(RP) y las RN. Las RP determinan el flujo de las actividades de proceso; ellas
se representan principalmente mediante compuertas divergentes y
convergentes en BPMN. Las RN influyen sobre las RP influyen de acuerdo con
el tipo de RN.
Los principales tipos de RN que pueden influir sobre las RP son: reglas de
restricción (precondición / post-condición), reglas de estímulo respuesta
(generadas por eventos: ECA, EA y CA), reglas de inferencia y reglas de
cálculo.
BPMN 2.0 solo proporciona una símbolo para representar el modelado de RN;
la tarea de regla para representar el llamado a reglas de inferencia.
Como existen varios tipos de RN, ocurrirá lo siguiente:
o Debe definirse un repositorio para almacenar cada tipo de RN.
Aquí se considera que un proceso estable es aquel cuyo flujo de actividades varía
muy poco y con una frecuencia muy baja. Sin embargo, independientemente del
tipo de proceso, muchas de las reglas de proceso dependen de procesamiento
previo de una o más reglas de negocio. Además, como las RN pueden tener una
alta tendencia al cambio (volatilidad) y una misma regla puede actuar en diversos
puntos del proceso, es preciso que las reglas de negocio sean extraídas del
proceso para ser gestionadas de manera independiente del proceso.
Sea el caso de una orden de compra que una vez recibida, deberá enviar la orden
al jefe de despachos si se trata de un cliente corriente o a un directivo para que
autorice un descuento si se trata de un cliente especial. Hasta aquí, pareciera que
la aplicación de la RP es suficiente para continuar con el flujo de proceso, pero en
realidad su aplicación depende de RN de inferencia que deben ser procesadas
previamente para saber si el cliente es corriente o especial.
Nótese que las RN que permiten inferir el tipo de cliente, pueden cambiar por
políticas de la empresa. Si las reglas se procesan independientes del proceso, no
será necesario hacer cambios en cada uno de los puntos del proceso que tal regla
afecta, solo bastará con hacer cambios en el repositorio donde esté almacenada la
regla. Además, no habrá problemas de consistencia, pues la regla solo se modifica
una vez.
A1
A2
X R1
R2
R3
R4
A3 A4
R5
An
De otro lado, si una RN requiere cambios, estos se hacen con el apoyo del motor
de reglas, y el modelo de proceso se mantiene intacto.
Una RN puede afectar diversos tipos de elementos del proceso; es decir, puede
influir sobre una actividad, sobre una compuerta, sobre un evento o sobre una
combinación de estos elementos. El problema radica en cómo identificar esta
influencia.
Se ha dicho que los tipos de reglas que pueden afectar el proceso son restricción
de operación (precondición y postcondición), reglas de estímulo respuesta (EA,
ECA) y reglas de derivación (calculo e inferencia).
Regla de derivación
Una regla de derivación puede ser de cálculo matemático o de inferencia. La
primera se define mediante un algoritmo o fórmula matemática que puede incluir
variables y valores constantes. Una regla de inferencia por lo general actúa junto
con otras reglas que una vez combinadas apropiadamente permite obtener u
resultado.
Un conjunto de reglas de inferencia está asociado con RP, por lo general mediante
una actividad que fluye hacia una compuerta Or exclusiva. Al combinar las RN de
inferencia arrojan un resultado sobre los que la RP actúa para conducir al flujo por
uno y solo un camino.
Ajustar Oferta y
Enviar al cliente
Comercial
Espera que
Espera mensaje pase 1
de confirmación Semana y no
por Fax llega Fax
Confirmar el
estado de oferta
Comercial
Oferta aceptada?
No
si
Esperara hasta
las 13 h.
Envío de pedido
Dpto. de envios
Se activa cuando
pasan 24 horas
Comentarios
Un conjunto de reglas de cálculo está asociado con una RP, por lo general
mediante una actividad que fluye hacia una compuerta Or exclusiva. Al aplicar la
regla de cálculo se obtiene un resultado sobre los que la RP actúa para conducir al
flujo por uno de los caminos.
En la figura 3 se deben cumplir uno de dos eventos (Evento Acción) para poder
continuar con la actividad de ‘confirmar el estado de la oferta’. Esta configuración
representa la RP que controla este flujo. En la compuerta paralela (rombo con un
+) se debe asociar las reglas:
R1: Se debe esperar una confirmación vía Fax indicando la aceptación o
rechazo de la oferta.
Analizar condiciones
del cliente
Tipo de cliente?
Calcular total
contable
Empacar y enviar
Despachador
La regla de proceso, en este caso está conformada por una compuerta paralela de
entrada y una compuerta exclusiva de salida, que controlan dos eventos. Esta
configuración indica que solo es necesario esperar que ocurra uno de los dos
eventos para continuar el flujo del proceso.
Al igual que en los casos anteriores, las reglas pueden ser actualizadas sin que el
proceso tenga que cambiar. Por ejemplo, puede cambiar el tiempo de espera para
la llegada del fax o el tipo de documento aceptado.
En este artículo, se presentó una propuesta para separar las RN de los modelos
de proceso con el propósito mejorar la flexibilidad y modularidad de los procesos
de negocio automatizados. La estrategia básica gira en torno a identificar las RN
que se encuentran escondidas en el proceso de negocio para hacer explicita su
relación con las RP. En este caso, se incursionó un poco más, pues descubrió
algunas relaciones entre tipos de RN y patrones de modelo de proceso. Este
hecho favorece la sistematización del proceso de separación de la RN y la
estrategia de invocación.
Por otro lado se estudió las principales características de BPMS como Aura Portal.
Se estudiaron algunos casos de modelos de procesos para determinar la relación
entre las reglas de proceso y las reglas de negocio, para así determinar cómo
hacer su separación. Los modelos presentados en este estudio, fueron
desarrollados con Microsoft Visio utilizando la notación de BPMN.
5. Referencias bibliográficas
BRG - Business Rules Group (2000). Business Rules Grop – BRG. Defining Business Rules – What
are Really? Final Report, Revision 1.3 July, 2000.
BRG - Business Rules Group (2007). The Business Rules Group BRG. The Business Rules
Motivation Model – Business Governace in a volatile World. Copyright, 2007.
BRG - Business Rules Group (2009). The Business Rules Manifesto. Version 2.0 (2003)
http://www.businessrulesgroup.org/brmanifesto.htm#top. Copyright 2003-2013 BRG.
CHAPARRO, Luis (20012). Clasificación de las Reglas de Negocio Orientada por MDA que Apoya el
Desarrollo de Software Empresarial. EIISI 2012.
DEVENPORT, Thomas. Process Innovation: Reengieering wortk trhough Information Technology,
Harvard Business Press, ISBN 0875843662 1993.
EDWARDS, William (1986). Out of the Crisis. MIT Press. ISBN 0-911379-01-0. OCLC 13126265.
HAMMER, Michael & CHAMPY, James. Reengeneering the corporation: A Manifesto for Business
Revolution, summaries.com, 2000
http://moodle.unitec.ac.nz/pluginfile.php/192283/mod_resource/content/0/Reengineering_The_
Corporation.pdf.
MARTIN, James, ODELL, James (1998). Object Oriented Methods, Prentice Hall, New York 1998.
ODELL, James (1998). Odell, James. “Business Rules”, Object Magazine, Jan 1995, pp. 53-56.
Título del
*
documento Enfoque para Flexibilizar el Modelo de Proceso de Negocio
Título del proyecto*
Construcción de un Producción de software con basen e MDA y MDSD
Investigador(es)*
Luis Oliverio Chaparro Lemus y Federico Gómez Estupiñan
Coinvestigador(es)
Estudiantes del Semilero TECNOSOFT
Resumen (50 a 100 Como lo especifica el título, el objetivo de este trabajo fue construir un
palabras)* proceso con base en el marco de la Arquitectura Dirigida por Modelos
MDA y en los principios del Desarrollo de Software Dirigido por Modelos
MDSD. Para lograr el objetivo planteado se estudio la teoría a cerca de
MDA y MDSD; se asociaron modelos y artefactos a cada nivel MDA (CIM,
PIM y PSM) y se establecieron las correspondencias entre los modelos
MDA adyacentes. Para ilustrar el proceso y la conformación de los niveles
MDA, se tomó un caso de uso de conocimiento común, el RentaCar, el
que se modificó y se amplió para este caso. El proceso resultante incluye
un marco detallado que describe el flujo de trabajo, la asociación de
diagramas y artefactos a cada nivel y la caracterización de cada
diagrama. Este proceso se perfila como un realización concreta de la
propuesta de MDA y MDSD.
*
Datos indispensables
* Información indispensable
Ítem Detalles
Nombres: Luis Oliverio
Apellidos: Chaparro Lemus
Insertar
Nacionalidad: Colombiano
Fotografía
Fecha de nacimiento: Junio 28 de 1957
reciente
Lugar de nacimiento: Tota Boyacá
Documento de identificación: 19289972
Título: Ingeniero de Sistemas
Institución: Universidad Autónoma de Colombia
Año obtención: 1990
Título:
Información
Institución:
académica
Año de obtención:
Título:
Institución:
Año de obtención:
Dirección: Carrera 10 No 74B-28
Ciudad: Tunja
Información País: Colombia
residencial Teléfono fijo: 7451213
Teléfono móvil: 3123771943
Correo personal: lochaparro@uniboyaca.edu.co
Cargo: Docente investigador
Institución: Universidad de Boyaca
Dirección: Carrera 2 Este No. 64-169
Información Ciudad: Tunja
laboral actual País: Colombia
Teléfono fijo: 7450000 ext. 6207
Teléfono móvil:
Correo laboral: lochaparro@uniboyaca.edu.co
Correo personal __ Correo laboral _X_
Contacto Correspondencia a residencia __ Correspondencia a oficina __
preferido Teléfono fijo residencia __ Teléfono fijo oficina __
(señalar con x) Teléfono móvil personal __ Teléfono móvil laboral __
Autor. (Año). Título del artículo. En: Título de la revista. Número del volumen,
número de la entrega (mes). Lugar de publicación: Editorial. Paginación. ISSN.
7
Para trabajos colectivos se solicita que se multiplique la tabla formato, y se organice de acuerdo a
la ubicación de cada autor en el encabezado del documento.
Luis Oliverio Chaparro Lemus y Juan Federico Gómez Estupiñan. (2012). MDA
y MDSD: El Papel de los Modelos en el Desarrollo de Software. En: Revista
Proyección Universitaria. Número 37, Enero-Junio. Tunja: Universidad de
Boyacá. Páginas 70 a 90. ISSN 0120-5951.
Luis Oliverio Chaparro Lemus (2011). Ponencia: “Reglas de Negocio: un
Enfoque que Mejora el Desempeño de los Sistemas de Información” En:
Segundo Seminario Internacional de Gestión Tecnológica en Ingeniería,
Tecnologías de la Información y las Comunicaciones, Industria y Medio
Ambiente. 29 y 30 de Septiembre de 2011. Tunja: Universidad de Boyacá.