Chapter 4. Configuring Oracle WebLogic Server for KIE Server

Before you deploy KIE Server with Oracle WebLogic Server, you must configure system properties, security settings, JMS requirements, and other properties on Oracle WebLogic Server. These configurations promote an optimal integration with KIE Server.

Prerequisites

  • Oracle WebLogic Server is installed and running.
  • You are logged in to the WebLogic Administration Console.

4.1. Configuring the KIE Server group and users

You must assign users to a kie-server group in the WebLogic Administration Console to enable the container-managed authentication mechanisms in Oracle WebLogic Server.

Procedure

  1. In the WebLogic Administration Console, click Security Realms.
  2. Choose your desired security realm or click New to create a new security realm.
  3. Navigate to Users and GroupsGroupsNew and create the kie-server group.
  4. Navigate to UsersNew and create a new user.
  5. Enter a user, such as server-user, and a password for this new user 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, then do not create a user with the user name kie-server.

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

4.2. Configuring JDBC data sources in Oracle WebLogic Server

A data source is an object that enables a Java Database Connectivity (JDBC) client, such as an application server, to establish a connection with a database. Applications look up the data source on the Java Naming and Directory Interface (JNDI) tree or in the local application context and request a database connection to retrieve data. You must configure data sources for Oracle WebLogic Server to ensure proper data exchange between the servers and the designated database.

Prerequisites

  • The JDBC drivers that you want to use to create database connections are installed on all servers on which you want to deploy the data source. Some JDBC drivers are installed with Oracle WebLogic Server, such as WebLogic-branded Data Direct JDBC drivers for DB2, Informix, MS SQL Server, and Sybase. For more information about JDBC drivers, see Using JDBC Drivers with WebLogic Server in the Oracle Help Center.

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.8
  2. Download Red Hat Decision Manager 7.8.0 Add-Ons.
  3. Complete the following steps to prepare your database:

    1. Extract rhdm-7.8.0-add-ons.zip in a temporary directory, for example TEMP_DIR.
    2. Extract TEMP_DIR/rhdm-7.8.0-migration-tool.zip.
    3. Change your current directory to the TEMP_DIR/rhdm-7.8.0-migration-tool/ddl-scripts directory. This directory contains DDL scripts for several database types.
    4. Import the DDL script for your database type into the database that you want to use, for example:

      psql jbpm < /ddl-scripts/postgresql/postgresql-jbpm-schema.sql
      Note

      If you are using PostgreSQL or Oracle in conjunction with Spring Boot, you must import the respective Spring Boot DDL script, for example /ddl-scripts/oracle/oracle-springboot-jbpm-schema.sql or /ddl-scripts/postgresql/postgresql-springboot-jbpm-schema.sql.

  4. In the WebLogic Administration Console, navigate to Change CenterLock & Edit.
  5. Under Domain Structure, click ServicesData Sources.
  6. On the Summary of Data Sources page, click NewGeneric Data Source.
  7. On the JDBC Data Sources Properties page, enter or select the following information:

    • Name: Enter a name for this JDBC data source. This name is used in the configuration file (config.xml) and throughout the Administration Console whenever referring to this data source.
    • JNDI Name: Enter the JNDI path to where this JDBC data source will be bound. Applications look up the data source on the JNDI tree by this name when reserving a connection.
    • Database Type: Select the DBMS of the database that you want to connect to. If your DBMS is not listed, select Other.
  8. Click Next to continue.
  9. Select the Database Driver that you want to use to connect to the database. The list includes common JDBC drivers for the selected DBMS and any other JDBC drivers that have been installed previously.
  10. On the Transaction Options page, leave the Supports Global Transactions option selected and choose from the available transaction options. You can also clear this check box to disable (ignore) global transactions in this data source. In most cases, you should leave the option selected for optimal data efficiency.

    • Two-Phase Commit: Select this option to enable standard XA processing. This option is only available when you select an XA JDBC driver to make database connections.
    • Logging Last Resource: Select this option to enable a non-XA JDBC connection to participate in global transactions using the Logging Last Resource (LLR) transaction optimization. This option is recommended in place of Emulate Two-Phase Commit. This option is only available when you select a non-XA JDBC driver to make database connections.
    • Emulate Two-Phase Commit: Select this option to enable a non-XA JDBC connection to emulate participation in distributed transactions using JTA. Select this option only if your application can tolerate heuristic conditions. This option is only available when you select a non-XA JDBC driver to make database connections.
    • One-Phase Commit: Select this option to enable the non-XA connection to participate in a global transaction as the only transaction participant. This option is only available when you select a non-XA JDBC driver to make database connections.
  11. Click Next to continue.
  12. On the Connection Properties page, enter values for the following properties:

    • Service Name: Specify the service name of the database to which you want to connect. This must be the same for each data source if more than one is provided. This field is available only if you selected one of the available service-instance connections drivers for Oracle Real Application Clusters (RAC).
    • Database Name: Enter the name of the database that you want to connect to. Exact database name requirements vary by JDBC driver and by DBMS.
    • Host Name: Enter the DNS name or IP address of the server that hosts the database. If you are creating an Oracle GridLink service-instance connection, this must be the same for each data source if more than one is provided.
    • Port: Enter the port on which the database server listens for connection requests.
    • Database User Name: Enter the database user account name that you want to use for each connection in the data source.
    • Password/Confirm Password: Enter the password for the database user account.
    • oracle.jdbc.DRCPConnectionClass: Optionally, enter the Database Resident Connection Pooling (DCRP) connection class if required by your environment.
  13. Click Next to continue.
  14. On the Test Database Connection page, review the connection parameters and click Test Configuration.

    Oracle WebLogic Server attempts to create a connection from the Administration Server to the database. Results from the connection test are displayed at the top of the page. If the test is unsuccessful, correct any configuration errors and retry the test.

  15. Click Next to continue or to skip this step if the JDBC driver you selected is not installed on the Administration Server.
  16. On the Select Targets page, select the servers or clusters on which you want to deploy the data source and click Finish.
  17. Return to the main menu of the WebLogic Administration Console and select Change CenterActivate Changes.

For more information about Oracle WebLogic Server data sources, see JDBC Data Sources for Oracle WebLogic Server in the Oracle Help Center.

4.3. Configuring Java Message Service (JMS)

The Java Message Service (JMS) is a Java API that KIE Server uses to exchange messages with other application servers such as Oracle WebLogic Server and IBM WebSphere Application Server. You must configure your application server to send and receive JMS messages through KIE Server to ensure proper collaboration between the two servers.

4.3.1. Create a JMS server

You must create a JMS server in order to use JMS.

Procedure

  1. In the WebLogic Administration Console, 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 KIE Server deployment.
  5. Click Finish.

4.3.2. Create a JMS module

You must create a JMS module to store your JMS resources, such as connection factories and queues.

Prerequisites

  • You have created a JMS server.

Procedure

  1. In the WebLogic Administration Console, navigate to ServicesMessagingJMS Modules.
  2. Click New to create a module.
  3. Enter a module name and click Next.
  4. Select the target server chosen for the KIE Server deployment and click Finish.
  5. Click the newly created module name and then click Subdeployments.
  6. Click New to create a subdeployment for your module.
  7. Give your subdeployment a name and click Next.
  8. Select the check box to choose the previously created JMS server.
  9. Click Finish to complete the subdeployment configuration.

4.3.3. Create JMS connection factories

To enable messaging with KIE Server, you must create certain JMS connection factories for sending and receiving messages.

Prerequisites

  • You have created a JMS server.
  • You have created a JMS module.

Procedure

  1. In the WebLogic Administration Console, navigate to ServicesMessagingJMS Modules to see a list of JMS modules.
  2. Select your previously created module and click New to create a new JMS resource.
  3. Select Connection Factory and click Next.
  4. For each of the following required connection factories, 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 add the connection factory, and repeat for each required factory.

4.3.3.1. JMS connection factories for KIE Server

The following are the required Java Message Service (JMS) connection factories that enable JMS messaging with KIE Server:

Table 4.1. Required JMS connection factories for KIE Server

NameDefault valueUsed for

KIE.SERVER.REQUEST

jms/cf/KIE.SERVER.REQUEST

Sending all requests to KIE Server

KIE.SERVER.RESPONSE

jms/cf/KIE.SERVER.RESPONSE

Receiving all responses produced by KIE Server

4.3.4. Create JMS queues

JMS queues are the destination end points for point-to-point messaging. You must create certain JMS queues to enable JMS messaging with KIE Server.

Prerequisites

  • You have created a JMS server.
  • You have created a JMS module.

Procedure

  1. In the WebLogic Administration Console, 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. For each of the following required queues, 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 add the queue, and repeat for each required queue.

4.3.4.1. JMS queues for KIE Server

The following are the required Java Message Service (JMS) queues that enable JMS messaging with KIE Server:

Table 4.2. Required JMS queues for KIE Server

NameDefault valueUsed for

KIE.SERVER.REQUEST

jms/KIE.SERVER.REQUEST

Sending all requests to KIE Server

KIE.SERVER.RESPONSE

jms/KIE.SERVER.RESPONSE

Receiving all responses produced by KIE Server

4.4. Setting system properties in Oracle WebLogic Server

Set the system properties listed in this section on your Oracle WebLogic Server before you deploy KIE Server.

Procedure

  1. Set the following system property to increase the Java Virtual Machine (JVM) memory size:

    USER_MEM_ARGS=-Xms512m -Xmx1024m

    If you do not increase the JVM memory size, Oracle WebLogic Server freezes or causes deployment errors when deploying KIE Server.

  2. Specify the following system properties for KIE Server on the Oracle WebLogic Server instance:

    Table 4.3. System properties for KIE Server

    NameValueDescription

    kie.server.jms.queues.response

    jms/KIE.SERVER.RESPONSE

    The JNDI name of JMS queue for responses used by the KIE Server.

    org.kie.server.domain

    OracleDefaultLoginConfiguration

    JAAS LoginContext domain used to authenticate users when using JMS.

    org.jbpm.server.ext.disabled

    true

    Disables Business Central features, which are not supported in RHDM. If not set, KIE Server will work, but will show error messages during start up.

    org.jbpm.ui.server.ext.disabled

    true

    Disables Business Central features, which are not supported in RHDM. If not set, KIE Server will work, but will show error messages during start up.

    org.jbpm.case.server.ext.disabled

    true

    Disables Business Central features, which are not supported in RHDM. If not set, KIE Server will work, but will show error messages during start up.

  3. Set the same property values in the JAVA_OPTIONS environment variable:
JAVA_OPTIONS="-Dkie.server.jms.queues.response=jms/KIE.SERVER.RESPONSE
 -Dorg.kie.server.domain=OracleDefaultLoginConfiguration
 -Dorg.jbpm.server.ext.disabled=true
 -Dorg.jbpm.ui.server.ext.disabled=true
 -Dorg.jbpm.case.server.ext.disabled=true"

4.5. Stopping and restarting Oracle WebLogic Server

After you have configured all required system properties in Oracle WebLogic Server, stop and restart the Oracle server to ensure that the configurations are applied.

Procedure

  1. In the WebLogic Administration Console, navigate to Change CenterLock & Edit.
  2. Under Domain Structure, click EnvironmentServersControl.
  3. Select the server that you want to stop and click Shutdown.
  4. Select When Work Completes to gracefully shut down the server or select Force Shutdown Now to stop the server immediately without completing ongoing tasks.
  5. On the Server Life Cycle Assistant pane, click Yes to complete the shutdown.
  6. After the shutdown is complete, navigate to the domain directory in the command terminal, WLS_HOME/user_projects/<DOMAIN_NAME>. For example:

    WLS\user_projects\mydomain
  7. Enter one of the following commands to restart Oracle WebLogic Server to apply the new configurations:

    On UNIX-based operating systems:

    startWebLogic.sh

    On Windows operating systems:

    startWebLogic.cmd
  8. Open the Administration Console in a web browser (for example, http://localhost:7001/console/) and log in with your credentials.