Red Hat Training

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

Installing and configuring Decision Server on Oracle WebLogic Server

Red Hat Decision Manager 7.0

Red Hat Customer Content Services

Abstract

This document describes how to install Red Hat Decision Manager on Oracle Weblogic Server.

Preface

The document describes how to configure Oracle Weblogic Server for Decision Server and how to install Decision Server on that server instance.

Prerequisites

  • An Oracle Weblogic Server instance, release 12.2.1.3.0 or higher
  • Access to the Oracle WebLogic Server administrative console, usually http://TARGET_SERVER:7001/console

Chapter 1. About Red Hat Decision Manager for Oracle WebLogic Server

Red Hat Decision Manager is an open source decision management platform that combines business rules management and complex event processing. It includes decision management and business resource optimization capabilities. With Red Hat Decision Manager, you can automate business decisions and make that logic available to the entire business.

Red Hat Decision Manager uses a centralized repository for storing all resources. This ensures consistency, transparency, and the ability to audit across the business. Business users can modify business logic and business processes without requiring assistance from IT personnel.

Red Hat Decision Manager is made up of Decision Central, Decision Server, and Red Hat Business Optimizer.

  • Decision Central is the graphical user interface where you create and manage business rules.
  • Decision Server is the server where the rules and other artifacts are stored. Decision Server is used to instantiate and execute rules and solve planning problems.
  • Red Hat Business Optimizer is a lightweight, embeddable planning engine that optimizes planning problems.

This guide explains how to install Decision Server on a full profile version of Oracle WebLogic Server.

For information about running the Decision Central standalone JAR file, see Installing Red Hat Decision Manager on premise. For information about installing Red Hat Business Optimizer, see Installing and configuring Red Hat Business Optimizer.

Chapter 2. Downloading Decision Server

Download the deployable Red Hat Decision Manager package file for Oracle WebLogic Server from the Red Hat Customer Portal:

  1. Log in to the Red Hat Customer Portal.
  2. Click DOWNLOADS at the top of the page.
  3. On the Product Downloads page that opens, navigate to the JBOSS INTEGRATION AND AUTOMATION section, and click Red Hat Decision Manager.
  4. On the Software Downloads page, if necessary select Decision Manager from the Product menuand 7.0 from the Version menu.
  5. Download the following product distribution:

    • Red Hat Decision Manager Decision Server for All Supported EE7 Containers (rhdm-7.0.0.GA-kie-server-ee7.zip)
  6. Extract rhdm-7.0.0.GA-kie-server-ee7.zip to a temporary directory.

Chapter 3. Configuring Oracle WebLogic Server

3.1. Setting environment variables

You must set the environment variables listed in this section on your Oracle WebLogic Server before you deploy Decision Server.

JVM memory size

Set the following environment variable to increase the JVM memory size:

USER_MEM_ARGS=-Xms512m -Xmx1024m

If you do not increate the JVM memeory size, Oracle WebLogic Server freezes or causes deployment errors when deploying Decision Server.

JVM custom properties

You must specify the following Decision Server property values on the Oracle WebLogic Server instance:

  • com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager: Uses BeanManager to look up extensions. This avoids conflicts across multiple instances. Set to true.
  • kie.server.jms.queues.response: JNDI name of the response queue for the Decision Server. Set to jms/KIE.SERVER.RESPONSE.
  • org.kie.server.domain: JAAS LoginContext domain used to authenticate users when using JMS. Set to OracleDefaultLoginConfiguration.
  • Set the values of the following properties to true to disable the jBPM functionality of Decision Server:

    • org.jbpm.server.ext.disabled
    • org.jbpm.ui.server.ext.disabled
    • org.jbpm.case.server.ext.disabled

Set these property values in the JAVA_OPTIONS environment variable:

JAVA_OPTIONS="-Dkie.server.jms.queues.response=jms/KIE.SERVER.RESPONSE
 -Dorg.org.kie.server.domain=OracleDefaultLoginConfiguration
 -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true
 -Dorg.jbpm.server.ext.disabled=true
 -Dorg.jbpm.ui.server.ext.disabled=true
 -Dorg.jbpm.case.server.ext.disabled=true"

3.2. Starting Oracle WebLogic Server

The instructions in this section describe how to start Oracle WebLogic Server in a standalone Oracle WebLogic Server domain.

Note

If you are already running an instance of Oracle WebLogic Server that uses the same listener port as the one to be used by the server you are starting, you must stop the first server before starting the second server.

Procedure

  1. At the command prompt, navigate to the domain directory, `WLS_HOME/user_projects/<DOMAIN_NAME>''. For example:

    WLS\user_projects\mydomain
  2. Enter one of the following commands to start Oracle WebLogic Server:

    • On UNIX-based system:

      startWebLogic.sh
    • On Microsoft Windows:

      startWebLogic.cmd

      The startup script displays a series of messages, finally displaying a message similar to the following:

      <Dec 8, 2017 3:50:42 PM PDT> <Notice> <WebLogicServer> <000360> <Server started in RUNNING mode>
  3. Open the following URL in a web browser:

    http://<HOSTNAME>:<PORT>/console

    In this command:

    • HOSTNAME is the system name or IP address of the host server
    • PORT is the address of the port on which the host server is listening for requests (7001 by default)

      For example, to start the Administration Console for a local instance of Oracle WebLogic Server running on your system, enter the following URL in a web browser address field:

      http://localhost:7001/console/

      If you started the Administration Server using secure socket layer (SSL), you must add s after http, as follows: https://hostname:port/console

  4. When the login page appears, enter your administrative credentials.

3.3. Configuring security settings

Complete the steps in this section to enable the container-managed authentication mechanisms provided by the Oracle WebLogic Server:

Procedure

  1. In the WebLogic administrative console, click Security Realms.
  2. Choose your desired security realm or click New to create a new security realm.
  3. Navigate to Users and GroupsGroups to display the groups list for your security realm.
  4. Click New to create the kie-server group.
  5. Click the Users tab and click New to create a new user.
  6. Enter a name and password for this new user, for example server-user/ password1234, and click OK.

    Important

    Make sure that the selected user name does not conflict with any known title of a role or a group.

    For example, if there is a role called kie-server, you should not create a user with the user name kie-server.

  7. Click the newly created user, then click the Groups tab.
  8. Use the selection tool to move the kie-server group from the Available field to the Chosen field, and click Save.

3.4. Configuring Java Message Service

You must configure Oracle WebLogic Server to send and receive Java Message Service (JMS) messages through Decision Server.

3.4.1. Create a JMS server

You must create a JMS server before you can use JMS.

Procedure

  1. Navigate to ServicesMessagingJMS Servers.
  2. Click New to create a new JMS server.
  3. Enter a name for your JMS server and click Next.
  4. Select the target server chosen for the Decision Central deployment.
  5. Click Finish to complete the JMS Server creation.

Create a JMS module

A JMS module stores your JMS resources, such as connection factories and queues. Use the following steps to create a new JMS module.

Procedure

  1. Navigate to ServicesMessagingJMS Modules.
  2. Click New to create a new module.
  3. Provide your module with a name and click Next to advance to the next configuration screen.
  4. Select the target server chosen for the Decision Server deployment.
  5. Click Finish to complete the JMS module creation.
  6. Click the newly created module’s name, then click Subdeployments.
  7. Click New to create a subdeployment for your module.
  8. Give your subdeployment a name and click Next.
  9. Click the box to select the previously created JMS server.
  10. Click Finish to complete the subdeployment configuration.

Create JMS connection factories

To send and receive messages from Decision Server, you must create a JMS connection factory for receiving messages and another JMS connection factory for sending messages. The following connection factories are required:

  • KIE.SERVER.REQUEST: for all requests to Decision Server.

    Default value: jms/cf/KIE.SERVER.REQUEST.

  • KIE.SERVER.RESPONSE: for receiving all responses produced by Decision Server.

    Default value: jms/cf/KIE.SERVER.RESPONSE.

Perform the following steps for each connection factory.

Procedure

  1. Navigate to ServicesMessagingJMS Modules to see a list of JMS modules.
  2. Select your previously created module, then click New to create a new JMS resource.
  3. Select Connection Factory and click Next.
  4. Enter the name of the connection factory (for example KIE.SERVER.REQUEST) and the JNDI name (for example jms/cf/KIE.SERVER.REQUEST) and click Next. The connection factory automatically selects the servers assigned to the JMS Module as the default.
  5. Click Finish to complete the connection factory creation.

Create JMS queues

JMS queues are the destination end points for point-to-point messaging. You must create the following JMS queues:

  • KIE.SERVER.REQUEST: for all requests to the Decision Server.

    Default value: jms/KIE.SERVER.REQUEST.

  • KIE.SERVER.RESPONSE: for the Decision Server responses.

    Default value: jms/KIE.SERVER.RESPONSE.

Repeat the following steps to create each queue:

  1. Navigate to ServicesMessagingJMS Modules to see the list of JMS modules.
  2. Select your previously created module, then click New to create a new JMS resource.
  3. Select Queue and click Next.
  4. Enter the name of the queue (for example KIE.SERVER.REQUEST) and the JNDI name (for example jms/KIE.SERVER.REQUEST) and then click Next.
  5. Choose the JMS module subdeployment that connects to the JMS server.
  6. Click Finish to complete the queue creation.

Chapter 4. Installing Decision Server

This section describes how to install Decision Server on Oracle Weblogic Server.

Prerequistes

  • An Oracle Weblogic Server instance configured as described in the previous chapter
  • The rhdm-7.0.0.GA-kie-server-ee7.zip file, downloaded and extracted to a temporary directory

    See Chapter 2, Downloading Decision Server for information about downloading these files.

Procedure

  1. Navigate to Deployments to view all existing applications.
  2. Click Install.
  3. Navigate to the extracted archive location for kie-server.war and select it. Click Next to continue.
  4. Select Install this deployment as an application as the targeting style and click Next.
  5. Set the application name to kie-server and set the security model to DD Only. Leave the remaining options as default and click Next to continue.
  6. In the Additional Configuration section, choose No, I will review the configuration later and click Finish.

You can now access the Decision Server at http://TARGET_SERVER:7001/kie-server.

Chapter 5. Installing and running the standalone Decision Server Controller

You can configure Decision Server to run in managed or unmanaged mode. If Decision Server is unmanaged, you must manually create and maintain containers. If Decision Server is managed, the standalone Decision Server Controller manages the Decision Server configuration and you interact with the Controller to create and maintain containers.

The standalone Decision Server Controller is integrated with Decision Central. If you install Decision Central, use the Exection Server page to create and maintain containers. However, if you do not install Decision Central, you can install the standalone Decision Server Controller and use the REST API or the Decision Server Java Client API to interact with it.

5.1. Setting environment variables for the Controller

Set the environment variables listed in this section.

Prerequisites

  • Decision Server installed on an Oracle Weblogic Server instance
  • The Controller installed on an Oracle Weblogic Server instance

    Note

    Red Hat recommends that you install Decision Server and the standalone Decision Server Controller on different servers in production environments. However, if you install Decision Server and the standalone Decision Server Controller on the same server, for example in a development environment, make these changes on the same Oracle Weblogic Server instance.

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

Procedure

  1. Specify the following JVM property values on the Oracle Weblogic Server instance where the Controller is installed:

    • org.kie.server.user: A user with the kie-server role.
    • org.kie.server.pwd: The password for the user specified in the org.kie.server.user property.
  2. Specify the following JVM property values on the Oracle Weblogic Server instance where Decision Server is installed:

    • org.kie.server.controller.user: A user with the kie-server role
    • org.kie.server.controller.pwd: The password for the user specified for the org.kie.server.controller.user property
    • org.kie.server.id: The ID or name of the Decision Server installation, for example, rhdm700-decision-server-1
    • org.kie.server.location: http://<HOST>:<PORT>/kie-server/services/rest/server
    • org.kie.server.controller: The URL of the standalone Decision Server Controller, for example http://<HOST>:<PORT>/controller/rest/controller

      In the preceding examples:

    • <HOST> is the ID or name of the Decision Server host, for example, localhost or 192.7.8.9.
    • <PORT> is the port of the Decision Server host, for example, 7001.

5.2. Installing the Controller

This section describes how to install the Controller on Oracle Weblogic Server.

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

Prerequisites

  • An Oracle Weblogic Server instance configured as described in this document
  • Sufficient user permissions to complete the installation.

Procedure

  1. Download the rhdm-7.0-controller-ee7.zip file by clicking Download next to Red Hat Decision Manager 7.0.0 Add Ons on the Product Downloads page of the Red Hat Customer Portal.
  2. Unzip the rhdm-7.0.0.GA-add-ons.zip file. The rhdm-7.0-controller-ee7.zip file is in the unzipped directory.
  3. Create a user and password for the Controller in the kie-server group, for example controller/pwd1234. For information about creating users, see Section 3.3, “Configuring security settings”.
  4. Navigate to Deployments to view all existing applications.
  5. Click Install.
  6. Navigate to the extracted archive location for the controller.war file and select it. Click Next to continue.
  7. Select Install this deployment as an application as the targeting style and click Next.
  8. Keep the application name as controller and set the security model to DD Only. Leave the remaining options as default and click Next to continue.
  9. In the Additional Configuration section, choose No, I will review the configuration later and click Finish.
  10. To verify that the Controller is working on Oracle Weblogic Server, enter the following command:

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

    In this command, replace <CONTROLLER> and <CONTROLLER_PWD> with the user credentials that you created in this section.

    The output of this command provides information about the Decision Server instance.

Note

Alternatively, you can use the Decision Server Java API Client to access the Controller.

Appendix A. Versioning information

Documentation last updated on: Monday, October 1, 2018.

Legal Notice

Copyright © 2018 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.