Las reglas del negocio

Las empresas mejoran su flexibilidad y agilizan su adaptabilidad

Una ley básica de la tecnología es que sólo se obtienen resultados inteligentes cuando personas inteligentes utilizan herramientas inteligentes. Los desarrolladores de aplicaciones pueden ser excelentes escribiendo codificación para ellas, pero no es conveniente dejarles que adopten decisiones sobre normas o reglas empresariales. De la misma forma, los analistas comerciales o financieros deberán concentrarse en lo que hacen mejor, en lugar de intentar convertir las decisiones de negocio en documentos trabajosamente detallados sobre requerimientos.

Un sistema de gestión de reglas comerciales o BRMS (Business Rules Management System) puede servir de puente entre el área de negocio y el área de tecnología de la información en una empresa, dando a los analistas empresariales el control de la lógica e incluso el de la codificación. Esta idea, en cierto modo herética, presupone un enfoque fundamentalmente diferente respecto al desarrollo de aplicaciones, bajo la cual los desarrolladores separan la lógica empresarial de una aplicación de su lógica de validación de datos, generalmente mediante algún tipo de interface gráfico GUI, y de su control de flujo. La lógica empresarial reside entonces en su propio contenedor, el sistema BRMS, en el cual los analistas codifican reglas de negocio en un lenguaje de programación simple. Los motores o programas de proceso BRMS se integran normalmente en aplicaciones de empresa verticales, como las que manejan las pólizas de seguros, solicitudes de préstamo, calendarios complejos u otras tareas que requieren simulación o experiencia humana. Las ventajas son obvias: en lugar de comunicarse telefónicamente con la organización TI de la empresa, el área de negocio obtiene el control directo sobre las reglas que gobiernan el comportamiento de las aplicaciones. Y cuando los analistas deciden que las reglas de negocio deben cambiar, pueden realizar esas alteraciones ellos mismos en lugar de esperar a que el departamento TI lo resuelva. El resultado son costes de mantenimiento de aplicaciones mucho más bajos y una confianza mucho mayor de que dichas reglas empresariales se están implementando en la forma deseada.

Resolviendo la complejidad de la lógica
Generalmente, los analistas mantienen una relación mucho más distante con las aplicaciones de empresa que la que mantienen por ejemplo con un modelo spreadsheet en el PC. Si los usuarios de la empresa desean que se cree una nueva aplicación o realizar cambios a una ya existente, presentan una petición al departamento TI, que probablemente desconocen lo que dicen. Así comienza un círculo de reuniones interminable entre el área de negocio y el área TI de la empresa con el fin de resolver las ambigüedades. Llegado un punto, los desarrolladores de aplicaciones comienzan a escribir la codificación, bien incorporando reglas de negocio en componentes de software que funcionan en un servidor de aplicaciones o implementándolas en procedimientos almacenados en una base de datos. El equipo de desarrollo prueba entonces este código y lo devuelve a los analistas comerciales para su verificación en cuyo momento es rechazado porque los resultados son totalmente diferentes de lo que habían previsto los analistas. Después de unos meses y de haberse re-escrito unas cuantas veces el código, lso usuarios reciben finalmente algo con lo que puede vivir y trabajar.
En contraste, con un sistema BMRS, los analistas determinan y escriben la lógica comercial. Todo lo que hace falta es que sepan cómo escribir una regla. Cada regla es declarativa por naturaleza, y puede interactuar con otras reglas. Un sistema BRMS permite a los analistas comerciales ver, comprender, codificar y realizar el mantenimiento de estas reglas sin ayuda (o con cierta ayuda algunas veces) del departamento TI.
El sistema BRMS filtra las reglas hasta producir una solución. Así, se mantiene trabajando en bucle sobre las reglas una y otra vez hasta que no hay más reglas que puedan ser ejecutadas. La idea es que cambiando los datos se provoca y determina la forma en que se ejecutan las reglas y que al interactuar éstas entre sí se reduce la necesidad de intervención humana. De esta forma, determinados conjuntos interrelacionados de reglas pueden gobernar las aprobaciones de préstamos, pólizas de seguros, elección de compañías navieras, etc.
Por el contrario, en el desarrollo de aplicaciones convencional, las reglas deben ser ordenadas de forma increiblemente frágil, de arriba abajo. Es por eso que se requiere tanto tiempo para escribir, modificar y mantener reglas de negocio utilizando métodos de desarrollo de aplicaciones convencionales.

Especialización sectorial
Las instituciones financieras ofrecen algunos de los mejores ejemplos de sistemas BRMS en acción. Por ejemplo, en los últimos años se ha observado una explosión en la cantidad y la diversidad de productos financieros para préstamos, cada uno de ellos gobernado por su propio conjunto de reglas. BMRS permite al lado comercial de una empresa actuar creativamente sin miedo a incurrir en un esfuerzo TI excesivo.
Varios bancos importantes, incluyendo Lloyds TSB, Barclays, y Citibank, utilizan un sistema BRMS para diversas aplicaciones, como las de elegibilidad para préstamos y las de cálculo de precios. Una aplicación JRules utilizada en uno de esos bancos no sólo comprueba el historial de crédito del solicitante, sus ingresos, etc., sino que también comprueba la validez de posibles co-firmantes, y sobre esa base puede recomendar que el solicitante pida un status superior. Una vez aprobado el solicitante, el BRMS busca el mejor precio para el préstamo de acuerdo con reglas establecidas y aprobadas por los departamentos de préstamos y de ventas. Toda esta actividad es monitorizada diariamente por los departamentos de marketing y de ventas.

Cambiando las reglas del juego
Aunque el sistema BRMS ha alcanzado probablemente su mayor éxito en el mundo financiero, esta tecnología está siendo aplicada a muchas otras áreas. Las compañías de telecomunicaciones en particular están entre sus clientes corrientes, y utilizan con frecuencia un BRMS para diversas aplicaciones, desde determinar cómo dirigir los mensajes hasta planificar el tiempo inactivo por mantenimiento y la gestión de las relaciones con clientes. Otra aplicación de telecomunicaciones frecuente es el uso de RBMS para ayudar a cumplir y optimizar las operaciones sobre regulaciones federales, intraestatales e interestatales.
Cuando se les introduce al concepto BRMS, las compañías se enfrentan generalmente a un obstáculo conceptual para distinguir entre las reglas que gobiernan las diferentes funciones de negocio. Sin embargo, una vez que se supera este obstáculo, y que los analistas se concentran en las reglas que cambian dinámicamente, puede aplicarse con éxito un sistema BRMS en algunos lugares inesperados.

Nuevos estándares para BRMS
En los orígenes del desarrollo de sistemas basados en reglas había pocos proveedores, la mayoría de los cuales utilizaban alguna variante de sintaxis desarrollada por los programadores de OPS (Official Production System) de la Carnegie Mellon University. Cada proveedor introdujo su propio matiz en el lenguaje, consiguiendo así como fijos a los clientes. Lo que el sector necesitaba y sigue necesitando es una forma de introducir reglas en un formato válido para diversos programas de proceso de reglas.
Varias comunidades de usuarios están proponiendo está

Whitepaper emc-cio-it-as-a-service-wp Whitepapers