Chapter 4. Process Server ZIP file installation and configuration
You can install Process Server using the rhpam-7.2-kie-server-jws.zip file and then configure the Java Database Connectivity (JDBC) web server data sources on Red Hat JBoss Web Server .
4.1. Installing Process Server from ZIP files Copy linkLink copied to clipboard!
Process Server provides the runtime environment for business assets and accesses the data stored in the assets repository (knowledge store). You can use ZIP files to install Process Server on an existing Red Hat JBoss Web Server 5.0.1 or higher server instance.
To use the installer JAR file to install Process Server, see Chapter 3, Using the Red Hat Process Automation Manager installer.
Prerequisites
The following files have been downloaded, as described in Chapter 2, Downloading the Red Hat Process Automation Manager installation files:
-
Red Hat Process Automation Manager 7.2.0 Add Ons (
rhpam-7.2.0-add-ons.zip) -
Red Hat Process Automation Manager 7.2.0 Maven Repository (
rhpam-7.2.0-maven-repository.zip)
-
Red Hat Process Automation Manager 7.2.0 Add Ons (
-
A backed-up Red Hat JBoss Web Server 5.0.1 or higher server installation is available. The base directory of the Red Hat JBoss Web Server installation is referred to as
JWS_HOME. - Sufficient user permissions to complete the installation are granted.
Procedure
-
Unzip the
rhpam-7.2.0-add-ons.zipfile. From the unzipped
rhpam-7.2.0-add-ons.zipfile, extract the following files:-
rhpam-7.2-kie-server-jws.zip -
rhpam-7.2-process-engine.zip
In the following instructions, the directory that contains the extracted
rhpam-7.2-kie-server-jws.zipfile is calledJWS_TEMP_DIRand the directory that contains the extractedrhpam-7.2-process-engine.zipfile is calledENGINE_TEMP_DIR.-
Copy the
JWS_TEMP_DIR/rhpam-7.2-kie-server-jws/kie-server.wardirectory to theJWS_HOME/tomcat/webappsdirectory.NoteEnsure the names of the Red Hat Process Automation Manager deployments you are copying do not conflict with your existing deployments in the Red Hat JBoss Web Server instance.
-
Remove the
.warextensions from thekie-server.warfolder. -
Move the
kie-tomcat-integration-7.14.0.Final-redhat-00002.jarfile from theENGINE_TEMP_DIRdirectory to theJWS_HOME/tomcat/libdirectory. -
Move the
jboss-jacc-api-<VERSION>.jar,slf4j-api-<VERSION>.jar, andslf4j-jdk14-<VERSION>.jarfiles from theENGINE_TEMP_DIR/libdirectory to theJWS_HOME/tomcat/libdirectory, where<VERSION>is the version artifact file name, in thelibdirectory. Add the following line to the
<host>element in theTOMCAT_HOME/conf/server.xmlfile after the last Valve definition:<Valve className="org.kie.integration.tomcat.JACCValve" />-
Open the
JWS_HOME/tomcat/conf/tomcat-users.xmlfile in a text editor. Add users and roles to the
JWS_HOME/tomcat/conf/tomcat-users.xmlfile. In the following example,<ROLE_NAME>is a role supported by Red Hat Process Automation Manager.<USER_NAME>and<USER_PWD>are the user name and password of your choice:<role rolename="<ROLE_NAME>"/> <user username="<USER_NAME>" password="<USER_PWD>" roles="<ROLE_NAME>"/>If a user has more than one role, as shown in the following example, separate the roles with a comma:
<role rolename="admin"/> <role rolename="kie-server"/> <user username="rhpamUser" password="user1234" roles="admin,kie-server"/>Complete one of the following steps in the
JWS_HOME/tomcat/bindirectory:On Linux or UNIX, create the
setenv.shfile with the following content:CATALINA_OPTS="-Xmx1024m -Dorg.jboss.logging.provider=jdk"On Windows, add the following content to the
setenv.batfile:set CATALINA_OPTS=-Xmx1024m -Dorg.jboss.logging.provider=jdk
4.2. Configuring JDBC Web Server data sources on Red Hat JBoss Web Server Copy linkLink copied to clipboard!
Java Database Connectivity (JDBC) is an API specification that is used to connect programs written in Java to the data in popular databases. A data source is an object that enables a 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 Process Server to ensure proper data exchange between the servers and the designated database.
Prerequisite
Red Hat Process Automation Manager for Red Hat JBoss Web Server is installed.
Procedure
Copy the following libraries from the offline Maven repository to the
JWS_HOME/tomcat/libfolder:org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec org.jboss.integration:narayana-tomcat org.jboss.narayana.jta:narayana-jta org.jboss:jboss-transaction-spi-
Copy your database JDBC driver to the
JWS_HOME/tomcat/libfolder. - Configure the pooling XA data source:
Some of the properties in the following examples might not apply to your database server. Check the documentation for your JDBC driver to determine which properties to set.
Configure an XA data source without pooling capabilities. This XA data source is used to create new connections to the target database. In the following example, the XA datasourse is
xadsand the variables are defined in Table 4.1, “XA data source variables”:<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource auth="Container" databaseName="${datasource.dbName}" description="XA Data Source" factory="org.apache.tomcat.jdbc.naming.GenericNamingResourcesFactory" loginTimeout="0" name="xads" uniqueName="xads" portNumber="${datasource.port}" serverName="${datasource.hostname}" testOnBorrow="false" type="${datasource.class}" url="${datasource.url}" URL="${datasource.url}" user="${datasource.username}" password="${datasource.password}" driverType="4" schema="${datasource.schema}" /> </Context>Expand Table 4.1. XA data source variables Variable Description <datasource.dbName>The name of the database.
<datasource.port>The port number of the database.
<datasource.hostname>The name of the database host.
<datasource.class>XADataSourceclass of JDBC driver.<datasource.url>The JDBC database connection URL. With some databases, the URL property is
urland with other databases (for example H2 databases) this property isURL.<datasource.username>User name for the database connection.
<datasource.password>Password for the database connection.
<datasource.schema>The database schema.
Configure a pooling data source that relies on the XA data source for creating new connections. In this example, the data source is
poolingXaDs,<datasource.username>is the user name for the database connection, and<datasource.password>is the password for the database connection:<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="poolingXaDs" uniqueName="poolingXaDs" auth="Container" description="Pooling XA Data Source" factory="org.jboss.narayana.tomcat.jta.TransactionalDataSourceFactory" testOnBorrow="true" transactionManager="TransactionManager" transactionSynchronizationRegistry="TransactionSynchronizationRegistry" type="javax.sql.XADataSource" username="${datasource.username}" password="${datasource.password}" xaDataSource="xads" /> </Context>The data source is now available under the
java:comp/env/poolingXaDsJNDI name and passes it to the Process Server through theorg.kie.server.persistence.dssystem property as described in the next steps.NoteThe pooling data source configuration relies on additional resource that have been previously configured in
context.xmlfile inkie-serverapplication, specificallyTransactionManagerandTransactionSynchronizationRegistry.- Configure Process Server to use the data source:
Open one of the following scripts in a text editor:
For Linux or Unix:
JWS_HOME/tomcat/bin/setenv.shFor Windows:
JWS_HOME/tomcat/bin/setenv.bat
Add the following properties to
CATALINA_OPSwhere<hibernate.dialect>is the Hibernate dialect for your database:CATALINA_OPTS=” -Dorg.kie.server.persistence.ds=java:comp/env/poolingXaDs -Dorg.kie.server.persistence.tm=JBossTS -Dorg.kie.server.persistence.dialect=${<hibernate.dialect>}”The following dialects are supported:
-
DB2:
org.hibernate.dialect.DB2Dialect -
MSSQL:
org.hibernate.dialect.SQLServer2012Dialect -
MySQL:
org.hibernate.dialect.MySQL5InnoDBDialect -
MariaDB:
org.hibernate.dialect.MySQL5InnoDBDialect -
Oracle:
org.hibernate.dialect.Oracle10gDialect -
PostgreSQL:
org.hibernate.dialect.PostgreSQL82Dialect -
PostgreSQL plus:
org.hibernate.dialect.PostgresPlusDialect Sybase:
org.hibernate.dialect.SybaseASE157DialectNoteThe
setenv.shscript should already exist. However, if it does not, create it.
-
DB2: