Red Hat Training

A Red Hat training course is available for Red Hat Decision Manager

Installing and configuring Red Hat Decision Manager on Red Hat JBoss EAP 7.1

Red Hat Decision Manager 7.1

Red Hat Customer Content Services

Abstract

This document describes how to install Red Hat Decision Manager on a Red Hat JBoss EAP 7.1 installation.

Preface

This document describes how to install Red Hat Decision Manager on a Red Hat JBoss Enterprise Application Platform 7.1 instance.

Prerequisites

Chapter 1. About Red Hat Decision Manager

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 organized in projects and stored in the Decision 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 JBoss Enterprise Application Platform (Red Hat JBoss EAP) 7.1 is a certified implementation of the Java Enterprise Edition 7 (Java EE 7) full and web profile specifications. Red Hat JBoss EAP provides preconfigured options for features such as high availability, clustering, messaging, and distributed caching. It also enables users to write, deploy, and run applications using the various APIs and services that Red Hat JBoss EAP provides.

The instructions in this document explain how to install Red Hat Decision Manager in a Red Hat JBoss EAP 7.1 server instance. For instruction on how to install Red Hat Decision Manager in other environments, see the following documents:

For information on supported components, see the following documents:

Chapter 2. Roles and users

To access Decision Central or Decision Server, you must create users and assign them appropriate roles before the servers are started.

The Decision Central and Decision Server use Java Authentication and Authorization Service (JAAS) login module to authenticate the users. If both Decision Central and Decision Server are running on a single instance, then they share the same JAAS subject and security domain. Therefore, a user, who is authenticated for Decision Central can also access Decision Server.

However, if Decision Central and Decision Server are running on different instances, then the JAAS login module is triggered for both individually. Therefore, a user, who is authenticated for Decision Central, needs to be authenticated separately to access the Decision Server (for example, to view or manage process definitions in Decision Central). In case, the user is not authenticated on the Decision Server, then 401 error is logged in the log file, displaying Invalid credentials to load data from remote server. Contact your system administrator. message in Decision Central.

This section describes available Red Hat Decision Manager user roles.

Note

The admin, analyst, and rest-all roles are reserved for Decision Central. The kie-server role is reserved for Decision Server. For this reason, the available roles can differ depending on whether Decision Central, Decision Server, or both are installed.

  • admin: Users with the admin role are the Decision Central administrators. They can manage users and create, clone, and manage the repositories. They have full access to make required changes in the application. Users with the admin role have access to all areas within Red Hat Decision Manager.
  • analyst: Users with the analyst role have access to all high-level features. They can model projects. However, these users cannot add contributors to spaces or delete spaces in the Design → Projects view. Access to the Deploy → Execution Servers view, which is intended for administrators, is not available to users with the analyst role. However, the Deploy button is available to these users when they access the Library perspective.
  • rest-all: Users with the rest-all role can access Decision Central REST capabilities.
  • kie-server: Users with the kie-server role can access Decision Server (KIE Server) REST capabilities. This role is mandatory for users to have access to Manage and Track views in Decision Central.

Chapter 3. Downloading the Red Hat Decision Manager installation files

Depending on your environment and installation requirements, download a Red Hat Decision Manager distribution.

Procedure

  1. Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:

    • Product: Decision Manager
    • Version: 7.1
  2. Download one of the following product distributions, depending on your preferred installation method:

    Note

    You only need to download one of these distributions.

    • If you want to use the installer to install Red Hat Decision Manager on Red Hat JBoss EAP 7.1 , download Red Hat Decision Manager 7.1.0 Installer (rhdm-installer-7.1.0.jar). The installer graphical user interface guides you through the installation process.
    • If you want to install Red Hat Decision Manager on Red Hat JBoss EAP 7.1 using the deployable zip files, download the following files:

      • Red Hat Decision Manager 7.1.0 Decision Server for All Supported EE7 Containers (rhdm-7.1.0-kie-server-ee7.zip)
      • Red Hat Decision Manager 7.1.0 Decision Server Deployable for EAP 7 (rhdm-7.1.0-decision-central-eap7-deployable.zip)

    The ZIP files do not require a graphical user interface so you can install Red Hat Decision Manager using SSH.

    • To run Decision Central without needing to deploy it to an application server, download Red Hat Decision Manager 7.1.0 Decision Central Standalone (rhdm-7.1.0-decision-central-standalone.jar).

Chapter 4. Using the Red Hat Decision Manager installer

This section describes how to install Decision Server and the headless Decision Manager controller using the installer JAR file. The JAR file is an executable file that installs Red Hat Decision Manager in an existing Red Hat JBoss EAP 7.1 server installation. You can run the installer in interactive or command line interface (CLI) mode.

Note

The Red Hat Decision Manager JAR file installer does not support the Red Hat JBoss EAP distribution installed by yum or RPM Package Manager. If you want to install Red Hat Decision Manager in this type of Red Hat JBoss EAP installation, download the Red Hat Decision Manager 7.1 Deployable for Red Hat JBoss EAP 7.1 file and follow the steps in Chapter 5, Installing Red Hat Decision Manager from ZIP files.

Note

Because IBM JDK cannot use keystores generated on other JDKs, you cannot install Red Hat Decision Manager into an existing Red Hat JBoss EAP installation running on IBM JDK with a keystore generated on another JDK.

Next steps:

Follow the instructions in one of the following sections:

4.1. Using the installer in interactive mode

The installer for Red Hat Decision Manager is an executable JAR file. You can use it to install Red Hat Decision Manager in an existing Red Hat JBoss EAP 7.1 server installation.

Note

For security reasons, you should run the installer as a non-root user.

Prerequisites

  • A backed-up Red Hat JBoss EAP 7.1 or higher server installation is available.
  • Sufficient user permissions to complete the installation are granted.
  • The JAR binary is included in $PATH environment variable. On Red Hat Enterprise Linux, it is included in the java-$JAVA_VERSION-openjdk-devel package.

    Note

    Red Hat Decision Manager is designed to work with UTF-8 encoding. If a different encoding system is used by the underlying JVM, unexpected errors might occur. To ensure UTF-8 is used by the JVM, use the "-Dfile.encoding=UTF-8" system property.

Procedure

  1. In a terminal window, navigate to the directory where you downloaded the installer JAR file and enter the following command:

    java -jar rhdm-installer-7.1.0.jar
    Note

    When running the installer on Windows, you may be prompted to provide administrator credentials during the installation. To prevent this requirement, add the izpack.mode=privileged option to the installation command:

    java -Dizpack.mode=privileged -jar
    rhdm-installer-7.1.0.jar

    Furthermore, when running the installer on a 32-bit Java virtual machine, you might encounter memory limitations. To prevent this issue, run this command:

    java -XX:MaxHeapSize=4g -jar
    rhdm-installer-7.1.0.jar

    The graphical installer displays a splash screen and a license agreement page.

  2. Click I accept the terms of this license agreement and click Next.
  3. Specify the Red Hat JBoss EAP 7.1 server home where you want to install Red Hat Decision Manager and click Next.
  4. Select the components that you want to install and click Next.

    Note

    You can install Decision Central and Decision Server on the same server. However, you should install Decision Central and Decision Server on different servers in production environments. To do this, run the installer twice.

  5. Create a user and click Next. By default, the new user is given the admin, kie-server, and rest-all roles. To select another role, deselect admin. For more information, see Chapter 2, Roles and users.

    Note

    Make sure that the specified user name is not the same as an existing user, role, or group. For example, do not create a user with the user name admin.

    The password must have at least eight characters and must contain at least one number and one non-alphanumeric character, but not & (ampersand).

    Make a note of the user name and password. You will need them to access Decision Central and Decision Server.

  6. On the Installation Overview page, click Next to start the installation. The Installation Overview page lists the components that you will install.
  7. When the installation has completed, click Next.
  8. When Processing finished appears at the top of the screen, click Next to complete the installation.
  9. If desired, click Generate Installation Script and Properties File to save the installation data in an XML file, then click Done. You can use this file to automatically install Red Hat Decision Manager on the same type of server. Note that you must change the installpath parameter in the XML file to specify the path of the new server that you want to install Red Hat Decision Manager on. Enter the following command to perform an installation with the XML file:

    java -jar rhdm-installer-7.1.0.jar <path-to-file>

You have successfully installed Red Hat Decision Manager using the installer.

4.2. Using the installer in CLI mode

You can run the Red Hat Decision Manager installer through the command-line interface (CLI).

Note

For security reasons, you should run the installer as a non-root user.

Prerequisites

  • A backed-up Red Hat JBoss EAP 7.1 or higher server installation is available.
  • Sufficient user permissions to complete the installation are granted.
  • The JAR binary is included in the $PATH environment variable. On Red Hat Enterprise Linux, it is included in the java-$JAVA_VERSION-openjdk-devel package.

    Note

    Red Hat Decision Manager is designed to work with UTF-8 encoding. If a different encoding system is used by the underlying JVM, unexpected errors might occur. To ensure UTF-8 is used by the JVM, use the "-Dfile.encoding=UTF-8" system property.

Procedure

  1. In a terminal window, navigate to the directory where you downloaded the installer file and enter the following command:

    java -jar rhdm-installer-7.1.0.jar -console

    The command-line interactive process will start and display the End-User License Agreement.

    press 1 to continue, 2 to quit, 3 to redisplay.
  2. Read the license agreement, enter 1, and press Enter to continue:

    Specify the home directory of one of the following servers:  Red Hat JBoss EAP 7.1 or Red Hat JBoss Web Server 5.0
  3. Enter the parent directory of an existing Red Hat JBoss EAP 7.1 installation.

    The installer will verify the location of the installation at the location provided. Enter 1 to confirm and continue.

    Note

    You can install Decision Central and Decision Server on the same server. However, you should install Decision Central and Decision Server on different servers in production environments.

  4. Follow the instructions in the installer to complete the installation.

    Note

    When you create the user name and password, make sure that the specified user name does not conflict with any known title of a role or a group. For example, if there is a role called admin, you should not create a user with the user name admin.

    The password must have at least eight characters and must contain at least one number and one non-alphanumeric character (not including the character &).

    Make a note of the user name and password. You will need them to access Decision Central and Decision Server.

  5. When the installation has completed, you will see this message:

    Would you like to generate an automatic installation script and properties file?
  6. Enter y to create an XML file that contains the installation data, or n to complete the installation. If you enter y, you are prompted to specify a path for the XML file.
  7. Enter a path or press the Enter key to accept the suggested path.
  8. If you installed only Decision Central, repeat these steps to install Decision Server on a separate server.

Chapter 5. Installing Red Hat Decision Manager from ZIP files

The Red Hat Decision Manager ZIP files (one for Decision Central and one for Decision Server) do not require a graphical user interface so you can install Red Hat Decision Manager using SSH.

Note

You should install Decision Central and the Decision Server on different servers in production environments.

For information about installing the headless Decision Manager controller, see Chapter 9, Installing and running the headless Decision Manager controller.

5.1. Installing Decision Central from the ZIP file

Decision Central is a web console that enables you to create, manage, and edit your rules and related assets in a unified web-based environment.

Prerequisites

  • A backed-up Red Hat JBoss EAP installation version 7.1 or higher is available. The base directory of the Red Hat JBoss EAP installation is referred to as EAP_HOME.
  • Sufficient user permissions to complete the installation are granted.
  • The following file is downloaded from the Red Hat Customer Portal:

    rhdm-7.1.0-decision-central-eap7-deployable.zip

Procedure

  1. Extract the rhdm-7.1.0-decision-central-eap7-deployable.zip file to a temporary directory. In the following examples this directory is called TEMP_DIR.
  2. Copy the contents of the TEMP_DIR/rhdm-7.1.0-decision-central-eap7-deployable/jboss-eap-7.1 directory to EAP_HOME. When prompted, merge or replace files.

    Warning

    Ensure the names of the Red Hat Decision Manager deployments you are copying do not conflict with your existing deployments in the Red Hat JBoss EAP instance.

5.2. Installing Decision Server from the ZIP file

Decision Server provides the runtime environment for business assets and accesses the data stored in the assets repository (knowledge store).

Prerequisites

  • A backed-up Red Hat JBoss EAP installation version 7.1 or higher is available. The base directory of the Red Hat JBoss EAP installation is referred to as EAP_HOME.
  • Sufficient user permissions to complete the installation are granted.
  • The following file is downloaded from the Red Hat Customer Portal:

    rhdm-7.1.0-kie-server-ee7.zip

Procedure

  1. Extract the rhdm-7.1.0-kie-server-ee7.zip archive to a temporary directory. In the following examples this directory is called TEMP_DIR.
  2. Copy the TEMP_DIR/rhdm-7.1.0-kie-server-ee7/rhdm-7.1.0-kie-server-ee7/kie-server.war directory to EAP_HOME/standalone/deployments/.

    Warning

    Ensure the names of the Red Hat Decision Manager deployments you are copying do not conflict with your existing deployments in the Red Hat JBoss EAP instance.

  3. Copy the contents of the TEMP_DIR/rhdm-7.1.0-kie-server-ee7/rhdm-7.1.0-kie-server-ee7/SecurityPolicy/ to EAP_HOME/bin. When asked to overwrite files, click Replace.
  4. In the EAP_HOME/standalone/deployments/ directory, create an empty file named kie-server.war.dodeploy. This file ensures that Decision Server is automatically deployed when the server starts.

5.3. Creating users

Before you can log in to Decision Central or Decision Server, you must create users. This section shows you how to create a Decision Central user with the admin, rest-all, and kie-server roles and a Decision Server user that has the kie-server role. For information about roles, see Chapter 2, Roles and users.

Prerequisites

Red Hat Decision Manager is installed in the base directory of the Red Hat JBoss EAP installation (EAP_HOME) as described in Chapter 5, Installing Red Hat Decision Manager from ZIP files.

Procedure

  1. In a terminal application, navigate to the EAP_HOME/bin directory.
  2. Create a user with the admin role that you will use to log in to Decision Central. In the following command, replace <username> and <password> with the user name and password of your choice.

    $ ./add-user.sh -a --user <USERNAME>  --password <PASSWORD> --role admin
    Note

    Make sure that the specified user name is not the same as an existing user, role, or group. For example, do not create a user with the user name admin.

    The password must have at least eight characters and must contain at least one number and one non-alphanumeric character, but not & (ampersand).

  3. Create a user with the kie-server role that you will use to log in to Decision Server.

    $ ./add-user.sh -a --user <USERNAME>  --password <PASSWORD> --role kie-server
  4. Make a note of your user names and passwords.

    Note

    If you installed Decision Central and Decision Server in the same server instance, you can create a single user that has both of these roles:

    $ ./add-user.sh -a --user <USERNAME>  --password <PASSWORD> --role admin,rest-all,kie-server

    You should install Decision Central and Decision Server on different servers in production environments.

5.4. Configuring Decision Server with the integrated Decision Manager controller

Note

Only make the changes described in this section if Decision Server will be managed by Decision Central and you installed Red Hat Decision Manager from the ZIP files. If you did not install Decision Central, you can use the headless Decision Manager controller to manage Decision Server, as described in Chapter 9, Installing and running the headless Decision Manager controller.

Decision Server can be managed or it can be unmanaged. If Decision Server is unmanaged, you must manually create and maintain KIE containers (deployment units). If Decision Server is managed, the Decision Manager controller manages the Decision Server configuration and you interact with the Decision Manager controller to create and maintain KIE containers.

The Decision Manager controller is integrated with Decision Central. If you install Decision Central, you can use the Execution Server page in Decision Central to interact with the Decision Manager controller.

If you installed Red Hat Decision Manager from the ZIP files, you must edit the standalone-full.xml file in both the Decision Server and Decision Central installations to configure Decision Server with the integrated Decision Manager controller.

Prerequisites

Procedure

  1. In the Decision Central EAP_HOME/standalone/configuration/standalone-full.xml file, uncomment the following properties in the <system-properties> section and replace <USERNAME> and <USER_PWD> with the credentials of a user with the kie-server role:

       <property name="org.kie.server.user" value="<USERNAME>"/>
       <property name="org.kie.server.pwd" value="<USER_PWD>"/>
  2. In the Decision Server EAP_HOME/standalone/configuration/standalone-full.xml file, uncomment the following properties in the <system-properties> section.

      <property name="org.kie.server.controller.user" value="<CONTROLLER_USER>"/>
      <property name="org.kie.server.controller.pwd" value="<CONTROLLER_PWD>"/>
      <property name="org.kie.server.id" value="<KIE_SERVER_ID>"/>
      <property name="org.kie.server.location" value="http://<HOST>:<PORT>/kie-server/services/rest/server"/>
      <property name="org.kie.server.controller" value="<CONTROLLER_URL>"/>
  3. Replace the following values:

    • Replace <CONTROLLER_USER> and <CONTROLLER_PWD> with the credentials of a user with the rest-all role.
    • Replace <KIE_SERVER_ID> with the ID or name of the Decision Server installation, for example, rhdm-7.1.0-decision_server-1.
    • Replace <HOST> with the ID or name of the Decision Server host, for example, localhost or 192.7.8.9.
    • Replace <PORT> with the port of the Decision Server host, for example, 8080.

      Note

      The org.kie.server.location property specifies the location of Decision Server.

    • Replace <CONTROLLER_URL> with the URL of Decision Central. Decision Server connects to this URL during startup.

      • If you installed Decision Central using the installer or Red Hat JBoss EAP zip installations, <CONTROLLER_URL> has this format:

        http://<HOST>:<PORT>/decision-central/rest/controller

      • If you are running Decision Central using the standalone.jar file, <CONTROLLER_URL> has this format:

        http://<HOST>:<PORT>/rest/controller

Chapter 6. Configuring SSH to use RSA

SSH is used to clone Git repositories. By default, the DSA encryption algorithm is provided by Business Central. However, some SSH clients, for example SSH clients in the Fedora 23 environment, use the RSA algorithm instead of the DSA algorithm. Business Central contains a system property that you can use to switch from DSA to RSA if required.

Note

SSH clients on supported configurations, for example Red Hat Enterprise Linux 7, are not affected by this issue. For a list of supported configurations, see Red Hat Decision Manager 7 Supported Configurations.

Procedure

Complete one of the following tasks to enable this system property:

  • Modify the ~/.ssh/config file on client side as follows to force the SSH client to accept the deprecated DSA algorithm:

    Host <SERVER_IP>
           HostKeyAlgorithms +ssh-dss
  • Include the -Dorg.uberfire.nio.git.ssh.algorithm=RSA parameter when you start Decision Central, for example:

    $ ./standalone.sh -c standalone-full.xml
    -Dorg.uberfire.nio.git.ssh.algorithm=RSA

Chapter 7. Verifying the Red Hat Decision Manager installation

After you have installed Red Hat Decision Manager, create an asset to verify that the installation is working.

Procedure

  1. In a terminal window, navigate to the EAP_HOME/bin directory and enter the following command to start Red Hat Decision Manager:

    ./standalone.sh -c standalone-full.xml
    Note

    If you deployed Decision Central without Decision Server, you can start Decision Central with the standalone.sh script without specifying the standalone-full.xml file. In this case, ensure that you make any configuration changes to the standalone.xml file before starting Decision Central.

  2. In a web browser, enter localhost:8080/decision-central.

    • If Red Hat Decision Manager has been configured to run from a domain name, replace localhost with the domain name, for example:

      http://www.example.com:8080/decision-central

    • If Red Hat Decision Manager has been configured to run in a cluster, replace localhost with the IP address of a particular node, for example:

      http://<node_IP_address>:8080/decision-central

  3. Enter the admin user credentials that you created during installation. The Decision Central home page appears.
  4. Select MenuDeployExecution Servers.
  5. Confirm that default-kieserver is listed under Server Configurations.
  6. Select MenuDesignProjects.
  7. Click Try SamplesMortgagesOK. The Assets window appears.
  8. Click Create New AssetData Object.
  9. Enter MyDataObject in the Data Object field and click OK.
  10. Click SpacesMySpaceMortgages and confirm that MyDataObject is in the list of assets.
  11. Delete the Mortgages project.

Chapter 8. Running Red Hat Decision Manager

Use this procedure to run the Red Hat Decision Manager on Red Hat JBoss EAP in standalone mode.

Prerequisite

Red Hat Decision Manager is installed and configured.

Procedure

  1. In a terminal application, navigate to EAP_HOME/bin.
  2. Run the standalone configuration:

    • On Linux or UNIX-based systems:

      $ ./standalone.sh -c standalone-full.xml
    • On Windows:

      standalone.bat -c standalone-full.xml
      Note

      If you deployed Decision Central without Decision Server, you can start Decision Central with the standalone.sh script without specifying the standalone-full.xml file. In this case, ensure that you make any configuration changes to the standalone.xml file before starting Decision Central.

      On Linux or UNIX-based systems:

      $ /standalone.sh

      On Windows:

      standalone.bat
  3. In a web browser, open the URL localhost:8080/decision-central.
  4. Log in using the credentials of the user that you created for Decision Central in Section 5.3, “Creating users”.

Chapter 9. Installing and running the headless Decision Manager controller

You can configure Decision Server to run in managed or unmanaged mode. If Decision Server is unmanaged, you must manually create and maintain KIE containers (deployment units). If Decision Server is managed, the Decision Manager controller manages the Decision Server configuration and you interact with the Decision Manager controller to create and maintain KIE containers.

Decision Central has an embedded Decision Manager controller. If you install Decision Central, use the Execution Server page to create and maintain KIE containers. If you want to automate Decision Server management without Decision Central, you can use the headless Decision Manager controller.

9.1. Installing the headless Decision Manager controller

You can install the headless Decision Manager controller and use the REST API or the Decision Server Java Client API to interact with it.

Prerequisites

  • A backed-up Red Hat JBoss EAP installation version 7.1 or higher is available. The base directory of the Red Hat JBoss EAP installation is referred to as EAP_HOME.
  • Sufficient user permissions to complete the installation are granted.

Procedure

  1. Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:

    • Product: Decision Manager
    • Version: 7.1
  2. Download Red Hat Decision Manager 7.1.0 Add Ons (the rhdm-7.1.0-add-ons.zip file).
  3. Unzip the rhdm-7.1.0-add-ons.zip file. The rhdm-7.1-controller-ee7.zip file is in the unzipped directory.
  4. Extract the rhdm-7.1-controller-ee7 archive to a temporary directory. In the following examples this directory is called TEMP_DIR.
  5. Copy the TEMP_DIR/rhdm-7.1-controller-ee7/controller.war directory to EAP_HOME/standalone/deployments/.

    Warning

    Ensure that the names of the headless Decision Manager controller deployments you are copying do not conflict with your existing deployments in the Red Hat JBoss EAP instance.

  6. Copy the contents of the TEMP_DIR/rhdm-7.1-controller-ee7/SecurityPolicy/ directory to EAP_HOME/bin. When asked to overwrite files, select Yes.
  7. In the EAP_HOME/standalone/deployments/ directory, create an empty file named controller.war.dodeploy. This file ensures that the headless Decision Manager controller is automatically deployed when the server starts.

9.1.1. Creating a headless Decision Manager controller user

Before you can use the headless Decision Manager controller, you must create a user that has the kie-server role.

Prerequisite

The headless Decision Manager controller is installed in the base directory of the Red Hat JBoss EAP installation (EAP_HOME).

Procedure

  1. In a terminal application, navigate to the EAP_HOME/bin directory.
  2. Enter the following command and replace <USER_NAME> and <PASSWORD> with the user name and password of your choice.

    $ ./add-user.sh -a --user <username> --password <password> --role kie-server
    Note

    Make sure that the specified user name is not the same as an existing user, role, or group. For example, do not create a user with the user name admin.

    The password must have at least eight characters and must contain at least one number and one non-alphanumeric character, but not & (ampersand).

  3. Make a note of your user name and password.

9.1.2. Configuring Decision Server and the headless Decision Manager controller

If Decision Server will be managed by the headless Decision Manager controller, you must edit the standalone-full.xml file in Decision Server installation and the standalone.xml file in the headless Decision Manager controller installation, as described in this section.

Prerequisites

  • Decision Server is installed in the base directory of the Red Hat JBoss EAP installation (EAP_HOME) as described in Chapter 5, Installing Red Hat Decision Manager from ZIP files section.
  • The headless Decision Manager controller is installed in an EAP_HOME.

    Note

    You should install Decision Server and the headless Decision Manager controller on different servers in production environments. However, if you install Decision Server and the headless Decision Manager controller on the same server, for example in a development environment, make these changes in the shared standalone-full.xml file.

  • On Decision Server nodes, a user with the kie-server role exists.
  • On the server nodes, a user with the kie-server role exists.

    For more information, see Section 5.3, “Creating users”.

Procedure

  1. In the EAP_HOME/standalone/configuration/standalone-full.xml file, add the following properties to the <system-properties> section and replace <USERNAME> and <USER_PWD> with the credentials of a user with the kie-server role:

       <property name="org.kie.server.user" value="<USERNAME>"/>
       <property name="org.kie.server.pwd" value="<USER_PWD>"/>
  2. In the Decision Server EAP_HOME/standalone/configuration/standalone-full.xml file, add the following properties to the <system-properties> section:

      <property name="org.kie.server.controller.user" value="<CONTROLLER_USER>"/>
      <property name="org.kie.server.controller.pwd" value="<CONTROLLER_PWD>"/>
      <property name="org.kie.server.id" value="<KIE_SERVER_ID>"/>
      <property name="org.kie.server.location" value="http://<HOST>:<PORT>/kie-server/services/rest/server"/>
      <property name="org.kie.server.controller" value="<CONTROLLER_URL>"/>
  3. In this file, replace the following values:

    • Replace <CONTROLLER_USER> and <CONTROLLER_PWD> with the credentials of a user with the kie-server role.
    • Replace <KIE_SERVER_ID> with the ID or name of the Decision Server installation, for example, rhdm-7.1.0-decision_server-1.
    • Replace <HOST> with the ID or name of the Decision Server host, for example, localhost or 192.7.8.9.
    • Replace <PORT> with the port of the Decision Server host, for example, 8080.

      Note

      The org.kie.server.location property specifies the location of Decision Server.

    • Replace <CONTROLLER_URL> with the URL of the headless Decision Manager controller.
  4. Decision Server connects to this URL during startup.

9.2. Running the headless Decision Manager controller

After you have installed the headless Decision Manager controller on Red Hat JBoss EAP, use this procedure to run the headless Decision Manager controller.

Prerequisite

The headless Decision Manager controller is installed and configured in the base directory of the Red Hat JBoss EAP installation (EAP_HOME).

Procedure

  1. In a terminal application, navigate to EAP_HOME/bin.
  2. Enter the following command:

    • On Linux or UNIX-based systems:

      $ ./standalone.sh
    • On Windows:

      standalone.bat
  3. To verify that the headless Decision Manager controller is working on Red Hat JBoss EAP, enter the following command where <CONTROLLER> and <CONTROLLER_PWD> is the user name and password combination that you created in Section 9.1.1, “Creating a headless Decision Manager controller user”. The output of this command provides information about the Decision Server instance.

    curl -X GET "http://<HOST>:<PORT>/controller/rest/controller/management/servers" -H  "accept: application/xml" -u '<CONTROLLER>:<CONTROLLER_PWD>'
Note

Alternatively, you can use the Decision Server Java API Client to access the headless Decision Manager controller.

Chapter 10. Running standalone Decision Central

You can use the Decision Central standalone JAR file to run Decision Central without needing to deploy it to an application server such as Red Hat JBoss EAP.

Note

Red Hat supports this installation type only when it is installed on Red Hat Enterprise Linux.

Procedure

  1. Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:

    • Product: Decision Manager
    • Version: 7.1
  2. Download Red Hat Decision Manager 7.1 Decision Central Standalone (rhdm-7.1.0-decision-central-standalone.jar).
  3. Create a directory and move the rhdm-7.1.0-decision-central-standalone.jar file to this directory.
  4. In a terminal window, navigate to the directory that contains the standalone JAR file.
  5. Create the application-users.properties file. Include an administrative user and if this Decision Central instance will be a Decision Manager controller for Decision Server, include a Decision Manager controller user, for example:

    rhdmAdmin=password1
    controllerUser=controllerUser1234
  6. Create the application-roles.properties file to assign roles to the users that you included in the application-users.properties file, for example:

    rhdmAdmin=admin
    controllerUser=kie-server
  7. Create the application-config.yaml configuration file with the following contents, where <APPLICATION_USERS> is the path to the application-users.properties file and <APPLICATION_ROLES> is the path to the application-roles.properties file:

    swarm:
      management:
        security-realms:
          ApplicationRealm:
            local-authentication:
              default-user: local
              allowed-users: local
              skip-group-loading: true
            properties-authentication:
              path: <APPLICATION_USERS>
              plain-text: true
            properties-authorization:
              path: <APPLICATION_ROLES>
    datasource:
      management:
        wildfly:
          admin: admin
  8. Enter the following command:

    java -jar rhdm-7.1.0-decision-central-standalone.jar -s application-config.yaml

    In addition, you can set any properties supported by Decision Central by including the -D<property>=<value> parameter in this command, for example:

    java -jar rhdm-7.1.0-decision-central-standalone.jar -s application-config.yaml -D<property>=<value> -D<property>=<value>

    See Section 10.1, “Supported properties” for more information.

10.1. Supported properties

The Decision Central system properties listed in this section are passed to standalone*.xml files or when you install standalone Decision Central, you can use the properties listed in this section in the following command:

java -jar rhdm-7.1.0-decision-central-standalone.jar -s application-config.yaml -D<property>=<value> -D<property>=<value>

In this command, <property> is a property from the following list and <value> is a value that you assign to that property:

  • org.uberfire.nio.git.dir: Location of the Decision Server Git directory.
  • org.uberfire.nio.git.dirname: Name of the Decision Server Git directory. Default value: .niogit.
  • org.uberfire.nio.git.proxy.ssh.over.http: Specifies whether SSH should use an HTTP proxy. Default: false
  • http.proxyHost: Defines the host name of the HTTP proxy. Default: null
  • http.proxyPort: Defines the host port (integer value) of the HTTP proxy. Default: null
  • org.uberfire.nio.git.proxy.ssh.over.https: Specifies whether SSH should use an HTTPS proxy. Default: false
  • https.proxyHost: Defines the host name of the HTTPS proxy. Default: null
  • https.proxyPort: Defines the host port (integer value) of the HTTPS proxy. Default: null
  • org.uberfire.nio.git.daemon.enabled: Enables or disables the Git daemon. Default value: true.
  • org.uberfire.nio.git.daemon.host: If the Git daemon is enabled, it uses this property as the local host identifier. Default value: localhost.
  • org.uberfire.nio.git.daemon.port: If the Git daemon is enabled, it uses this property as the port number. Default value: 9418.
  • org.uberfire.nio.git.ssh.enabled: Enables or disables the SSH daemon. Default value: true.
  • org.uberfire.nio.git.ssh.host: If the SSH daemon enabled, it uses this property as the local host identifier. Default value: localhost.
  • org.uberfire.nio.git.ssh.port: If the SSH daemon is enabled, it uses this property as the port number. Default value: 8001.
  • org.uberfire.nio.git.ssh.cert.dir: Location of the .security directory where local certificates are stored. Default: the working directory.
  • org.uberfire.nio.git.ssh.passphrase: Pass phrase used to access the public key store of your operating system when cloning git repositories with SCP style URLs. Example: git@github.com:user/repository.git.
  • org.uberfire.nio.git.ssh.algorithm: Algorithm used by SSH. Default value: RSA.

    Note

    If you plan to use RSA or any algorithm other than DSA, make sure you set up your application server to use the Bouncy Castle JCE library.

  • org.uberfire.metadata.index.dir: Place where the Lucene .index directory is stored. Default: the working directory
  • org.uberfire.ldap.regex.role_mapper: Regex pattern used to map LDAP principal names to the application role name. Note that the variable role must be part of the pattern because it is substituted by the application role name when matching a principal value to a role name. Default: Not used.
  • org.uberfire.sys.repo.monitor.disabled: Disables the configuration monitor. Do not disable unless you are sure. Default value: false
  • org.uberfire.secure.key: Password used by password encryption. Default value: org.uberfire.admin
  • org.uberfire.secure.alg: Crypto algorithm used by password encryption. Default value: PBEWithMD5AndDES
  • org.uberfire.domain: Security-domain name used by uberfire. Default value: ApplicationRealm
  • org.guvnor.m2repo.dir: Place where the Maven repository folder is stored. Default value: <working-directory>/repositories/kie
  • org.guvnor.project.gav.check.disabled: Disables group ID, artifact ID, and version (GAV) checks. Default value: false
  • org.kie.build.disable-project-explorer: Disables automatic build of a selected project in Project Explorer. Default value: false
  • org.kie.verification.disable-dtable-realtime-verification: Disables the real-time validation and verification of decision tables. Default value: false
  • org.kie.server.controller: URL for connecting with a Decision Manager controller, for example: ws://localhost:8080/decision-central/websocket/controller
  • org.kie.server.user: User name used to connect with the Decision Server nodes from the Decision Manager controller. This property is only required when using this Decision Central installation as a Decision Manager controller.
  • org.kie.server.pwd: Password used to connect with the Decision Server nodes from the Decision Manager controller. This property is only required when using this Decision Central installation as a Decision Manager controller.

    Note

    Use this property for Decision Central only. If you share a runtime environment with any other component, isolate the configuration and apply it only to Decision Central.

  • org.uberfire.gzip.enable: Enables or disables Gzip compression on GzipFilter. Default: true

Chapter 11. Maven settings and repositories for Red Hat Decision Manager

You can use an external Maven repository to deploy a project. When you create a project, Decision Central uses the Maven repositories that are configured for Decision Central. You can use the Maven global or user settings to direct all Red Hat Decision Manager projects to retrieve dependencies from the public Red Hat Decision Manager repository by modifying the following files:

  • The Maven settings.xml file.
  • The Maven project object model (POM) file (pom.xml).

For more information, see Packaging and deploying a Red Hat Decision Manager project.

11.1. Adding Maven dependencies for Red Hat Decision Manager

To use the correct Maven dependencies in your Red Hat Decision Manager project, add the Red Hat Business Automation bill of materials (BOM) files to the project’s pom.xml file. The Red Hat Business Automation BOM applies to both Red Hat Decision Manager and Red Hat Process Automation Manager. When you add the BOM files, the correct versions of transitive dependencies from the provided Maven repositories are included in the project.

For more information about the Red Hat Business Automation BOM, see What is the mapping between Red Hat Decision Manager and the Maven library version?.

Procedure

  1. Declare the Red Hat Business Automation BOM in the pom.xml file:

    <dependencyManagement>
     <dependencies>
      <dependency>
       <groupId>com.redhat.ba</groupId>
       <artifactId>ba-platform-bom</artifactId>
       <version>7.1.0.GA-redhat-00002</version>
       <type>pom</type>
       <scope>import</scope>
      </dependency>
     </dependencies>
    </dependencyManagement>
    <dependencies>
    <!-- Your dependencies -->
    </dependencies>
  2. Declare dependencies required for your project in the <dependencies> tag. After you import the product BOM into your project, the versions of the user-facing product dependencies are defined so you do not need to specify the <version> sub-element of these <dependency> elements. However, you must use the <dependency> element to declare dependencies which you want to use in your project.
  3. For standalone projects that are not authored in Decision Central, specify all dependencies required for your projects. In projects that you author in Decision Central, the basic decision engine dependencies are provided automatically by Decision Central.

    • For a basic Red Hat Decision Manager project, declare the following dependencies, depending on the features that you want to use:
    • For a basic Red Hat Decision Manager project, declare the following dependencies:

      Embedded decision engine dependencies

      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-compiler</artifactId>
      </dependency>
      
      <!-- Dependency for persistence support. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-persistence-jpa</artifactId>
      </dependency>
      
      <!-- Dependencies for decision tables, templates, and scorecards.
      For other assets, declare org.drools:drools-workbench-models-* dependencies. -->
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-decisiontables</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-templates</artifactId>
      </dependency>
      <dependency>
        <groupId>org.drools</groupId>
        <artifactId>drools-scorecards</artifactId>
      </dependency>
      
      <!-- Dependency for loading KJARs from a Maven repository using KieScanner. -->
      <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-ci</artifactId>
      </dependency>

    • To use the Decision Server, declare the following dependencies:

      Client application Decision Server dependencies

      <dependency>
        <groupId>org.kie.server</groupId>
        <artifactId>kie-server-client</artifactId>
      </dependency>

    • To create a remote client for Red Hat Decision Manager, declare the following dependency:

      Client dependency

      <dependency>
        <groupId>org.uberfire</groupId>
      </dependency>

    • When creating a JAR file that includes assets, such as rules and process definitions, specify the packaging type for your Maven project as kjar and use org.kie:kie-maven-plugin to process the kjar packaging type located under the <project> element. In the following example, ${kie.version} is the Maven library version listed in What is the mapping between Red Hat Decision Manager and the Maven library version?:

      <packaging>kjar</packaging>
      <build>
       <plugins>
        <plugin>
         <groupId>org.kie</groupId>
         <artifactId>kie-maven-plugin</artifactId>
         <version>${kie.version}</version>
         <extensions>true</extensions>
        </plugin>
       </plugins>
      </build>

11.2. Configuring an external Maven repository for Decision Central and Decision Server

You can configure Decision Central and Decision Server to use an external Maven repository, such as Nexus or Artifactory, instead of the built-in repository. This enables Decision Central and Decision Server to access and download artifacts that are maintained in the external Maven repository.

Important

"Artifacts in the repository do not receive automated security patches as Maven requires that artifacts be immutable. As a result, artifacts that are missing patches for known security flaws will remain in the repository to avoid breaking builds that depend on them. Patched artifacts have their version number incremented". For more information, see JBoss Enterprise Maven Repository.

Note

For information about configuring an external Maven repository for an authoring environment on Red Hat OpenShift Container Platform, see Deploying a Red Hat Decision Manager authoring or managed server environment on Red Hat OpenShift Container Platform.

Prerequisite

Decision Central and Decision Server are installed. For installation options, see Planning a Red Hat Decision Manager installation.

Procedure

  1. Create a Maven settings.xml file with connection and access details for your external repository. For details about the settings.xml file, see the Maven Settings Reference.
  2. Save the file in a known location, for example, /opt/custom-config/settings.xml.
  3. In your Red Hat Decision Manager installation directory, navigate to the standalone-full.xml file. For example, if you use a Red Hat JBoss EAP installation for Red Hat Decision Manager, go to $EAP_HOME/standalone/configuration/standalone-full.xml.
  4. Open standalone-full.xml and under the <system-properties> tag, set the kie.maven.settings.custom property to the full path name of the settings.xml file.

    For example:

    <property name="kie.maven.settings.custom" value="/opt/custom-config/settings.xml"/>
  5. Start or restart Decision Central and Decision Server.

Next steps

For each Decision Central project that you want to export or push as a KJAR artifact to the external Maven repository, you must add the repository information in the project pom.xml file. For instructions, see Packaging and deploying a Red Hat Decision Manager project.

Chapter 12. Importing projects from Git repositories

Git is a distributed version control system. It implements revisions as commit objects. When you save your changes to a repository, a new commit object in the Git repository is created.

Decision Central uses Git to store project data, including assets such as rules and processes. When you create a project in Decision Central, it is added to a Git repository that is embedded in Decision Central. If you have projects in other Git repositories, you can import those projects into the Decision Central Git repository through Decision Central spaces.

Prerequisites

  • Red Hat Decision Manager projects exist in an external Git repository.
  • Credentials required for read access to that external Git repository are available.

Procedure

  1. In Decision Central, click MenuDesignProjects.
  2. Select or create the space into which you want to import the projects. The default space is mySpace.
  3. Click the three vertical dots on the right side of the screen and select Import Project.
  4. In the Import Project window, enter the URL and credentials for the Git repository that contains the projects that you want to import and click Import. The projects are added to the Decision Central Git repository and are available from the current space.

Chapter 13. Verifying the Red Hat Decision Manager installation

After you have installed Red Hat Decision Manager, create an asset to verify that the installation is working.

Procedure

  1. In a terminal window, navigate to the EAP_HOME/bin directory and enter the following command to start Red Hat Decision Manager:

    ./standalone.sh -c standalone-full.xml
    Note

    If you deployed Decision Central without Decision Server, you can start Decision Central with the standalone.sh script without specifying the standalone-full.xml file. In this case, ensure that you make any configuration changes to the standalone.xml file before starting Decision Central.

  2. In a web browser, enter localhost:8080/decision-central.

    • If Red Hat Decision Manager has been configured to run from a domain name, replace localhost with the domain name, for example:

      http://www.example.com:8080/decision-central

    • If Red Hat Decision Manager has been configured to run in a cluster, replace localhost with the IP address of a particular node, for example:

      http://<node_IP_address>:8080/decision-central

  3. Enter the admin user credentials that you created during installation. The Decision Central home page appears.
  4. Select MenuDeployExecution Servers.
  5. Confirm that default-kieserver is listed under Server Configurations.
  6. Select MenuDesignProjects.
  7. Click Try SamplesMortgagesOK. The Assets window appears.
  8. Click Add AssetData Object.
  9. Enter MyDataObject in the Data Object field and click OK.
  10. Click SpacesMySpaceMortgages and confirm that MyDataObject is in the list of assets.
  11. Delete the Mortgages project.

Chapter 14. Customizing Decision Central

You can customize the Decision Central login page and application header.

14.1. Customizing the Decision Central login page

You can customize the company logo and the project logo on the Decision Central login page.

Procedure

  1. Start Red Hat JBoss EAP and open Decision Central in a web browser.
  2. Copy a PNG format image to the EAP_HOME/standalone/deployments/decision-central.war/img/ directory in your Red Hat Decision Manager installation.
  3. In the EAP_HOME/standalone/deployments/decision-central.war/img/ directory, either move or rename the existing login-screen-logo.png file.
  4. Rename your PNG file login-screen-logo.png.
  5. To change the project logo that appears above the User name and Password fields, replace the default image RHDM_Logo.svg with a new SVG file.
  6. Force a full reload of the login page, bypassing the cache, to view the changes. For example, in most Linux and Windows web browsers, press Ctrl+F5.

14.2. Customizing Decision Central application header

You can customize the Decision Central application header.

Procedure

  1. Start Red Hat JBoss EAP, open Decision Central in a web browser, and log in with your user credentials.
  2. Copy your new application header image in the SVG format to the EAP_HOME/standalone/deployments/decision-central.war/banner/ directory in your Red Hat Decision Manager installation.
  3. Open the EAP_HOME/standalone/deployments/decision-central.war/banner/banner.html file in a text editor.
  4. Replace logo.svg in the <img> tag with the file name of your new image:admin-and-config/

    <img src="banner/logo.svg"/>
  5. Force a full reload of the login page, bypassing the cache, to view the changes. For example, in most Linux and Windows web browsers, press Ctrl+F5.

Chapter 15. Integrating LDAP and SSL

With Red Hat Decision Manager you can integrate LDAP and SSL through RH-SSO. For more information, see the Red Hat Single Sign-On Server Administration Guide.

Chapter 16. Additional resources

Chapter 17. Next steps

Appendix A. Versioning information

Documentation last updated on Wednesday, July 15, 2020.

Legal Notice

Copyright © 2020 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, the Red Hat 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 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.