Visión general: Decision Server Rules

Decision Server proporciona componentes de desarrollo y tiempo de ejecución para una solución basada en reglas que automatiza la respuesta de decisiones muy variables que necesitan las aplicaciones cliente.
  • Diseñador de reglas es un entorno de desarrollo basado en Eclipseen el que puede diseñar, crear, probar y desplegar servicios de decisiones.
  • Rule Execution Server proporciona el entorno de ejecución para ejecutar y supervisar servicios de decisiones.

En el núcleo de la solución basada en reglas, tiene una aplicación de cliente que solicita una decisión de un servicio de decisiones. Puede que la aplicación de cliente requiera muchos puntos de decisión del servicio de decisiones. En cada punto de decisión, se utilizan las reglas de negocio, empaquetadas como conjuntos de reglas, para expresar políticas sobre cómo se realizan las decisiones. Un servicio de decisiones se despliega en Rule Execution Server como RuleApp. Cada RuleApp contiene uno o varios conjuntos de reglas, cada uno de ellos correspondiente a una decisión.

El diagrama siguiente ilustra cómo interactúan los diferentes componentes:

El diagrama muestra los componentes de Decision Server .
Nota: Decision Server también interactúa con Decision Center, que incluye un repositorio de reglas y una consola web colaborativa para que los usuarios empresariales puedan crear, gestionar, validar y desplegar servicios de decisiones (consulte Visión general: Decision Center).

Las fases de diseño y desarrollo de los servicios de decisiones se gestionan mediante proyectos de reglas. El servicio de decisiones permite agrupar en una sola entidad decisiones complejas que implican varios proyectos de reglas. La sincronización, la ramificación y la gestión de cambios se aplican a todos los proyectos de reglas en la jerarquía de servicio de decisiones, lo que permite que el comportamiento del servicio de decisiones se gobierne y despliegue de forma coherente.

Característica Servicio de decisiones
Jerarquía de proyectos Proyectos de reglas principal y estándar
Definición de conjunto de reglas Operaciones de decisión
Gestión de ramas Jerarquía de proyectos
Gestión de releases Infraestructura de gobierno de decisiones
Sincronización Configuraciones de artefactos de reglas y despliegues

Diseño

En Diseñador de reglas, diseña la granularidad del servicio de decisiones y el contrato con la aplicación cliente. También se diseña el modelo y el vocabulario para crear reglas de negocio.

Diseñar requiere aplicar la infraestructura necesaria para editar las reglas y generar uno o varios conjuntos de reglas.
  • El conjunto de reglas de negocio agrupadas se define como una sola unidad de decisión ejecutable denominada conjunto de reglas. El conjunto de reglas utiliza los parámetros de entrada y salida para pasar los datos a y desde la aplicación de cliente. Puede definir cada conjunto de reglas y sus parámetros con una firma exclusiva de parámetros de entrada y salida. En los servicios de decisiones, crea las operaciones, lo cual define el contenido y la firma del conjunto de reglas. Dado que puede utilizar los mismos proyectos de reglas y paquetes para diferentes operaciones de decisión, un servicio de decisiones puede cambiarse fácilmente a medida que los nuevos puntos de decisión requieran que se añadan firmas diferentes.
  • Puede definir el vocabulario que se utiliza en las reglas de negocio. En Diseñador de reglas, puede desarrollar el modelo de objeto de negocio (BOM) que define los elementos y las relaciones en el vocabulario. Puede definir el vocabulario correlacionando el BOM con el modelo de objetos de ejecución (XOM). También puede crear el vocabulario generando el BOM a partir del XOM y configurando, a continuación, el vocabulario empresarial desde el BOM.
  • Configure una jerarquía de proyecto de reglas. Un proyecto de reglas es un tipo de proyecto de Eclipse dedicado al desarrollo de aplicaciones de reglas. En los servicios de decisiones, se diseña un proyecto de reglas principal para que sea el proyecto de nivel superior, lo cual permite controlar y desplegar el comportamiento del servicio de decisiones de una forma coherente.
  • En los proyectos de reglas, puede organizar los paquetes de reglas para almacenar las reglas de negocio y definir un flujo de reglas para especificar su flujo de ejecución.
  • Puede definir las propiedades para gestionar y realizar un seguimiento de las reglas de negocio mediante extensiones del modelo de reglas.
  • Puede configurar herramientas de validación de usuarios empresariales configurando pruebas y simulaciones.

Creación

Si es responsable de la creación y gestión de las reglas, podría crear la mayoría de las reglas de negocio en el proyecto. Si los usuarios empresariales son los responsables de la creación y gestión de las reglas, configure las herramientas para que les resulte más fácil crear reglas. Puede crear los tipos diferentes de reglas de negocio, principalmente reglas de acción y tablas de decisiones. Todas estas reglas de negocio se basan en el lenguaje de acción empresarial (BAL), que está diseñado para parecer un lenguaje natural. Además, puede crear reglas técnicas, que se basan en ILOG ® Rule Language (IRL) y requieren conocimientos de programación.

Como parte del proceso de creación, también puede:
  • Definir categorías de vocabulario para filtrar los elementos de vocabulario que estarán disponibles cuando cree reglas de negocio.
  • Crear extensiones de creación de reglas. Puede utilizar estas extensiones para integrar editores de valores para elementos de vocabulario específicos, o para definir dominios dinámicos que recuperen valores de un origen de datos.
Nota: Rule Designer tiene dos editores de tablas de decisiones. Para obtener más información, consulte Editores de tablas de decisiones y reglas.
Categoría Tema
Más información

Creación de reglas empresariales

Seguir una guía de aprendizaje

Guía de aprendizaje: Edición de tablas de decisiones

Ver un ejemplo

Ejemplos de creación de extensiones

Depuración

Depura un conjunto de reglas en Diseñador de reglas.
  • El conjunto de reglas se depurar mediante un motor de reglas incorporado para gestionar la ejecución de las reglas.
  • Las reglas se analizan utilizando consultas semánticas restringidas, que comprueban la coherencia y la integridad de las reglas individuales y del conjunto global de reglas.

Pruebas

En Diseñador de reglas puede preparar la posibilidad de que los usuarios empresariales ejecuten pruebas y simulaciones en Decision Center.

Integración

Integre la aplicación cliente desde Diseñador de reglas.

Una vez establecido el contrato de conjunto de reglas, aloje el conjunto de reglas en Rule Execution Server y llame al conjunto de reglas desde la aplicación cliente. Rule Execution Server es un entorno de ejecución gestionado y supervisado para las reglas de negocio desplegadas. Rule Execution Server maneja la creación, agrupación y gestión de instancias de conjunto de reglas para que las aplicaciones cliente puedan llamar a las decisiones resultantes lo más fácilmente posible.

Puede invocar el conjunto de reglas desde el código de la aplicación de una de las maneras siguientes:
  • Una interfaz Java™ sin formato.
  • Servicio REST de Servicio de decisiones transparentes alojado (HTDS).

Decision Server proporciona componentes para cada opción.

Despliegue

Una RuleApp define un grupo de conjuntos de reglas que se despliegan conjuntamente. La RuleApp también contiene los parámetros de entrada y salida que representan el contrato con la aplicación de cliente, y la vía de acceso del conjunto de reglas que necesita la aplicación de cliente para identificar los conjuntos de reglas y sus versiones.

Cuando un servicio de decisiones está totalmente validado y aprobado, puede desplegarlo en Rule Execution Server para utilizarlo en un entorno de producción. Puede realizar el despliegue desde Rule Designer o Decision Center.

Los servicios de decisiones se despliegan utilizando una configuración de despliegue, que define qué ensamblar en una RuleApp y dónde desplegarla. Una configuración de despliegue puede hacer referencia a una o varias operaciones de decisión. Una operación de decisión incluye todos los valores necesarios para generar un conjunto de reglas: parámetros de entrada y de salida, flujo de reglas principal y cualquier extracción de reglas. La configuración de despliegue es un artefacto que se puede sincronizar con Decision Centery está sujeto a la gestión de cambios y al gobierno en la consola empresarial.

La tabla siguiente lista las características de despliegue:

Característica Servicio de decisiones
definición de despliegue Configuración de despliegue
Versión de despliegue Definido en configuración de despliegue
Destinos de despliegue Definido en configuración de despliegue
Opciones de despliegue Consola empresarial de Rule Designer y Decision Center
Historial de despliegue Seguimiento de auditoría en Decision Center

Administración y supervisión

Rule Execution Server proporciona herramientas para administrar y supervisar servicios de decisiones.
  • Utilice la consola de Rule Execution Server , los scripts Ant o las herramientas de gestión empresarial (como IBM® Tivoli ® o HP OpenView) y los MBeans JMX para supervisar la ejecución de conjuntos de reglas en Rule Execution Server.
  • Puede depurar reglas que se ejecutan en Rule Execution Server.
  • Puede crear versiones de copia de seguridad de conjuntos de reglas y revertir a una versión anterior, si es necesario.
  • También puede supervisar y archivar resultados de ejecución en el almacén de decisiones. Puede además recopilar estadísticas sobre el rendimiento.

Auditoría

Los datos de rastreo de ejecución de conjuntos de reglas proporcionan una pista de auditoría de decisiones pasadas, a veces necesarias para satisfacer los requisitos normativos. Este tipo de datos proporciona una forma de investigar una decisión que se representa en una transacción pasada mostrando todas las reglas asociadas.

Utilizando el almacén de decisiones con Rule Execution Server puede gestionar, realizar una copia de seguridad y eliminar decisiones almacenadas. El almacén de decisiones también almacena y recupera informes detallados sobre los conjuntos de reglas para los que la supervisión está habilitada.