Estimados (estoy aprendiendo como ustedes y quiero compartir este
texto)
La idea central detras del concepto de reglas de negocios es que
cualquier organización tiene una lógica de cómo lleva a cabo su
operación y administración en las tareas que realiza día a día.
Estas se pueden organizar en tres grupos
a) Reglamentación legal (que regula la operación de la empresa).
b) Reglas de operación para sus procesos internos (Separar la
política interna de la práctica)
c) Reglas de operación del software
Las reglas de negocio deben cumplir un conjunto características que
todos los negocios buscan
a) Incrementar la velocidad de implementación
b) Administrar la diversidad de cambio de algunos negocios
c) Deben ser auditables claramente
d) reglas de negocio reusables
e) Mejor alineamiento a través de la empresa
f) Deben cumplir estándares de ingeniería (de especificación e
implementación)
Para su implementación (búsqueda en el mercado de administradores de
reglas de negocios) hay desde los más básicos:
a) Cualquier procesador de textos que le permita manejar un archivo
y almacenarlo con la clasificación dewey respectiva.
b) Complejos software que permite llevar a operación flujos de
trabajo (persona a persona), interceptar mensajes y realizar
complejos cálculos a través de administradores de reglas de negocio
(BRMS ver en wikipedia)
Las componentes y características técnicas que deben cumplir los BRMS son en general:
a) Rules.- Las reglas deben poder almacenarse y escribirse como sentencias y procedimientos en lenguajes formales, cada empresa del mercado a tratado de imponer su propio estilo (jbmp, jrules v/s drools, etc.)
b) Rule Templates.- Templates de reglas Si existen características comunes en un conjunto de negocios por qué no agruparlas y ofrecerlas como una regla ya implementada (Rule templates)
c) Rule Syntax Checking (Revisión de sintaxis). Al momento de escribir una regla debe poder en tiempo real revisarse
d) Procedures and Algorithms.- Todo buen software de BRMS debe tener la característica de poder invocar tanto un procedimiento como un conjunto de reglas que retornen valores.
e) RuleFlow.- Característica de seguir una secuencia o flujo de trabajo para desarrollar las reglas.
f) Decision Tables and Decision Trees (Clave) Todo buen BRMS debe tener la característica de poder visualizar, modificar árboles de desiciones (Importante al momento de realizar debug y comunicación entre el equipo de analista, experto del negocio, arquitecto
g) Inference: Motor de Inferencias, es el medio por el cual se puede aplicar conocimiento a los datos (estrategias comunes como backward chaining
, forward chaining o goal-directed )
h) Uncertainty and Explanation.- Sistema separado que permiten a un conjunto de reglas dar explicación a características casi de simulación a preguntas tales como ¿Qué sucede si?, ¿Qué unidades se ven afectadas si cambio tal regla ?, esto permite incorporar elementos de juicio cualitativo y administración del cambio de reglas
¿A quién le sirven estas cosas ? a las personas que quieran hacer la evaluación de un Software BPMS por supuesto.
Ahora
Para comenzar su implementación se debe seguir una recomendación de
buenas prácticas por ejemplo la recomendación del ciclo de vida BPM
(
http://www.bpmn.org/),
es decir seguir la estrategia de la Arquitectura empresarial (Arquitectura de
negocio, cadena de valor diagrama de la organización transformación
de la cadena de valor en EPC, etc.) Un diagrama muy bueno es el
mostrado en este sitio:
http://www.idungu.com/EnterpriseArchitect/EnterpriseArchitect.aspx
Bibliografía para quienes desean consultar:
Business Rules Management and Service Oriented Architecture A
pattern Language de Ian Graham
How to Build a Business Rules engine Extending Application
funcionality through Metadata engineering
Malcom Chisholm.
Saludos,
PATRICIO ROJAS O.
+56 9 74991604