Release notes for Red Hat Decision Manager 7.2

Red Hat Decision Manager 7.2

Red Hat Customer Content Services

Abstract

This document contains release notes for Red Hat Decision Manager 7.2.

Preface

These release notes list new features, features in technology preview, known issues, and issues fixed in Red Hat Decision Manager 7.2.

Chapter 1. Product overview

Red Hat Decision Manager is an open-source decision management platform that combines business rules management, complex event processing, Decision Model & Notation (DMN) execution, and Business Optimizer for solving planning problems. It automates business decisions and makes that logic available to the entire business.

Business assets such as rules, decision tables, and DMN models are stored in a central repository. This ensures consistency, transparency, and the ability to audit across the business. Business users can modify business logic without requiring assistance from IT personnel.

Red Hat Decision Manager 7.2 provides increased stability, several fixed issues, and a few new features.

Red Hat Decision Manager is fully supported on OpenShift and can be installed on various platforms.

Note

Red Hat Decision Manager requires Java 8 or later.

For information about the support policy for Red Hat Decision Manager, see the Release maintenance plan for Red Hat Decision Manager 7.x and Red Hat Process Automation Manager 7.x.

Chapter 2. New features

This section highlights new features in Red Hat Decision Manager 7.2.

2.1. Container support

You can install Red Hat Decision Manager on Red Hat JBoss Web Server 5.0.1 or later.

You can install Red Hat Decision Manager on Red Hat JBoss EAP 7.2.

Note

Red Hat JBoss EAP 7.1 is not supported with Red Hat Decision Manager 7.2.

2.2. Business application generator

You can use the http://start.jbpm.org website to generate a Red Hat Decision Manager business application based on Spring Boot starters. After you create and configure your business application, you can deploy it to an existing service or to the cloud, through OpenShift.

2.3. Decision Central

2.3.1. Experimental properties administration page

Decision Central now includes an experimental features administration page which is disabled and hidden by default. When enabled, this page displays a list of some experimental features that are in technology preview. You can enable or disable individual features from this page. To enable the experimental features administration page, set the value of the appformer.experimental.features property to true.

Note

Some experimental features are enabled by default and might not be listed on the experimental properties administration page.

2.3.2. Support for SSH Keystore

Red Hat Decision Manager uses the SSH protocol for user authentication. It now has a configurable default SSH keystore (where you can register multiple public keys), extensible APIs (for custom implementations), and support for multiple SSH public keys formats.

For more information about SSH keystore, see Configuring Decision Central settings and properties.

2.4. Decision engine

2.4.1. Rule units

Red Hat Decision Manager 7.2 now supports rule units that you can use to partition a rule set into smaller units, bind different data sources to those units, and then execute the individual unit. A rule unit consists of data sources, global variables, and rules.

You can define a rule unit by implementing the RuleUnit interface as shown in the following example:

Example rule unit class

package org.mypackage.myunit;

public static class AdultUnit implements RuleUnit {
    private int adultAge;
    private DataSource<Person> persons;

    public AdultUnit( ) { }

    public AdultUnit( DataSource<Person> persons, int age ) {
        this.persons = persons;
        this.age = age;
    }

    // A DataSource of Persons in this rule unit
    public DataSource<Person> getPersons() {
        return persons;
    }

    // A global variable valid in this rule unit
    public int getAdultAge() {
        return adultAge;
    }

    // --- life cycle methods

    @Override
    public void onStart() {
        System.out.println("AdultUnit started.");
    }

    @Override
    public void onEnd() {
        System.out.println("AdultUnit ended.");
    }
}

For more information about rule units, see the Drools Documentation.

2.4.2. Multithreaded evaluation in the decision engine

In Red Hat Decision Manager 7.2, the decision engine can now evaluate more business rules in parallel by dividing the RETE and PHREAK pattern-matching algorithms in independent partitions and evaluating them in parallel.

Multithreaded evaluation is disabled by default in Red Hat Decision Manager. To enable multithreaded evaluation for a parallel KIE base, use one of the following options:

  • Enable multithreaded evaluation with KieBaseConfiguration:

    KieServices ks = KieServices.Factory.get();
    KieBaseConfiguration kieBaseConf = ks.newKieBaseConfiguration();
    kieBaseConf.setOption(MultithreadEvaluationOption.YES);
    KieBase kieBase = kieContainer.newKieBase(kieBaseConf);
  • Enable the multithreaded evaluation system property:

    drools.multithreadEvaluation = true
Warning

Rules using queries, salience, or agenda groups are currently not supported by the parallel decision engine. If these rule elements are present in the KIE base, the compiler emits a warning and automatically switches back to single-threaded evaluation. However, in some cases, the decision engine might not detect the unsupported rule elements and rules might be evaluated incorrectly. For example, the decision engine might not detect when rules rely on implicit salience given by rule ordering inside the DRL file, resulting in incorrect evaluation due to the unsupported salience attribute.

2.4.3. Ability to declaratively set calendars in a KIE session

In Red Hat Decision Manager 7.2, you can now declaratively set one or more calendars on a KIE session through the kmodule.xml configuration file, as shown in the following example:

<ksession name="KSession1">
  <calendars>
    <calendar name="monday" type="org.domain.Monday"/>
  </calendars>
</ksession>

The type is the name of the class that implements the org.kie.api.time.Calendar interface.

2.5. Decision Server

2.5.1. Swagger interface for Decision Manager controller REST API

Red Hat Decision Manager 7.2 provides a Swagger web interface for the Decision Manager controller REST API. You can use this Swagger interface instead of a standalone REST client or curl utility to interact with your Decision Server templates (configurations), Decision Server instances (remote servers), and associated KIE containers (deployment units) in Red Hat Decision Manager.

To access the Swagger interface for the Decision Manager controller REST API, you can either start Decision Central, which contains a built-in Decision Manager controller, or run the headless Decision Manager controller application and navigate to http://SERVER:PORT/CONTROLLER/docs in a web browser.

Example Swagger URLs:

  • http://localhost:8080/decision-central/docs (for a Decision Manager controller in Decision Central)
  • http://localhost:8080/my-controller/docs (for a headless Decision Manager controller)

For more information about the Decision Manager controller REST API, see Interacting with Red Hat Decision Manager using KIE APIs.

2.5.2. Decision Model and Notation (DMN) models

Red Hat Decision Manager 7.2 provides both design and runtime support for DMN 1.2 models at conformance level 3, and includes enhancements and fixes to FEEL and DMN model components to optimize the experience of implementing DMN decision services with Red Hat Decision Manager. You can design your DMN models directly in Decision Central or import existing DMN models into your Red Hat Decision Manager projects for deployment and execution.

Note

The DMN designer in Red Hat Decision Manager 7.2 is a Technology Preview feature and is disabled by default in Decision Central. To enable the DMN designer preview in Decision Central, in the upper-right corner of the window, click SettingsRoles, select a role from the left panel, click EditorsDMN DesignerRead, and click Save to save the changes.

For more information about DMN support in Red Hat Decision Manager 7.2, see Designing a decision service using DMN models.

2.5.3. Executable models in Decision Model and Notation (DMN) projects

In Red Hat Decision Manager 7.2, you can now use the kie-maven-plugin build component to generate DMN executable model classes and compile them in a Red Hat Decision Manager project (KJAR file). DMN executable model classes are similar to executable rule models used for rule assets. This support enables DMN decision table logic in DMN projects to be evaluated more efficiently.

To enable executable models in DMN projects, add the required kie-dmn-core dependency in the pom.xml file:

<dependency>
  <groupId>org.kie</groupId>
  <artifactId>kie-dmn-core</artifactId>
  <scope>provided</scope>
</dependency>

To build a DMN project with DMN model compilation enabled, navigate to your Maven project directory in a command terminal and run the following command:

mvn clean install -DgenerateDMNModel=YES

Alternatively, you can define the DMN model property directly in the pom.xml file:

<project>
  ...
  <properties>
    <generateDMNModel>YES</generateDMNModel>
  </properties>
  ...
</project>

For more information about configuring executable models for your Maven or Java project, see Packaging and deploying a Red Hat Decision Manager project.

2.5.4. Deactivation of KIE containers on Decision Server

You can now deactivate KIE containers on Decision Server. This enables you to stop the creation of new process instances from a specified container while enabling you to continue working on existing process instances and tasks. The deactivated container can be activated again. This feature does not require server restarts.

2.5.5. Decision Server support for rendering forms

New Decision Server support for rendering forms enables you to interact with the Decision Server to perform the following operations:

  • Render process forms: Used to start new instances
  • Render case forms: Used to start new case instances, including data and role assignments
  • Render user task forms: Used to interact with user tasks, including life cycle operations

Rendered forms include buttons that perform all operations based on context. For example, if a user task is in the progress state, you can use the Stop, Release, Save, and Complete buttons to interact with the process.

2.6. Red Hat Business Optimizer

2.6.1. Defining weights for constraints

In Red Hat Business Optimizer, you can now define weights for constraints inside a class marked with the @ConstraintsConfiguration annotation. You can assign weights to constraints by the Java or DRL name of the constraint, without needing to modify the code of the constraints.

2.7. OpenShift

2.7.1. LDAP role mapping on OpenShift deployments

When deploying Red Hat Decision Manager on Red Hat OpenShift Container Platform, you can now configure LDAP role mapping.

2.7.2. KJAR services in immutable OpenShift deployments

When deploying Red Hat Decision Manager on Red Hat OpenShift Container Platform in an immutable deployment, you can now create Decision Servers that run services from KJAR files, not from source.

2.7.3. CORS support in trial deployment on OpenShift

In a trial deployment on Red Hat OpenShift Container Platform, you can use client-side JavaScript applications, served from a different domain, to access a Decision Server.

Chapter 3. Technology preview

This section lists features that are in technology preview in Red Hat Decision Manager 7.2. Decision Central includes an experimental features administration page which is disabled by default. To enable this page, set the value of the appformer.experimental.features property to true.

Important

These features are for Technology Preview only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information on Red Hat Technology Preview features, see Technology Preview Features Scope.

  • New Decision Model and Notation (DMN) designer in Decision Central. You can use the new DMN designer in Decision Central to design DMN decision requirements diagrams (DRDs) and define decision logic for a complete and functional DMN decision model. Red Hat Decision Manager 7.2 provides both design and runtime support for DMN 1.2 models at conformance level 3, and includes enhancements and fixes to FEEL and DMN model components to optimize the experience of implementing DMN decision services with Red Hat Decision Manager. For more information about DMN support in Red Hat Decision Manager 7.2, see Designing a decision service using DMN models.
  • Optaweb employee rostering.
  • High-availability authoring on Red Hat JBoss EAP (on premise and with OpenShift). Configuration of Decision Central for high availability is currently technology preview. Search and messaging technology used to enable search feature is considered an implementation detail. Red Hat Decision Manager may choose to replace that technology in the future while preserving the capability offered.
  • A new Test Scenario (Preview) editor that enables you to add test scenarios to verify the accuracy of previously created rules, decision tables, and so on.

Chapter 4. Known issues

This section lists known issues with Red Hat Decision Manager 7.2.

4.1. Installer

When installing Decision Server and Decision Central using the Red Hat Decision Manager installer, the default placeholder for the controller URL should contain decision-central [RHPAM-1774]

Issue: If you use the Red Hat Decision Manager installer to install both Decision Central and Decision Server, on the Advanced Configuration page the default value for Decision Server is incorrect.

Steps to reproduce:

  1. Use the installer to install Red Hat Decision Manager on Red Hat JBoss EAP.
  2. Accept all default selections.
  3. On the Advanced Configuration page, select Configure Process Server.

Expected result: The value of the Decision Server URL is http://localhost:8080/decision-central/rest/controller.

Actual result: The value of the Decision Server URL is http://localhost:8080/controller/rest/controller.

Workaround: After you complete the installation, change http://localhost:8080/controller/rest/controller to http://localhost:8080/decision-central/rest/controller in the the Red Hat JBoss EAP standalone.xml and standalone-full.xml files.

The controller URL is not updated in the standalone.xml file if only Decision Server is installed [RHPAM-1781]

Issue: When you run the Red Hat Decision Manager installer and you specify a URL for the controller, the URL is not updated in the Red Hat JBoss EAP standalone.xml and standalone-full.xml files.

Steps to reproduce:

  1. Run the Red Hat Decision Manager installer.
  2. Specify an Red Hat JBoss EAP installation for container.
  3. Select only Process Server to install.
  4. Select Advanced Configuration and update controller URL.
  5. Complete the installation.
  6. Open the Red Hat JBoss EAP standalone.xml or standalone-full.xml file and find the controller URL.

Expected result: The value of the controller URL property is the URL that you entered during installation.

Actual result: The value of the controller URL property is the default value.

Workaround: Manually update the value of the controller URL property in the Red Hat JBoss EAP standalone.xml and standalone-full.xml file.

4.2. Decision Central

Red Hat Decision Central 7.0 and earlier and BRMS 6.4 and earlier repositories are not fully migrated when imported into Decision Central [RHPAM-1768]

Issue: Red Hat Decision Central 7.0 and earlier and BRMS 6.4 and earlier repositories (legacy structure repositories) that contain more than one project can be imported into Decision Central even though they are not supported. When these repositories are imported, the are not fully migrated and will not perform as expected.

Steps to reproduce:

  1. In Red Hat Decision Manager 7.0.0 or earlier, create a repository with two projects.
  2. Copy the repository location from the .niogit directory.
  3. Open Red Hat Decision Manager 7.2.0.
  4. Click LibraryImport Project.
  5. Paste the repository location and select both projects.

Actual result: The projects are imported but will not perform as expected.

Workaround: Use the patching and upgrading tool to import Red Hat Decision Central 7.0 and earlier and BRMS 6.4 and earlier repositories, as described in Patching and upgrading Red Hat Decision Manager 7.2.

A TimeoutException error occurs when logging in to a clustered Decision Central [RHPAM-1749]

Issue: On a clustered Decision Central instance, when logging in to Decision Central an exception is thrown.

Steps to reproduce:

  1. Create a Decision Central cluster configuration that uses ElasticSearch and AMQ Broker, and that has two standalone Decision Central nodes.
  2. Uncomment the <distributable/> tag on both Decision Central nodes.
  3. Log in to Decision Central on one of the nodes.

Actual result: An exception is thrown.

Workaround: See the workaround in the JBoss EAP 7 does not process requests for a session in parallel article.

Red Hat Decision Manager integrated with Red Hat Single Sign-On ignores user SSH key when working with Git [RHPAM-1683]

Issue: With Red Hat Decision Manager integrated with Red Hat Single Sign-On, if you try to clone a project created by a user that has an SSH key set, you cannot clone it without the SSH key password. The SSH key is ignored.

Steps to reproduce:

  1. Integrate a Red Hat Decision Manager installation with Red Hat Single Sign-On, as described in Integrating Red Hat Decision Manager with Red Hat Single Sign-On.
  2. Use the Red Hat Decision Manager AdminSSH Keys page to add a public SSH key.
  3. Enter the following command in a terminal to add a private SSH key to your ssh-agent, where <SSH-KEY-PATH> is the path to the SSH private key:

    $ ssh-add <SSH-KEY-PATH>
  4. Use SSH to clone the project, for example:

    git clone ssh://user@localhost:8001/space/project

Expected result: The project is cloned.

Actual result: You cannot clone the project unless you use the user’s password.

Several Errai projects contain XSD-invalid pom.xml file [RHPAM-1742]

Issue: Maven repository validation identified the following pom.xml files in the Errai project, which are invalid according to Maven POM XSD:

org/jboss/errai/errai-ioc/4.4.1.Final-redhat-00001/errai-ioc-4.4.1.Final-redhat-00001.pom.xml
org/jboss/errai/errai-navigation/4.4.1.Final-redhat-00001/errai-navigation-4.4.1.Final-redhat-00001.pom.xml
org/jboss/errai/errai-security-server/4.4.1.Final-redhat-00001/errai-security-server-4.4.1.Final-redhat-00001.pom.xml
org/jboss/errai/errai-security-client/4.4.1.Final-redhat-00001/errai-security-client-4.4.1.Final-redhat-00001.pom.xml
org/jboss/errai/errai-common/4.4.1.Final-redhat-00001/errai-common-4.4.1.Final-redhat-00001.pom

Workaround: None.

kie-soup-dataset-elasticsearch is an XSD-invalid pom.xml file [RHPAM-1743]

Issue: Maven repository validation identified the kie-soup-dataset-elasticsearch pom.xml fileas invalid according to Maven POM XSD.

Workaround: None.

Two ClassNotFoundExceptions errors are thrown the first time you open the Decision Central Data Sources perspective [RHPAM-1741]

Issue: When you access the Decision Central Data Sources perspective for the first time after a clean installation, the following ClassNotFoundExceptions errors appear in the server.log file:

org.guvnor.structure.repositories.NewBranchEvent
org.guvnor.structure.repositories.RepositoryUpdatedEvent

Steps to reproduce:

  1. Log in to Decision Central with the admin role.
  2. Go to AdminDatasources.

Actual result: As soon as you click the Data Sources perspective, two errors appear in Red Hat JBoss EAP console.

Expected result: No errors appear.

Workaround: Restart Decision Central and go to AdminDatasources. These errors only appear the first time you click the perspective after installation.

4.3. Decision Server

A container is removed from the UI even though it was not possible to stop it [RHPAM-1698]

Issue: A container cannot be stopped if it is blocked by an active process instance. However if you attempt to stop a blocked container from the UI, the action throws an exception and the container disappears.

Steps to reproduce:

  1. Create a project with a process.
  2. Deploy the project and start the process.
  3. Go to MenuDeployExecution Servers and stop the container.

Actual result: The container is removed from the UI even though it is still running.

4.4. OpenShift

Various errors occur when starting clustered Decision Central on OpenShift [RHPAM-1747]

Issue: When clustered Decision Central is started on OpenShift using the rhpam72-authoring-ha.yaml template, Decision Central sometimes throws various exceptions that cause the pod to restart or the deployment to fail.

Steps to reproduce:

  1. Use the rhpam72-authoring-ha.yaml template to deploy Red Hat Decision Manager 7.2 images on OpenShift.
  2. Check the Decision Central log files.

Expected result: No errors appear in the log files.

Actual result: Errors appear in the log files, the pod restarts, or the deployment fails.

Workaround: None.

Chapter 5. Fixed issues in Red Hat Decision Manager 7.2.0

Red Hat Decision Manager 7.2.0 provides increased stability and fixed issues listed in this section.

5.1. Installation

  • The Red Hat Decision Manager installer fails to parse the jboss-cli.xml file with Red Hat JBoss EAP 7.2 and the installation fails [RHPAM-1658]

5.2. Decision Central

  • You cannot edit an existing deployment descriptor configuration [RHPAM-1318]
  • Process Instances pages that have a vertical scroll bar flicker after changing window width [RHPAM-1475]
  • Opening the legacy case modeler throws a JSON exception [RHPAM-1431]
  • Incorrect correlation key is shown in the Red Hat Decision Manager Task list [RHPAM-1656]
  • You cannot open a task form from the Task inbox in Decision Central [RHPAM-1565]
  • The data set editor displays the supports expression reference $null message as a hint [RHPAM-1581]
  • The Asset search button is not positioned properly [RHPAM-1538]
  • The input fields in the form for uploading files into Decision Central are not aligned [RHDM-4]
  • In a test scenario, you cannot select a rule defined in xlsx in EXPECTATION settings [RHDM-728]
  • Provide configuration options for paginated views [RHDM-1339]
  • Provide CORS configuration support for Decision Server in Red Hat Decision Manager [RHDM-520]

5.3. Decision engine

  • ThreadSafeTrackableTimeJobFactoryManager set as default in SessionConfigurationImpl.java [RHDM-759]
  • SpreadsheetCompiler generates wrong order of conditions in DRL files [RHDM-755]
  • Wrong logger category in DebugRuleRuntimeEventListener.java [RHDM-769]

5.4. Decision Server

  • Marshaller in Decision Server retains old classes when KieScanner is updated [RHDM-733]
  • Resolve the datasource name for query definitions at run time [RHPAM-1350]
  • The REST endpoint for getting errors in a KIE container does not filter the result by container ID [RHPAM-1599]
  • An error message appears at the bottom of the Decision Server Swagger docs page [RHPAM-1487]
  • vacuumlo deletes active large objects of jBPM CLOB data [RHPAM-174]
  • The wrong message appears when a required parameter is not set for DBUserGroupCallbackImpl [RHPAM-1496]
  • ExecutorServiceImpl.requeue(Long olderThan) doesn’t calculate a correct value [RHPAM-1605]
  • You can lock without "nowait" for jBPM pessimistic locking [RHPAM-1573]
  • If you execute a migration service while an asynchronous job of the process instance is running, the migration service successfully finishes but the job fails at AsyncWorkItemHandlerCmdCallback.onCommandDone() [RHPAM-1510]
  • java.lang.ClassCastException: java.lang.Class cannot be cast to org.kie.api.event.rule.RuleRuntimeEventListener [RHPAM-1626]

5.5. OpenShift

  • S2I build fails for a multi-module Maven project [RHDM-747]
  • Make Decision Central distributable for high availability [RHPAM-1522]

5.6. Decision Model and Notation

  • Importing DMN v1.2 model fails with com.thoughtworks.xstream.mapper.CannotResolveClassException [RHDM-618] [RHPAM-1198]

Chapter 6. Fixed issues in Red Hat Decision Manager 7.2.1

Red Hat Decision Manager 7.2.1 provides increased stability and fixed issues listed in this section.

6.1. Decision Central

  • The BRL condition is contained in the (comma separated) list does not produce a multi-select drop-down in the guided decision table or guided rule template [RHDM-483]

6.2. Decision engine

  • An error occurs when using the 7.1.x version of the kie-maven-plugin in JBDS [RHDM-802]
  • Incremental compilation fails when calling a static method in RHS [RHDM-709]

Appendix A. Versioning information

Documentation last updated on Wednesday, February 13, 2019.

Legal Notice

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.