Red Hat Training
A Red Hat training course is available for Red Hat Decision Manager
Installing and configuring Decision Server on IBM WebSphere Application Server
Red Hat Customer Content Services
brms-docs@redhat.com
Abstract
Preface
This document describes how to configure IBM WebSphere Application Server (IBM WebSphere) for Decision Server and how to install Decision Server on IBM WebSphere.
Chapter 1. Introduction
1.1. Red Hat Decision Manager
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 IBM WebSphere Application Server (IBM WebSphere).
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.
1.2. IBM WebSphere Application Server
IBM WebSphere is a flexible and secure web application server that hosts Java-based web applications and provides Java EE-certified run time environments. IBM WebSphere 9.0 supports Java SE 8 and is fully compliant with Java EE 7 since version 8.5.5.6.
Chapter 2. Installing IBM WebSphere
You must download and install IBM Installation Manager before installing IBM WebSphere.
2.1. Downloading and installing IBM Installation Manager
- Download IBM Installation Manager version 1.8.5 or later from the IBM Installation Manager and Packaging Utility download links page.
Extract the downloaded archive and run the following command as the root user in the new directory:
sudo ./install
IBM Installation Manager opens.
Go to File → Preferences and click Add Repository.
The Add Repository dialog window opens.
Enter the repository URL for IBM WebSphere 9.0. You can find all the repository URLs in the Online product repositories for WebSphere Application Server offerings page of the IBM Knowledge Center. For example:
http://www.ibm.com/software/repositorymanager/V9WASILAN
2.2. Creating a WebSphere profile and user name
A profile defines the run time environment. The profile includes all the files that the server processes in the run time environment and that you can change. The user is required for login. In this example, we will use websphere
for both the user name and password.
- From your terminal, navigate to the WebSphere Application Server folder location that you specified during the installation.
Change to the
/bin
directory and run the following command:sudo ./manageprofiles.sh -create -profileName testprofile -adminUserName websphere -adminPassword websphere
2.3. Starting the server
- From your terminal, navigate to the WebSphere Application Server folder location that you specified during installation.
Change to the
/profiles/testprofile/bin
directory and run the following command:sudo ./startServer.sh server1
Navigate to
http://TARGET_SERVER:9060/ibm/console
in your web browser and log in with the user credentials created in the previous procedure. For example:http://localhost:9060/ibm/console
.The WebSphere Integrated Solutions Console opens.
Chapter 3. Configuring IBM WebSphere for Decision Server
Before you can deploy Decision Server on IBM WebSphere, you must configure the server to accept the deployable kie-server.war
file.
Prerequisites
You have successfully logged in to the IBM WebSphere’s IBM Integrated Solutions Console. The main menu on the left side of the console contains all the links necessary for configuring the application server.
Figure 3.1. IBM Integrated Solutions Console
3.1. Increasing JVM heap size
The default JVM heap size in IBM WebSphere may cause errors when deploying Decision Server. To avoid issues, increase the heap size:
- In the Integrated Solutions Console, go to Servers → Server Types → WebSphere application servers.
From the list of application servers, click on the server that you are going to deploy Decision Server. For example,
server1
.The configuration page for
server1
opens.Under Server Infrastructure, expand Java and Process Management and click Process definition.
Figure 3.2. Application server configuration page
Click Java Virtual Machine under Additional Properties.
Figure 3.3. Process definition configuration page
The General Properties for the JVM that is used to start the server page opens.
Change both the Initial heap size and Maximum heap size to
2048
. Decision Server has been tested with this value.Figure 3.4. JVM configuration page
- Click Apply.
Click Save in the Messages window to save your changes to the master configuration.
Figure 3.5. Messages pop-up
-
Stop and restart the server in your terminal by navigating to the WebSphere Application Server
/bin
directory location that you specified during installation. Run the following commands:
sudo ./stopServer.sh server1
sudo ./startServer.sh server1
3.2. Enabling security
Enable administrative security so that you have the required permissions to create users and groups.
- In the main menu, click Security → Global Security. Ensure that the option Enable Application Security is checked. This may already be checked and overridden at the server level.
- Click Security Configuration Wizard and click Next.
- Select the repository that contains the user information. For example, select Federated repositories for local configurations.
- Click Next
- Input the Primary administrative user name and Password.
- Click Next then Finish.
Click Save in the Messages window to save your changes to the master configuration.
Figure 3.6. Messages pop-up
-
Stop and restart the server in your terminal by navigating to the WebSphere Application Server
/bin
directory location that you specified during installation. Run the following commands:
sudo ./stopServer.sh server1
sudo ./startServer.sh server1
Figure 3.7. Global Security Configuration Page
3.3. Creating users and groups
Paste
http://TARGET_SERVER:9060/ibm/console
in to your web browser and log in with the user credentials created in the previous procedure. For example:http://localhost:9060/ibm/console
.The WebSphere Integrated Solutions Console opens.
- Click Users and Groups → Manage Groups.
Create the
kie-server
group by clicking Create.Figure 3.8. Created groups
- Click Users and Groups → Manage Users.
Click Create and fill in the user credentials.
ImportantMake sure that the selected User ID 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 namekie-server
.Figure 3.9. Create User Dialog Window
- Click Group Membership.
-
Assign the user to the
kie-server
group and click Create.
3.4. Setting up JMS resources
Create a service bus in IBM WebSphere to send and receive JMS messages through the Decision Server if one does not already exist.
3.4.1. Creating the service bus
- Click Service Integration → Buses → New.
- Enter a new bus name and deselect the Bus Security option.
- Click Next and then Finish to create the service bus.
3.4.1.1. Adding a bus member
Add a new bus member, which is a server or a cluster that is added to the service bus.
- Click Service Integration → Buses and click on the service bus that you have created.
- Click Bus Members in the Topology section, and click Add.
- In the Add a New Bus Member wizard, choose the server and the type of message store for persistence. You can also specify the properties of the message store.
- Click Finish to add the new bus member.
3.4.2. Creating JMS connection factories
To send and receive messages from Decision Server, you must create the JMS connection factories. Connection factories are required for establishing connections when sending messages into queues.
Create the KIE.SERVER.REQUEST
and KIE.SERVER.RESPONSE
connection factories.
The factory names shown above are suggestions only and you can change them to suit your needs and company guidelines.
- Click Resources → JMS → Connection Factories.
- Select the correct scope and click New.
- Select the Default Messaging Provider option and click OK.
Enter the name and the JNDI name of the factory. For example:
-
Name:
KIE.SERVER.REQUEST
-
JNDI name:
jms/conn/KIE.SERVER.REQUEST
NoteThe JNDI name for
KIE.SERVER.RESPONSE
isjms/conn/KIE.SERVER.RESPONSE
.-
Name:
Select the service bus from the Bus Name drop-down list.
Leave the default values for the remaining options.
- Click Apply and Save to save the changes to the master configuration.
3.4.3. Creating JMS queues
JMS queues are the destination end points for point-to-point messaging.
Create the KIE.SERVER.REQUEST
(for requests) and KIE.SERVER.RESPONSE
(for responses) queues.
- Click Resources → JMS → Queues.
- Select the correct scope and click New.
- Select the Default Messaging Provider option and click OK.
Enter the name and the JNDI name of the queue, for example:
-
Name:
KIE.SERVER.REQUEST
-
JNDI name:
jms/KIE.SERVER.REQUEST
NoteAll of the JNDI names follow the same convention as the example above.
-
Name:
- From the Bus Name drop-down list, select the service bus created earlier.
From the Queue Name drop-down list, select the Create Service Integration Bus Destination.
The Create New Queue form opens to assist you with creating a new service integration bus.
- Enter a unique identifier and select the bus member that you created earlier.
- Click Apply and Save to save the changes to the master configuration.
3.4.4. Creating JMS activation specifications
A JMS activation specification is required and is the bridge between the queue and the message-driven bean.
For Decision Server, create the KIE.SERVER.REQUEST
(for requests) and KIE.SERVER.RESPONSE
(for responses) activation specifications.
- Click Resources → JMS → Activation Specifications.
- Select the correct scope and click New.
- Select the Default Messaging Provider option and click OK.
Enter the name and the JNDI name of the activation specification, for example:
-
Name:
KIE.SERVER.REQUEST
-
JNDI name:
jms/activation/KIE.SERVER.REQUEST
NoteAll of the JNDI names of other activation specifications follow the same convention as the example above.
-
Name:
- From the Destination Type drop-down list, select Queue.
-
Enter the Destination lookup (as created in the previous procedure), for example
jms/KIE.SERVER.REQUEST
. Select the service bus from the Bus Name drop-down list.
Leave the default values for the remaining options.
- Click Apply and Save to save the changes to the master configuration.
You have successfully completed the JMS configuration required for setting up Decision Server on IBM WebSphere.
3.4.5. Adding custom Java Virtual Machine (JVM) properties
You must add custom properties to the JVM that is used to start IBM WebSphere.
- Click Servers → Server Types → WebSphere Application Servers.
- In the list of application servers, choose the server on which you are going to deploy Decision Server.
- Under the Server Infrastructure, click Java and Process Management → Process Definition.
Click Java Virtual Machine in the Additional Properties section.
This opens the configuration properties for the JVM that is used to start IBM WebSphere.
- Click Custom Properties under Additional Properties.
Create the following properties by clicking New → Custom JVM Properties.
Table 3.1. Required properties for Decision Server
Name Value Description org.jboss.logging.provider
jdk
This property is only required where a
CA SiteMinder TAI (SMTAI)
is installed in the environment. Using this property forces Hibernate to useJDK
instead oflog4j
for logging within Dashbuilder.CA SiteMinder TAI (SMTAI)
contains an old version oflog4j
, which causes conflicts.org.apache.wink.jaxbcontextcache
off
This property ensures that the IBM WebSphere Apache Wink framework does not cache
JAXBContexts
, which negatively impacts the performance and interferes with the custom-type serialization for the REST API.kie.server.jms.queues.response
jms/conn/KIE.SERVER.RESPONSE
The JNDI name of connection factory for responses used by the Decision Server.
org.kie.server.domain
WSLogin
JAAS
LoginContext
domain used to authenticate users when using JMS.org.jbpm.server.ext.disabled
true
Disables Decision Central features, which are not supported in RHDM. If not set, Decision Server will work, but will show error messages during start up.
org.jbpm.ui.server.ext.disabled
true
Disables Decision Central features, which are not supported in RHDM. If not set, Decision Server will work, but will show error messages during start up.
org.jbpm.case.server.ext.disabled
true
Disables Decision Central features, which are not supported in RHDM. If not set, Decision Server will work, but will show error messages during start up.
- Click Save to save the changes to the master configuration.
- Restart IBM WebSphere for these changes to take effect.
Chapter 4. Downloading and extracting Decision Server
You must download and extract Decision Server prior to installing it on IBM WebSphere.
4.1. Downloading Decision Server
Download the deployable Decision Server package file for IBM WebSphere from the Red Hat Customer Portal.
- Log in to the Red Hat Customer Portal.
- Click DOWNLOADS at the top of the page.
- On the Product Downloads page that opens, navigate to the JBOSS INTEGRATION AND AUTOMATION section, and click Red Hat Decision Manager.
- On the Software Downloads page, if necessary select Decision Manager from the Product menuand 7.0 from the Version menu.
Download the following product distributions:
-
Red Hat Decision Manager Decision Server for All Supported EE7 Containers (
rhdm-7.0.0.GA-kie-server-ee7.zip
) -
Red Hat Decision Manager 7.0.0 Add Ons (
rhdm-7.0.0.GA-add-ons.zip
)
-
Red Hat Decision Manager Decision Server for All Supported EE7 Containers (
-
Extract these files to a temporary directory. For example,
TEMP_DIR
.
4.2. Extracting Decision Server
The downloaded installation ZIP file for Decision Server (rhdm-7.0.0.GA-kie-server-ee7.zip
) contains the Red Hat Decision Manager WAR deployable archive (kie-server.war
).
From the terminal, extract the downloaded ZIP file to gain access the deployable WAR files:
unzip rhdm-7.0.0.GA-kie-server-ee7.zip -d TEMP_DIR
Navigate to the TEMP_DIR
> kie-server.war
folder and run the following command:
zip -r kie-server.war ./*
Chapter 5. Installing Decision Server
Now that the basic configuration is complete and IBM WebSphere is ready to deploy Red Hat Decision Manager, you can upload the deployable WAR file that was extracted earlier. The Red Hat Decision Manager ZIP file for IBM WebSphere contains the deployable WAR file for Decision Server.
Click Applications → Application Types → WebSphere Enterprise Applications.
This shows you all of the existing applications in the system and enables you to install a new one.
- Click Install.
-
Upload the Decision Server WAR file (
kie-server.war
) from the local file system. Select Fast Path and click Next.
The Install New Application wizard opens.
-
Change the Application Name to
kie-server
and click Next. - Map the Decision Server modules to servers according to your specific requirements and click Next.
-
In the Bind Listeners for Message-Driven Beans, select Activation Specification for both beans and enter
jms/activation/KIE.SERVER.REQUEST
in the Target Resource JNDI Name field. -
Enter the
jms/conn/KIE.SERVER.REQUEST
JNDI name for theKIE.SERVER.REQUEST
connection factory. - In the Map Virtual Hosts for Web Modules section, keep the default values and click Next.
-
Set the context root to
kie-server
. - In the Metadata for Modules section, keep the default values and click Next.
- Click Finish to install the Decision Server.
- Click Save to save the changes to the master configuration.
5.1. Mapping Groups to Roles
Map the kie-server
role to a user or a group.
-
Go back to the main configuration page for the newly installed
kie-server
application (Applications → Application Types → WebSphere Enterprise Applications). - Click Security Role to User/Group Mapping under Detail Properties.
-
Select the
kie-server
role and click Map Groups to search for thekie-server
group. -
Move the
kie-server
group from the Available list to the Selected list and click OK.
This mapping gives the previously created administrator user access to the Decision Server. . Click Save and start the kie-server
application.
Check whether the Decision Server REST API works by sending a GET request at http://TARGET_SERVER:PORT/kie-server/services/rest/server
.
Chapter 6. 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.
6.1. Downloading and extracting the Controller
You must download and extract the standalone Decision Server Controller before installing it on IBM WebSphere.
- Log in to the Red Hat Customer Portal.
- Click DOWNLOADS at the top of the page.
- On the Product Downloads page that opens, navigate to the JBOSS INTEGRATION AND AUTOMATION section, and click Red Hat Decision Manager.
- On the Software Downloads page, if necessary select Decision Manager from the Product menu and 7.0 from the Version menu.
- Click Download next to Red Hat Decision Manager 7.0.0 Add Ons.
-
Unzip the
rhdm-7.0.0.GA-add-ons.zip
file. Therhdm-7.0-controller-ee7.zip
file is in the unzipped directory. -
Extract the
rhdm-7.0-controller-ee7.zip
file to a temporary directory, for example,TEMP_DIR
. Navigate to the
TEMP_DIR/controller.war
folder and run the following command:zip -r controller.war ./*
6.2. Setting environment variables for the Controller
Set the environment variables listed in this section.
Prerequisites
- Decision Server installed on an IBM WebSphere instance
The Controller installed on an IBM WebSphere instance
NoteRed 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 IBM WebSphere 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
Specify the following JVM property values on the IBM WebSphere instance where the Controller is installed:
-
org.kie.server.user
: A user with thekie-server
role. -
org.kie.server.pwd
: The password for the user specified in theorg.kie.server.user
property.
-
Specify the following JVM property values on the IBM WebSphere instance where Decision Server is installed:
-
org.kie.server.controller.user
: A user with thekie-server
role -
org.kie.server.controller.pwd
: The password for the user specified for theorg.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 examplehttp://<HOST>:<PORT>/controller/rest/controller
In the preceding examples:
-
<HOST>
is the ID or name of the Decision Server host, for example,localhost
or192.7.8.9
. -
<PORT>
is the port of the Decision Server host, for example,8080
.
-
6.3. Installing the Controller
This section describes how to install the Controller on IBM WebSphere Application Server.
You can install the Controller and use the REST API or the Decision Server Java Client API to interact with it.
Prerequisites
- An IBM WebSphere instance configured as described in this document
- Sufficient user permissions to complete the installation
-
The
rhdm-7.0-controller-ee7.zip
file, extracted and repacked to thecontroller.war
file
Procedure
Click Applications → Application Types → WebSphere Enterprise Applications.
This shows you all of the existing applications in the system and enables you to install a new one.
- Click Install.
-
Upload the Controller WAR file (
controller.war
) from the local file system. Select Fast Path and click Next.
The Install New Application wizard opens.
- In the Map Virtual Hosts for Web Modules section, keep the default values and click Next.
-
Set the context root to
controller
. - In the Metadata for Modules section, keep the default values and click Next.
- Click Finish to install the controller.
- Click Save to save the changes to the master configuration.
6.3.1. Mapping Groups to Roles
Map the controller
role to a user or a group.
Procedure
-
Go back to the main configuration page for the newly installed
kie-server
application (Applications → Application Types → WebSphere Enterprise Applications). - Click Security Role to User/Group Mapping under Detail Properties.
-
Select the
kie-server
role and click Map Groups to search for thekie-server
group. -
Move the
controller
group from the Available list to the Selected list and click OK. This mapping gives the previously created administrator user access to the Decision Server. -
Click Save and start the
kie-server
application.
6.3.2. Verifying the installation
After you install and start the controller, verify that it works correct.
Procedure
To verify that the Controller is working on IBM WebSphere, 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.
-
Check whether the Controller REST API works by sending a GET request at
http://TARGET_SERVER:PORT/kie-server/services/rest/server
.
Appendix A. Versioning information
Documentation last updated on: Monday, October 1, 2018.