Oswald Regular
OpenSans Regular
Business Rules Environment

Ab Initio satisface las necesidades de una amplia gama de usuarios. Por una parte, facilita el trabajo de los desarrolladores de aplicaciones, quienes tienen a su cargo el diseño y armado de sistemas sofisticados capaces de procesar grandes cantidades de datos en entornos complejos. A estos usuarios, Ab Initio les ofrece el Graphical Development Environment (GDE®), una tecnología que simplifica el armado de procesos complejos en un entorno gráfico bajo una lógica de negocio también complicada. Las aplicaciones resultantes se ejecutan en el Co>Operating System®, que es extremadamente robusto y escalable.

Por otra parte, Ab Initio simplifica el día a día de aquellos usuarios que proceden del área de negocios, los cuales no están ni capacitados ni interesados en la mecánica de procesamiento de terabytes de datos o de miles de mensajes por segundo. Estos usuarios, no obstante, tienen muy claro cuáles son las cosas que sus sistemas deben lograr. De hecho, con frecuencia, ellos conocen mejor que nadie los detalles de los datos y las reglas que controlan el negocio.

A lo largo de los años, se ha ido produciendo un distanciamiento, a veces hostil, entre los equipos encargados de la tecnología de la información de las empresas y los usuarios de negocios a quienes asisten. Éstos últimos conocen cuáles son los objetivos y lo que significan para el negocio. A su vez, los profesionales de la tecnología de la información son quienes saben cómo hacer dichos objetivos asequibles. El departamento de tecnología de la información pide las especificaciones y los usuarios de negocios hacen lo que está en su mano para proveerlas en detalle. Claro que es inevitable que se produzcan ambigüedades y errores, tanto en las especificaciones propiamente dichas como en su conversión a código de programación. El proceso (dentro del cual se incluyen además las fases de comprobación y lanzamiento) nunca funciona ni con la fluidez ni con la rapidez esperada. En cada etapa, a alguna persona le toca descifrar lo que quiso decir otra. Esto toma mucho tiempo. Y lo que es peor: las distintas fases propician nuevas ocasiones para cometer errores. Pasa además que cada vez se tarda más tiempo en encontrar los errores, contrastarlos con las especificaciones y cambiar el código. Todo lo anterior hace que la productividad se resienta y que la corrección nunca quede asegurada por completo. Y sucede a veces que el ciclo nunca converge, por lo que el proyecto acaba fracasando.

¿Se imagina que los usuarios de negocios controlaran los fragmentos específicos de los sistemas con los que se implementa su lógica de negocio? ¿Se imagina que sus reglas de negocio se pudieran expresar de una forma fácil de comprender y que fueran reglas que incluso ellos mismos pudieran escribir, las cuales se pudieran además convertir automáticamente en un código de programación ejecutable dentro de un sistema de mayor envergadura? Suena maravilloso, ¿no es cierto? Ese es, precisamente, el concepto en el que se basa el Business Rules Environment.

El Business Rules Environment (BRE®) de Ab Initio® permite a los analistas empresariales especificar las reglas de negocio en un formato familiar y cómodo: el formato de las hojas de cálculo con filas y columnas. En el BRE, las reglas se especifican en términos empresariales, y no técnicos, mediante expresiones que conoce cualquiera que haya trabajado con Microsoft Excel. Gracias a ello, no sólo se pueden especificar reglas con rapidez y precisión, sino que también su comprensión acaba siendo más fácil para el resto de los empleados de negocios.

Pero hay más ventajas. El BRE otorga a los usuarios de negocios el control sobre la verificación de las reglas. Los usuarios de negocios no sólo pueden especificarlas directamente en el sistema, sino que también pueden ver de inmediato los resultados de su aplicación en los datos de comprobación. Y si no están satisfechos, pueden cambiar las reglas allí mismo. El tiempo que se ahorra es enorme.

El Business Rules Environment de Ab Initio® no es una herramienta autónoma

Los “motores de reglas” tradicionales son herramientas autónomas. Es preciso personalizarlas para que puedan interactuar con otros productos y con el resto de la infraestructura de computación. Además, su rendimiento y su escalabilidad son limitados. Sólo pueden procesar estructuras de datos sencillas. Su perspectiva se reduce a las reglas que procesan, por lo que no pueden hacer un seguimiento del linaje a través de sistemas enteros.

Las limitaciones y problemas enumerados los soluciona el BRE de Ab Initio. Y los puede resolver porque el BRE está íntimamente relacionado con el Co>Operating System y con las tecnologías de metadatos de Ab Initio. Su arquitectura y su implementación fueron concebidas de esa forma. O para decirlo de otra manera: esta característica suya no es un accidente ni el resultado de una estrategia de marketing.

  • Las mismas reglas del BRE se pueden ejecutar sin necesidad de volver a implementarlas en aplicaciones por lotes, continuas, de servicios web y en tiempo real.
  • Las reglas del BRE se ejecutan con una eficiencia extraordinaria y se pueden escalar para ejecutarlas así en varias CPU y en varios servidores. La escalabilidad de los sistemas armados con Ab Initio es, por lo tanto, ilimitada.
  • Las reglas del BRE pueden procesar datos jerárquicos heredados complejos. Cualquier elemento que pueda existir en un entorno heredado (EBCDIC, decimales empaquetados, formatos internacionales, XML, Copybooks de Cobol, etc.) puede procesarlo el BRE nativamente junto con el Co>Operating System.
  • Las mismas reglas del BRE se ejecutan de forma idéntica en todas las plataformas compatibles con el Co>Operating System (Unix, Linux, Windows, z/OS y z/Linux).
  • El BRE aprovecha las ventajas de todas las operaciones del Co>Operating System, como el control de errores, los puntos de verificación, etc.

¿Qué son las “reglas de negocio”?

El BRE es compatible con tres estilos diferentes de reglas de negocio: reglas de decisión, reglas de validación y reglas de asignación. Aunque sean similares en lo fundamental, los usuarios de negocios están acostumbrados a clasificar las reglas en una de las categorías anteriores.

Según lo requiera la naturaleza del negocio, las reglas pueden ser sencillas y breves, o ser complejas y muy largas. El BRE admite ambos extremos. Actualmente, los mayores conjuntos de reglas del BRE en producción tienen más de 50 000 reglas.

A continuación se muestra un ejemplo de una regla de negocio de decisión muy sencilla que ha sido especificada en el BRE y que corresponde al cálculo del importe a pagar en la declaración del impuesto sobre la renta de los Estados Unidos (lo que se conoce como el formulario 1040):

Esta regla tiene dos entradas, Filing status y Taxable income line 43, y computa una salida llamada Tax (line 44). En el BRE, hay un operador AND implícito entre las columnas y un operador ELSE implícito entre las filas. Por tanto, las primeras filas de esta regla son:

IF Filing status es Single AND Taxable income line 43 es menor o igual que 100000, THEN Tax (line 44) equivale a consultar el valor de Taxable income line 43 en Tax from Table y devolver el monto para declarantes Single, o sea, solteros.

ELSE IF Filing status es Single AND Taxable income line 43 es mayor que 100000 y menor o igual que 171550, THEN Tax (line 44) equivale al valor de Taxable income line 43 multiplicado por 0.28 menos 6280.00.

ELSE IF Filing status es Single AND Taxable income line 43 es mayor que 171550 …

… ...y así sucesivamente. …

A continuación se muestra el ejemplo de una regla que valida varias entradas en la misma regla, y que establece varias salidas en cada caso:

Y éste es un ejemplo de una regla de asignación de origen a destino. Para este estilo de regla, el BRE visualiza a la izquierda una lista de los valores de entrada posibles (la columna “Inputs”) como campos, variables, constantes y valores calculados. En el medio hay una lista de los campos de destino (la columna “Output Name”). A la derecha de cada campo de destino hay una columna (“Expression/Rule”) hasta donde el usuario puede arrastrar valores desde la columna “Inputs” o crear una expresión para calcular esa salida. (Explicaremos más adelante en qué consiste la columna “Computed Value”).

Las reglas del BRE® pueden incluir una lógica compleja arbitrariamente.

La lógica que subyace a las reglas del BRE puede ser sencilla, como sucede en los ejemplos anteriores. Sin embargo, en el día a día de las empresas, los usuarios de negocios suelen proponer reglas mucho más complejas. En aquellas tecnologías distintas a las de Ab Initio, esas reglas no se pueden implementar en el producto que gestiona las reglas de negocio. Muy al contrario, las reglas requieren que se escriba manualmente código de programación en lenguajes de programación tales como C++ o Java. Esto puede afectar muy negativamente a la usabilidad y la productividad, ya que se regresa al ciclo de “especificación-interpretación-codificación-comprobación-solución” que suele propiciar el que los proyectos fracasen.

No es así con el BRE de Ab Initio. El BRE hereda en su totalidad la capacidad de procesamiento de datos del Co>Operating System. Esto significa que los centenares de funciones del Co>Operating System, así como estructuras de lógica complejas, están disponibles en el BRE.

Resultado de lo anterior, el tamaño o la complejidad de las expresiones dentro de las reglas son ilimitados (como lo pueden ser el tamaño o la complejidad de las reglas, o el número de reglas dentro de un conjunto de reglas).

La comprobación integrada permite a los usuarios de negocios verificar las reglas por sí mismos.

Una ventaja clave del Business Rules Environment de Ab Initio es su capacidad de comprobación integrada. Las reglas desarrolladas dentro del BRE se pueden ejecutar con datos de muestra sin tener que abandonar el entorno de edición. Durante la comprobación, el BRE notifica las salidas computadas para cada registro de comprobación, así como los estados de cada variable y cada cálculo intermedios. Un usuario del BRE puede inspeccionar los registros de salida y hacer luego clic en cualquier valor computado, para ver exactamente cómo y por qué fue computado ese valor:

Para cada registro de comprobación, el BRE muestra en amarillo los casos que desencadenó y en un color oscuro las celdas que se derivaron en una comparación fallida. El BRE también cuenta el número de veces que se desencadenó cada regla determinada (“Times Fired” en la captura de pantalla). Esta información se puede utilizar para buscar casos de pruebas que faltan o reglas construidas de una forma no válida (si un caso nunca se desencadena).

Las comprobaciones se pueden ejecutar en cualquier momento durante el desarrollo de las reglas, lo que facilita un planteamiento incremental en la creación de conjuntos grandes de reglas. Además, no es necesario esperar hasta que se hayan introducido todas las reglas para empezar a evaluar su comportamiento.

Las salidas de una ejecución de comprobación se pueden guardar para compararlas automáticamente más adelante con ejecuciones posteriores (a fin de evaluar prestaciones). Y cuando se cambian las reglas, ya sea durante el desarrollo o al diseñar las modificaciones, se pueden ver todas las diferencias entre el comportamiento actual de las reglas modificadas y los resultados de evaluación de prestaciones guardados. Esta operación tiene un valor incalculable a la hora de evaluar el impacto de los cambios propuestos. Sin el BRE de Ab Initio, los usuarios de negocios trabajan muchas veces “a ciegas” al cambiar las reglas.

Además, también están disponibles detalles de ejecución de las reglas a partir de los conjuntos de reglas que se estén ejecutando en producción. Los usuarios pueden configurar la cantidad de información de seguimiento que se guarda. El rango va desde sólo información acerca de qué casos de reglas (filas) se desencadenan para cada registro de entrada, hasta todos los valores de entrada, de consulta, intermedios y finales. La tecnología permite a los analistas estudiar el comportamiento de las reglas a lo largo del tiempo, lo que a menudo sirve para ajustar la lógica del negocio y mejorar los resultados. Estos detalles también pueden ser muy importantes para responder a preguntas acerca de cómo se tomaron ciertas decisiones en el pasado.

Transparencia: Por fin la lógica de negocio queda expuesta

Los sistemas grandes y complejos de reglas de negocio llegan a constar de muchas reglas implementadas encima de reglas anteriores. Comprender las relaciones entre ellas y el modo como fluyen los datos a través de unas y otras, resulta clave. Pero desafortunadamente, lo más común es que los usuarios de negocios rara vez vean cómo funcionan sus sistemas.

Cuando se utiliza el BRE sucede todo lo contrario. Gracias a su tecnología, los usuarios cuentan con una visibilidad completa de los sistemas. Y esto es así porque el BRE visualiza diagramas sobre cómo los datos fluyen a través de las reglas interconectadas (con independencia del tamaño y de la complejidad de esas reglas). Además, el BRE permite visualizar el linaje gráfico de aquellas aplicaciones que constan de muchos conjuntos de reglas, independientemente de que éstas se distribuyan por una aplicación, o por varias aplicaciones.

La siguiente figura ilustra un ejemplo de linaje sencillo para el conjunto de reglas que ya se mostró anteriormente; donde se calcula el impuesto sobre la renta con base en el formulario 1040 EZ (el formulario utilizado para presentar la declaración de impuestos en los EE. UU). Los óvalos color verde representan las reglas (cálculos) y los rectángulos de esquinas redondeadas representan las variables. En el modo de comprobación, los valores de muestra aparecen debajo de cada nombre de variable, junto con todos los cálculos intermedios. Debajo del diagrama del linaje completo hay una sección aumentada que muestra cómo el cálculo de la deducción (línea 5) influye sobre el reintegro o sobre el monto que se debe pagar.

La capacidad del BRE de hacer un seguimiento del linaje permite a los usuarios de negocios comprender cabalmente cómo funcionan grandes conjuntos de reglas complejas.

Olvídese del “algoritmo RETE”

Habrá quien se pregunte qué es el algoritmo RETE. Gracias al BRE un usuario no necesita, en realidad, saberlo. Pero por si al lector le gana la curiosidad, lo explicamos. En los productos de reglas tradicionales, éstas se ejecutan en un orden determinado por un algoritmo de reconocimiento de patrones llamado el “algoritmo RETE”. En ese esquema, una persona cuya especialidad son los negocios y no la tecnología está obligada a comprender un concepto bastante complejo del campo de la inteligencia artificial o las ciencias de la computación (consulte http://es.wikipedia.org/wiki/Algoritmo_Rete para obtener información más detallada).

En la práctica, el planteamiento del RETE hace más difícil entender las consecuencias detrás de un cambio en una regla, ya que es posible que dicho cambio influya en otras reglas muy lejanas en las especificaciones. El rendimiento es, además, muy difícil de tunear, pues pequeños cambios pueden tener consecuencias grandes e inesperadas.

En el BRE, las reglas se ejecutan en el orden en que fueron especificadas. El rendimiento no es sólo sustancialmente más alto, sino que es también predecible. Para plantearlo de una manera llana: no es necesario ser un ingeniero de sistemas para entender cómo funcionan las reglas.

¿Cómo interactúa el BRE con el Co>Operating System®?

Es sencillo. El BRE toma las reglas creadas por el usuario y las coloca en un componente de un grafo ejecutado por el Co>Operating System. (Obtenga más información acerca de los componentes, los grafos y el Co>Operating System).

Al ejecutarse en el Co>Operating System, las reglas de negocio heredan todas las ventajas y los puntos fuertes del Co>Operating System. Las reglas pueden interactuar con cualquier origen o destino de datos. Pueden procesar cualquier clase de datos. Pueden procesar cualquier volumen de datos. Pueden ejecutarse por lotes y/o en tiempo real. Pueden ejecutarse distribuidas a través de varios servidores que ejecutan sistemas operativos diferentes… Con el detalle, además, de que todas estas acciones se realizan en una forma completamente robusta. El Co>Operating System incluye todo lo necesario para armar y ejecutar aplicaciones de misión crítica robustas, y el BRE hereda todas estas funciones.

A continuación se muestra un ejemplo de un grafo (aplicación) del Co>Operating System en el que un componente clave contiene reglas especificadas con el BRE:

Gestión y gobierno exhaustivos de las reglas

Todas las reglas se almacenan en el Enterprise Meta>Environment® (EME®) de Ab Initio, que incluye funciones completas de gestión de código fuente, incluido el control de versiones. Los usuarios del BRE pueden elegir entre dos metodologías de implementación:

  • Tratar las reglas como otros elementos de las aplicaciones. Esto significa que los usuarios deben recorrer todas las etapas estándar de promoción del código: desarrollo, comprobación y, por último, promoción al entorno de producción. Aunque esta metodología robusta es muy conocida entre los profesionales de los departamentos de tecnología de la información, el número de pasos puede alargar demasiado la tarea. Sin embargo, la comprobación integrada del BRE simplifica y acorta el proceso general.
  • Tratar las reglas como si fueran datos de código de referencia de una base de datos operacional. Los usuarios de negocios suelen poder introducir cambios (adiciones, actualizaciones y eliminaciones) para hacer referencia a código sin ejecutar esos cambios a través del proceso completo de promoción del código de aplicaciones, lo que les permite responder con rapidez a las necesidades del negocio.

Ab Initio no privilegia un planteamiento sobre el otro. Simplemente, brinda a sus clientes la opción para que elijan el que mejor se adapte a sus necesidades.

Por último, y por ser el EME compatible con el control de versiones, los usuarios pueden configurar fácilmente su entorno para habilitar la implementación de reglas según el modelo “champion/challenger” (I+D orientado a elevar la eficiencia). Lo que se persigue es poder ejecutar dos versiones de las mismas reglas en paralelo para comparar y contrastar sus salidas. A continuación, los usuarios establecen procesos para revisar estas diferencias y mejorar sus reglas hasta obtener los resultados deseados.

Unificar la empresa con la tecnología unificada

Gracias a la comprobación integrada e interactiva y a la generación automática de módulos ejecutables listos para producción, el BRE permite a los usuarios de negocios participar directamente en el desarrollo de aplicaciones. De esta forma, sus conocimientos puede combinarse con la experiencia del personal de tecnología de la información. Al presentar la lógica de negocios de una forma que los responsables del área de negocios puedan expresar y comprender con sencillez, el BRE reduce la incertidumbre y los riesgos que surgen durante el desarrollo y la implementación de nuevas aplicaciones.

Las reglas del BRE y las aplicaciones controladas por ellas son ejecutadas por el Co>Operating System. Eso significa que pueden ser arbitrariamente complejas sin que por ello dejen de poder ejecutarse con suma eficacia y con una escalabilidad completa. Paralelamente, las mismas reglas se pueden ejecutar en aplicaciones por lotes y en aplicaciones de servicios web (sin que haya que cambiar para ello el código de programación). Cada prestación del Co>Operating System, de hecho, se materializa a través del BRE. ¿Por qué?, se preguntará más de un lector. La respuesta es simple: porque el BRE fue diseñado con la misma tecnología unificada que el Co>Operating System. El BRE y el Co>Operating System trabajan juntos, y sin errores, para favorecer un mejor entendimiento entre las distintas áreas dentro de la empresa.

English
Français
Idioma:
Español
Deutsch
简体中文
日本語