Red Hat Decision Manager (RHDM) is great BRMS platform. But as affordable as Red Hat subscription compared to its’ Oracle or IBM counterparts, it’s still not cheap. Alternatively, or if you think you’re too cool for enterprise support, you can start with Drools and when you or your organization decide the platform is essential enough to warrant the cost for enterprise level support, You can obtain RHDM subscription from Red Hat.
For this post, we will be using:
- CentOS 7.5
- Java 1.8
- Drools Kie Server & Workbench
- WildFly 11, since Drools 7.12 is compatible with version 11 only
The first part of this two parter will cover WildFly Application Server installation.
Installing Java and other tools
You can either use Oracle Java, or as what I’m using for this post, OpenJDK by doing:
[root@devdm ~]# yum install java
For the sake of this tutorial, we’ll be needing wget, netstat, and unzip as well:
[root@devdm ~]# yum install wget net-tools unzip
Installing WildFly 11
Get WildFly 11 installer:
[root@devdm ~]# wget http://download.jboss.org/wildfly/11.0.0.Final/wildfly-11.0.0.Final.zipUnzip the… zipped package
[root@devdm ~]# unzip wildfly-11.0.0.Final.zip
..and move and rename the package:
[root@devdm ~]# cp -R wildfly-11.0.0.Final /opt/wildfly11
Let’s make some change to startup script:
[root@devdm ~]# vi /opt/wildfly11/bin/standalone.conf
There are a couple of things we need to set on standalone.conf. The first is the path for JAVA_HOME which should point to your java installation, and JBOSS_HOME which you should point to the WildFly install directory. Mine look like this
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre" JBOSS_HOME="/opt/wildfly11"
Next, we need to update the network configuration by editing:
vi /opt/wildfly11/standalone/configuration/standalone.xml
Find these lines, and change the “127.0.0.1” to “0.0.0.0” so that our wildfly install can accept traffic from any interface on the server. Don’t forget to save.
<wsdl-host>${jboss.bind.address:0.0.0.0}</wsdl-host> <inet-address value="${jboss.bind.address.management:0.0.0.0}"/> <inet-address value="${jboss.bind.address:0.0.0.0}"/>
Create management account for WildFly by executing:
[root@devdm ~]# cd /opt/wildfly11/bin/ [root@devdm bin]# ./add-user.sh
I’ll highlight the option we should pick:
[root@devdm bin]# ./add-user.sh What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): a Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : manager Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) Password : Re-enter Password : What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: admin About to add user 'manager' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'manager' to file '/opt/wildfly11/standalone/configuration/mgmt-users.properties' Added user 'manager' to file '/opt/wildfly11/domain/configuration/mgmt-users.properties' Added user 'manager' with groups admin to file '/opt/wildfly11/standalone/configuration/mgmt-groups.properties' Added user 'manager' with groups admin to file '/opt/wildfly11/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. yes/no? yes To represent the user add the following to the server-identities definition <secret value="ErVteG5vUtynrZTQ5NiE=" />
Before we fire up our WildFly install, let’s open up some port on our firewall:
firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --zone=public --add-port=9990/tcp --permanent firewall-cmd --reload
Save, and let’s try starting up our WildFly instance
[root@devdm ~]# cd /opt/wildfly11/bin/ [root@devdm bin]# nohup ./standalone.sh &
If it’s up, nohup.out should show:
12:11:37,973 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final) started in 6918ms - Started 292 of 553 services (347 services are lazy, passive or on-demand)
You can also check whether WildFly is listening on the configured ports
[root@devdm /]# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1200/master
tcp 0 0 0.0.0.0:8443 0.0.0.0:* LISTEN 1710/java
tcp 0 0 0.0.0.0:9990 0.0.0.0:* LISTEN 1710/java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1710/java
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 983/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1200/master
tcp6 0 0 :::22 :::* LISTEN 983/sshd
Point your browser to http://your.server.ip.address:8080 to get to your WildFly installation
And click on the “Administration Console” link to get to…the… Administration Console. Input the ManagementRealm user and password when prompted:
We are now ready to deploy the kie-server and Drools Workbench. On to part 2!