-
Language:
English
-
Language:
English
Oracle Weblogic Installation and Configuration Guide
For Red Hat JBoss BPM Suite
Red Hat Customer Content Services
brms-docs@redhat.com
Emily Murphy
Gemma Sheldon
Michele Haglund
Mikhail Ramendik
Stetson Robinson
Vidya Iyengar
Abstract
Chapter 1. Introduction
1.1. About Red Hat JBoss BPM Suite for Oracle WebLogic Server
Red Hat JBoss BPM Suite for Oracle WebLogic Server is provided as three deployable web application archives:
-
business-central.war
— The main business rules and process management application. -
dashbuilder.war
— The business dashboard and report building application. -
kie-server.war
— Application for executing rules and processes through REST, JMS or a Java client side application.
Installation of Red Hat JBoss BPM Suite on Oracle WebLogic Server is supported from the 6.1 version of Red Hat JBoss BPM Suite. In this guide, you will explore how it can be installed on a full profile version of Oracle WebLogic Server.
Before installation, several configuration steps have to be performed to enable a successful setup. This guide will outline these steps.
Before you proceed, make sure you have access to the server on Oracle WebLogic Server and that you are able to successfully access Oracle WebLogic Server’s administrative console through a web browser (usually at http://TARGET_SERVER:7001/console
).
As noted earlier, Red Hat JBoss BPM Suite for Oracle WebLogic Server is distributed as a WAR file. It is then deployed as an exploded archive and then configured as any other web application.
Chapter 2. Download and Extract
2.1. Download Red Hat JBoss BPM Suite for Oracle WebLogic Server
You can download the deployable Red Hat JBoss BPM Suite package file for Oracle WebLogic Server from Red Hat Customer Portal:
- Go to the Red Hat Customer Portal and log in.
- Click DOWNLOADS at the top of the page.
- In the Product Downloads page that opens, click Red Hat JBoss BPM Suite.
- From the Version drop-down menu, select 6.4.
- On the Releases tab, navigate to Red Hat JBoss BPM Suite 6.4.0 Deployable for Oracle Weblogic 12c and click Download.
- On the Patches tab, download the latest patch (if applicable).
2.2. Extract Red Hat JBoss BPM Suite for Oracle WebLogic Server
The installation ZIP file for Red Hat JBoss BPM Suite that you have downloaded contains all necessary WAR deployable archives mentioned in Section 1.1, “About Red Hat JBoss BPM Suite for Oracle WebLogic Server”.
Copy the installation ZIP file to your WebLogic Server host and extract it to a location the server can access.
unzip ~/jboss-bpmsuite-VERSION-deployable-wls12c.zip
See the Patching and Upgrading Red Hat JBoss BPM Suite chapter from Red Hat JBoss BPM Suite Installation Guide for instructions on applying the patch updates.
Chapter 3. Configure
3.1. Setting Environment Variables
Certain environment variables on your Oracle WebLogic Server require configuration before deploying the application.
JVM Memory Size
With the default JVM memory size, the WebLogic Server freezes and/or causes deployment errors when deploying Business Central. Increase the memory size by setting the following environment variable:
USER_MEM_ARGS=-Xms512m -Xmx1024m -XX:MaxPermSize=512m
JVM Custom Properties
The following custom properties require configuration on the WebLogic Server:
Properties Required for Business Central and Intelligent Process Server
-
org.kie.executor.jms.cf
: JNDI name of the connection factory for sending messages with job executor requests. -
org.kie.executor.jms.queue
: JNDI name of the destination (queue) for sending messages with job executor requests.
Properties Required for Business Central
-
kie.services.jms.queues.response
: JNDI name of the response queue for JMS remote API of Business Central. Set tojms/KIE.RESPONSE.ALL
. -
org.uberfire.start.method
: Defines startable beans for Uberfire. Set toejb
(Enterprise Java Beans). -
org.uberfire.domain
: Sets the domain for Uberfire to use. Set toOracleDefaultLoginConfiguration
. -
com.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager
: UsesBeanManager
to look up extensions. This avoids conflicts across multiple instances. Set totrue
.
Properties Required for Intelligent Process Server
-
kie.server.jms.queues.response
: JNDI name of the response queue for the Intelligent Process Server. Set tojms/KIE.SERVER.RESPONSE
. -
org.kie.server.domain
: JAAS LoginContext domain used to authenticate users when using JMS. Set toOracleDefaultLoginConfiguration
. -
org.jbpm.server.ext.disabled
: Set totrue
to disable BPM support (for example, processes support). -
org.jbpm.ui.server.ext.disabled
: Set totrue
to disable the Intelligent Process Server UI extension.. -
org.kie.server.persistence.ds
: Datasource JNDI name. -
org.kie.server.persistence.tm
: Transaction manager platform for setting Hibernate properties. Set toorg.hibernate.service.jta.platform.internal.WeblogicJtaPlatform
. -
org.kie.server.persistence.dialect
: Specifies Hibernate dialect to be used.
For a full list of available Intelligent Process Server system properties, see chapter Intelligent Process Server of the Red Hat JBoss BPM Suite User Guide.
Set the following custom properties in a single environment variable:
JAVA_OPTIONS="-Dkie.services.jms.queues.response=jms/KIE.RESPONSE.ALL -Dkie.server.jms.queues.response=jms/KIE.SERVER.RESPONSE -Dorg.uberfire.start.method=ejb -Dorg.uberfire.domain=OracleDefaultLoginConfiguration -Dorg.kie.executor.jms.cf=jms/cf/KIE.EXECUTOR -Dorg.kie.executor.jms.queue=jms/KIE.EXECUTOR -Dorg.kie.server.persistence.ds=jdbc/jbpm -Dorg.kie.server.persistence.tm=org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform -Dorg.kie.server.persistence.dialect=org.hibernate.dialect.MySQL5InnoDBDialect -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true"
3.2. Configuring Security Settings
Several security settings on Oracle WebLogic Server must be set for the Business Central application to work. The following settings enable the container managed authentication mechanisms provided by the WebLogic server:
- In the WebLogic administrative console, click Security Realms.
- Choose your desired security realm or click New to create a new security realm.
- Navigate to Users and Groups → Groups to get to the groups list for your security realm.
-
Click New to create a new group. Create the following new groups:
admin
,analyst
,developer
,manager
,user
, andkie-server
. Also create the REST API groups if you will use API. For further information about API roles, see section REST API of Red Hat JBoss BPM Suite Development Guide. Click on the Users tab and click New to create a new user. Provide this new user with a name (for example
business-central-admin
) and a password. Click OK to save.ImportantMake 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
admin
, you should not create a user with the user nameadmin
.-
Click on the newly created user, then click the Groups tab. Use the selection tool to move the
admin
group from the Available field to the Chosen field. Click Save to save.
You may assign this user to any of the groups previously created and in actual production systems you are likely to create separate users for separate groups that align with business roles. The admin group is all encompassing and is therefore useful for the purposes of this setup.
3.3. Creating Data Source
The Business Central application requires a data source which must be created prior to the deployment of the actual WAR file. This also means that you must have access to an underlying database that the data source connects to. Whatever your underlying database, make sure you have the data source ready.
- Navigate to Services → Data Sources, which takes you to your JDBC Data Sources list.
- Click New → Generic Data Source to start creating a new data source.
Provide your data source with the following details:
- Name: enter a name for your data source.
-
JNDI Name: set to
jdbc/jbpm
. Database Type: set to
MySQL
.NoteYou can use alternative database types by editing
WEB-INF/classes/META-INF/persistence.xml
in the Business Central WAR archive. Edit thehibernate.dialect
property to your preferred database.For example, to change to Oracle 12c, edit the
hibernate.dialect
to the following:<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
Click Next to advance to the next configuration screen.
- Select your database driver in the drop-down menu. Click Next to advance to the next configuration screen.
- Leave the Transaction Options as the defaults and click Next to advance to the next configuration screen.
Provide the following Connection Properties for your data source:
- Database Name: the name of the database to use on your data source.
- Host Name: the hostname or IP address of the system containing the database.
- Port: the port used to connect to the database. Unless you have configured the database to use a different port, use the default port provided in this field.
- Database User Name: the database user that interacts with the database. Make sure the chosen user has the required permissions to access and write to the chosen database.
- Password: the password for the chosen database user.
Click Next to advance to the next configuration screen.
- The Test Database Connection page provides a means to test and confirm your database connection. Click Test Configuration and the page will refresh with a valid connection message. Click Finish to complete the data source configuration.
- Click on the name of the new data source and navigate to Targets tab. Click the checkbox for the server chosen to host the Business Central deployment. Click Save to save your selection.
Dashbuilder requires the same JNDI as Business Central so that it connects to the same datasource. The default JNDI for Dashbuilder jdbc/dashbuilder
must be changed to jdbc/jbpm
.
Log in to your WebLogic server, switch to the dashbuilder.war
directory, and edit the WEB-INF/etc/hibernate.cfg.xml
file. Find the following line:
<property name="connection.datasource">jdbc/dashbuilder</property>
Change it to:
<property name="connection.datasource">jdbc/jbpm</property>
Save the file when complete.
3.4. Configuring Java Message Service (JMS)
Oracle WebLogic Server must be configured to send and receive JMS messages through Red Hat JBoss BPM Suite Intelligent Process Server. JMS must also be configured for Business Central. This requires a JMS server. Follow the steps below to create a JMS server:
- Navigate to Services → Messaging → JMS Servers.
- Click New to start creating a new JMS Server.
- Provide your JMS Server with a name. Click Next to advance to the next configuration screen.
- Select the Target server chosen for the Business Central deployment. Click Finish to complete the JMS Server creation.
Create 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:
- Navigate to Services → Messaging → JMS Modules.
- Click New to start creating a new module.
- Provide your module with a name and click Next to advance to the next configuration screen.
- Select the Target server chosen for the Intelligent Process Server and Business Central deployment. Click Finish to complete the JMS Module creation.
- Click on the newly created module’s name, then click on Subdeployments.
- Click New to create a subdeployment for your module.
- Provide your subdeployment with a name and click Next to advance to the next configuration screen.
- Choose the previously created JMS Server by marking the checkbox. Click Finish to complete the subdeployment configuration.
Create JMS Connection Factories
To send and receive messages from Red Hat JBoss BPM Suite Intelligent Process Server , you will need to create the JMS connection factories – one for receiving messages and one for sending them. You will also need to create several other connection factories for Business Central. The following connection factories are required:
KIE.RESPONSE.ALL
: receiving all responses produced by the Red Hat JBoss BPM Suite.Default value:
jms/cf/KIE.RESPONSE.ALL
.KIE.SESSION
: sending messages to the process engine.Default value:
jms/cf/KIE.SESSION
.KIE.TASK
: sending messages to the task service.Default value:
jms/cf/KIE.TASK
.KIE.AUDIT
: sending messages with audit trail.Default value:
jms/cf/KIE.AUDIT
.KIE.SIGNAL
: sending messages with external scoped signals.Default value:
jms/cf/KIE.SIGNAL
.KIE.SERVER.REQUEST
: for all requests to the Intelligent Process Server.Default value:
jms/cf/KIE.SERVER.REQUEST
.KIE.SERVER.RESPONSE
: receiving all responses produced by the Intelligent Process Server.Default value:
jms/cf/KIE.SERVER.RESPONSE
.KIE.EXECUTOR
: sending executor requests for jobs running in Business Central.Default value:
jms/cf/KIE.EXECUTOR
.
Use the following procedure to create each connection factory:
- Navigate to Services → Messaging → JMS Modules to see your list of JMS Modules.
- Click on your previously created module, then click New to start creating a new JMS resource.
- Select Connection Factory and click Next.
Enter the name of the connection factory (for example
KIE.RESPONSE.ALL
) and the JNDI name (for examplejms/cf/KIE.RESPONSE.ALL
).Click Next to advance to the next configuration screen.
- The connection factory automatically selects the servers assigned to the JMS Module as the default. Click Finish to complete the connection factory creation.
Repeat the above procedure for each connection factory.
Create JMS Queues
You now need to create the JMS Queues. These queues are the destination end points for point-to-point messaging. You will create:
KIE.RESPONSE.ALL
: for Red Hat JBoss BPM Suite responses.Default value:
jms/KIE.RESPONSE.ALL
.KIE.SESSION
: for process-based operations.Default value:
jms/KIE.SESSION
.KIE.TASK
: for task-based operations.Default value:
jms/KIE.TASK
.KIE.AUDIT
: for asynchronous audit logs.Default value:
jms/KIE.AUDIT
.KIE.SIGNAL
: for external scoped signals.Default value:
jms/KIE.SIGNAL
.KIE.SERVER.REQUEST
: for all requests to the Intelligent Process Server.Default value:
jms/KIE.SERVER.REQUEST
.KIE.SERVER.RESPONSE
: for the Intelligent Process Server responses.Default value:
jms/KIE.SERVER.RESPONSE
.KIE.EXECUTOR
: sending executor requests for jobs running in Business Central.Default value:
jms/KIE.EXECUTOR
.
Use the following procedure to create each queue:
- If you are not there already, navigate to Services → Messaging → JMS Modules to see your list of JMS Modules.
- Click on your previously created module, then click New to start creating a new JMS resource.
- Select Queue and click Next.
Enter the name of the queue (for example
KIE.RESPONSE.ALL
) and the JNDI name (for examplejms/KIE.RESPONSE.ALL
).Click Next to advance to the next configuration screen.
- Choose the JMS Module subdeployment that connects to the JMS Server. Click Finish to complete the queue creation.
Repeat the above procedure for each queue.
3.5. Configuring Unified Execution Servers
To configure Business Central to manage the Intelligent Process Server and use the same data source, follow the instructions in the Unified Execution Servers section of the Red Hat JBoss BPM Suite Administration and Configuration Guide.
Chapter 4. Install
Now that the basic configuration is done, the Oracle WebLogic Server is set to deploy Red Hat JBoss BPM Suite.
As noted earlier, the Red Hat JBoss BPM Suite ZIP file for Oracle WebLogic Server contains the deployable WAR files for both Business Central, Intelligent Process Server, and Dashbuilder.
4.1. Installing Business Central
Business Central is uploaded as a web archive and then accessed by a familiar through a web browser. Start this deployment by installing the Business Central exploded WAR as a WebLogic Application.
- In your Oracle WebLogic Server administrative console, click Deployments. This will show you all the existing applications in the system and allow you to install a new one.
- Click Install to start the process.
-
Navigate to the exploded archive location for
business-central.war
and select it. Click Next to continue. - Select Install this deployment as an application as the targeting style and click Next.
-
Set the application name to
business-central
and set the security model toDD Only
. Leave the remaining options as default and click Next to continue. - In the Additional Configuration section, choose No, I will review the configuration later and click Finish.
-
To ensure correct functionality of process diagram visualization, copy
xercesImpl.jar
to the server libraries, which is in/DOMAIN_HOME/lib/
by default.
You have now successfully installed Business Central on Oracle WebLogic Server. To access the application, navigate to http://TARGET_SERVER:7001/business-central
.
4.2. Installing Dashbuilder
Dashbuilder is distributed as a deployable WAR. Follow the steps below to install Dashbuilder:
- Navigate to Deployments. This will show you all the existing applications in the system and allow you to install a new one.
- Click Install to start the process.
-
Navigate to the exploded archive location for
dashbuilder.war
and select it. Click Next to continue. - Select Install this deployment as an application as the targeting style and click Next.
-
Set the application name to
dashbuilder
and set the security model toDD Only
. Leave the remaining options as default and click Next to continue. - In the Additional Configuration section, choose No, I will review the configuration later and click Finish.
You can now login to dashbuilder at http://TARGET_SERVER:7001/dashbuilder
.
4.3. Installing Intelligent Process Server
The Intelligent Process Server is distributed as a deployable WAR. Follow the steps below to install the server:
- Navigate to Deployments. This will show you all the existing applications in the system and allow you to install a new one.
- Click Install to start the process.
-
Navigate to the exploded archive location for
kie-server.war
and select it. Click Next to continue. - Select Install this deployment as an application as the targeting style and click Next.
-
Set the application name to
kie-server
and set the security model toDD Only
. Leave the remaining options as default and click Next to continue. - In the Additional Configuration section, choose No, I will review the configuration later and click Finish.
-
To ensure correct functionality of UI extension, copy
xercesImpl.jar
to the server libraries, which is in/DOMAIN_HOME/lib/
by default.
You can now access the Intelligent Process Server at http://TARGET_SERVER:7001/kie-server
.
Chapter 5. Next Steps
Now that you have completed the installation, use the following guides to start using Red Hat JBoss BPM Suite:
- Red Hat JBoss BPM Suite Getting Started Guide: provides an introductory tutorial on the core features of Red Hat JBoss BPM Suite.
- Red Hat JBoss BPM Suite User Guide: provides steps on how to start creating your business process models.
- Red Hat JBoss BPM Suite Administration and Configuration Guide: provides steps on how to configure aspects of your Red Hat JBoss BPM Suite deployment, including migration, data management, imports and exports, integration, and monitoring.
Appendix A. Additional Notes
The Oracle WebLogic Server class-loading mechanism does not provide access to the application JARs located in you application’s
WEB-INF/lib
directory, which can cause problems when looking to inject KIE-CDI classes. As a workaround, Red Hat JBoss BPM Suite includes a CDI extension that temporarily swaps class loaders to load the application:org.kie.workbench.backend.weblogic.SwapClassloaderExtension
.Enabling CDI Extension workaround
-
Get the extension’s class file either by using the pre-compiled
SwapClassloaderExtension.class
file found in Business Central’sbusiness-central.war/WEB-INF/classes/org/kie/workbench/backend/weblogic/
subdirectory, or by downloading and compiling its source. Put the file in your application’s/WEB-INF/classes/org/kie/workbench/backend/weblogic/
directory. Enable the extension by putting its fully qualified name in the
WEB-INF/classes/META-INF/services/javax.enterprise.inject.spi.Extension
file in your application. If the file does not exist, create it.Contents of javax.enterprise.inject.spi.Extension
org.kie.workbench.backend.weblogic.SwapClassloaderExtension
NoteWhen using Business Central, these steps are not necessary—the workaround has already been applied.
-
Get the extension’s class file either by using the pre-compiled
-
If using a non-exploded archive, Weblogic packs contents of Business Central’s
WEB-INF/classes
intoWEB-INF/lib/_wl_cls_gen.jar
. If a developer aims to createKieBase
andKieSession
from resources, KIE-Spring cannot find the classes. For this reason, the recommended deployment method is to use the exploded archives contained within the product’s ZIP file.
Appendix B. Versioning information
Documentation last updated on: Monday, May 13, 2019.