Monday, 24 September 2018

IBM Operational Decision Manager - ODM on Liberty

A colleague asked me for some guidance on deploying the latest version of ODM Rules, 8.9.2, to a WebSphere Liberty Profile (WLP) environment.

Whilst I didn't have the 8.9.2 version to-hand ( downloading it as I type ), I did have 8.9.1….

So here we go ….

Prepare File Systems ( as root )

mkdir /opt/ibm/ODM89
mkdir /opt/ibm/Java
chown -R wasadmin:wasadmins /opt/ibm/ODM89
chown -R wasadmin:wasadmins /opt/ibm/Java

Install Java 8

/mnt/Java8/ibm-java-jre-8.0-3.12-x86_64-archive.bin -i silent -f /mnt/ResponseFiles/installer.properties 1>console.txt 2>&1

Setup Path

vi ~/.bashrc

Append: -

JAVA_HOME=/opt/ibm/Java/jre
PATH=$PATH:$JAVA_HOME/bin


source ~/.bashrc

Validate Java

java -version

java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 8.0.5.6 - pxa6480sr5fp6-20171124_02(SR5 FP6))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References 20171122_371101 (JIT enabled, AOT enabled)
OpenJ9   - 8e3c85d
OMR      - 713f08e
IBM      - c041ee8)
JCL - 20171113_01 based on Oracle jdk8u151-b12


Install WLP

jar xvf /mnt/WLP/JARs/wlp-nd-all-17.0.0.4.jar

Fixup Executable Bits

chmod +x /home/wasadmin/wlp/bin/server
chmod +x /home/wasadmin/wlp/bin/securityUtility


Setup Path

vi ~/.bashrc

Amend: -

PATH=$PATH:$JAVA_HOME/bin:/home/wasadmin/wlp/bin

source ~/.bashrc

Validate WLP

server version

WebSphere Application Server 17.0.0.4 (1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)

See what's available to install

/opt/ibm/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /mnt/ODM891/disk1/DecisionServerRules/repository.config

com.ibm.websphere.odm.ds.rules.v89_8.9.1000.20171018_1824

Install ODM

/opt/ibm/InstallationManager/eclipse/tools/imcl -input /mnt/ResponseFiles/installODM891_RES.rsp -acceptLicense

Installed com.ibm.websphere.odm.ds.rules.v89_8.9.1000.20171018_1824 to the /opt/ibm/ODM89 directory.

Validate WARs

ls -al /opt/ibm/ODM89/executionserver/applicationservers/WLP855/

...
-rw-r--r-- 1 wasadmin wasadmins 51778251 Oct 11  2017 DecisionRunner.war
-rw-r--r-- 1 wasadmin wasadmins 40265601 Oct 11  2017 DecisionService.war
-rw-r--r-- 1 wasadmin wasadmins 31412040 Oct 11  2017 res.war
-rw-r--r-- 1 wasadmin wasadmins 52279630 Oct 11  2017 testing.war

...

Validate Derby

ls -al /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar

...
-rw-r--r-- 1 wasadmin wasadmins 2838580 Oct 12  2017 /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar
...

Create WLP server

server create odm

Deploy Apps

cp /opt/ibm/ODM89/executionserver/applicationservers/WLP855/res.war /home/wasadmin/wlp/usr/servers/odm/apps/
cp /opt/ibm/ODM89/executionserver/applicationservers/WLP855/DecisionService.war /home/wasadmin/wlp/usr/servers/odm/apps/

Deploy Derby

mkdir /home/wasadmin/wlp/usr/shared/resources/derby
cp /opt/ibm/ODM89/shared/tools/derby/lib/derby.jar /home/wasadmin/wlp/usr/shared/resources/derby


Configure server.xml

vi /home/wasadmin/wlp/usr/servers/odm/server.xml

Amend to: -

<?xml version="1.0" encoding="UTF-8"?>
<server description="new server">

    <featureManager>
        <feature>servlet-3.1</feature>
        <feature>jsp-2.3</feature>
        <feature>jdbc-4.1</feature>
        <feature>appSecurity-2.0</feature>
        <feature>concurrent-1.0</feature>
    </featureManager>

    <httpEndpoint id="defaultHttpEndpoint"
                  host="*"
                  httpPort="10080"
                  httpsPort="10443" />

    <jdbcDriver id="DerbyJdbcDriver" libraryRef="DerbyLib"/>
    <library id="DerbyLib" filesetRef="DerbyFileset"/>
    <fileset id="DerbyFileset" dir="${shared.resource.dir}/derby" includes="derby.jar"/>
    <dataSource id="derbyEmbedded" isolationLevel="TRANSACTION_READ_COMMITTED" jndiName="jdbc/resdatasource" jdbcDriverRef="DerbyJdbcDriver">
        <properties.derby.embedded
            databaseName="${shared.config.dir}/derby/resdb"
            createDatabase="create"
            user="resdbUser"
            password="resdbUser"
        />
    </dataSource>

    <basicRegistry id="basic" realm="customRealm">
        <user name="resAdmin" password="resAdmin"/>
        <user name="resDeploy" password="resDeploy"/>
        <user name="resMonitor" password="resMonitor"/>
        <group name="resAdministrators">
                    <member name="resAdmin"/>
        </group>
        <group name="resDeployers">
                    <member name="resDeploy"/>
        </group>
        <group name="resMonitors">
                    <member name="resMonitor"/>
        </group>
    </basicRegistry>

    <application type="war" id="res" name="res" location="${server.config.dir}/apps/res.war">
           <application-bnd>
               <security-role name="resAdministrators">
                       <group name="resAdministrators"/>
               </security-role>
               <security-role name="resDeployers">
                       <group name="resDeployers"/>
               </security-role>
               <security-role name="resMonitors">
                       <group name="resMonitors"/>
               </security-role>
           </application-bnd>
    </application>

    <application type="war" id="DecisionService"
      name="DecisionService"
      location="${server.config.dir}/apps/DecisionService.war">
    </application>

    <applicationManager autoExpand="true"/>

    <featureManager>
           <feature>ssl-1.0</feature>
    </featureManager>
    <keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />

</server>

Create SSL Certificate

/home/wasadmin/wlp/bin/securityUtility createSSLCertificate --server=odm --password=passw0rd --validity=365

...
Creating keystore /home/wasadmin/wlp/usr/servers/odm/resources/security/key.jks

Created SSL certificate for server odm. The certificate is created with CN=workflow.uk.ibm.com,OU=odm,O=ibm,C=us as the SubjectDN.

Add the following lines to the server.xml to enable SSL:

    <featureManager>
        <feature>ssl-1.0</feature>
    </featureManager>
    <keyStore id="defaultKeyStore" password="{xor}Lz4sLChvLTs=" />

...

Start WLP

server start odm

...
Starting server odm.
Server odm started with process ID 78434.

...

Monitor Logs

cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log

...
Launching odm (WebSphere Application Server 17.0.0.4/wlp-1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
[AUDIT   ] CWWKE0001I: The server odm has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[AUDIT   ] CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[AUDIT   ] CWWKZ0001I: Application res started in 3.248 seconds.
[AUDIT   ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[AUDIT   ] CWWKF0011I: The server odm is ready to run a smarter planet.
[ERROR   ] Initialization failed
The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.

...

cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log

...
Launching odm (WebSphere Application Server 17.0.0.4/wlp-1.0.19.201712061531) on IBM J9 VM, version pxa6480sr3fp12-20160919_01 (SR3 FP12) (en_GB)
[AUDIT   ] CWWKE0001I: The server odm has been launched.
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[AUDIT   ] CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[AUDIT   ] CWWKZ0001I: Application res started in 3.248 seconds.
[AUDIT   ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[AUDIT   ] CWWKF0011I: The server odm is ready to run a smarter planet.
[ERROR   ] Initialization failed
The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
[wasadmin@workflow ~]$ cat /home/wasadmin/wlp/usr/servers/odm/logs/messages.log
********************************************************************************
product = WebSphere Application Server 17.0.0.4 (wlp-1.0.19.201712061531)
wlp.install.dir = /home/wasadmin/wlp/
java.home = /opt/ibm/Java/jre
java.version = 1.8.0
java.runtime = Java(TM) SE Runtime Environment (pxa6480sr3fp12-20160919_01 (SR3 FP12))
os = Linux (3.10.0-862.11.6.el7.x86_64; amd64) (en_GB)
process = 78712@workflow.uk.ibm.com
********************************************************************************
[23/09/18 09:35:58:406 BST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager           A CWWKE0001I: The server odm has been launched.
[23/09/18 09:35:59:255 BST] 00000001 com.ibm.ws.kernel.launch.internal.FrameworkManager           I CWWKE0002I: The kernel started after 1.007 seconds
[23/09/18 09:35:59:295 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager            I CWWKF0007I: Feature update started.
[23/09/18 09:35:59:710 BST] 0000001a com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl  I CWWKS0007I: The security service is starting...
[23/09/18 09:35:59:973 BST] 00000027 com.ibm.ws.tcpchannel.internal.TCPChannel                    I CWWKO0219I: TCP Channel defaultHttpEndpoint has been started and is now listening for requests on host *  (IPv6) port 10080.
[23/09/18 09:35:59:979 BST] 0000001a com.ibm.ws.app.manager.internal.monitor.DropinMonitor        A CWWKZ0058I: Monitoring dropins for applications.
[23/09/18 09:36:00:196 BST] 0000002f com.ibm.ws.tcpchannel.internal.TCPChannel                    I CWWKO0219I: TCP Channel defaultHttpEndpoint-ssl has been started and is now listening for requests on host *  (IPv6) port 10443.
[23/09/18 09:36:00:214 BST] 0000001a ibm.ws.security.authentication.internal.jaas.JAASServiceImpl I CWWKS1123I: The collective authentication plugin with class name NullCollectiveAuthenticationPlugin has been activated.
[23/09/18 09:36:00:451 BST] 0000002d com.ibm.ws.security.ready.internal.SecurityReadyServiceImpl  I CWWKS0008I: The security service is ready.
[23/09/18 09:36:00:454 BST] 0000002d com.ibm.ws.security.token.ltpa.internal.LTPAKeyCreateTask    I CWWKS4105I: LTPA configuration is ready after 0.278 seconds.
[23/09/18 09:36:00:535 BST] 0000001a com.ibm.ws.cache.ServerCache                                 I DYNA1001I: WebSphere Dynamic Cache instance named baseCache initialized successfully.
[23/09/18 09:36:00:536 BST] 0000001a com.ibm.ws.cache.ServerCache                                 I DYNA1071I: The cache provider default is being used.
[23/09/18 09:36:00:536 BST] 0000001a com.ibm.ws.cache.CacheServiceImpl                            I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[23/09/18 09:36:00:615 BST] 0000002b com.ibm.ws.app.manager.AppMessageHelper                      I CWWKZ0018I: Starting application DecisionService.
[23/09/18 09:36:00:615 BST] 0000002c com.ibm.ws.app.manager.AppMessageHelper                      I CWWKZ0018I: Starting application res.
[23/09/18 09:36:01:770 BST] 0000002b com.ibm.ws.session.WASSessionCore                            I SESN8501I: The session manager did not find a persistent storage location; HttpSession objects will be stored in the local application server's memory.
[23/09/18 09:36:01:784 BST] 0000002b com.ibm.ws.webcontainer.osgi.webapp.WebGroup                 I SRVE0169I: Loading Web Module: DecisionService.
[23/09/18 09:36:01:787 BST] 0000002b com.ibm.ws.webcontainer                                      I SRVE0250I: Web Module DecisionService has been bound to default_host.
[23/09/18 09:36:01:788 BST] 0000002b com.ibm.ws.http.internal.VirtualHostImpl                     A CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/DecisionService/
[23/09/18 09:36:01:794 BST] 0000002b com.ibm.ws.app.manager.AppMessageHelper                      A CWWKZ0001I: Application DecisionService started in 1.179 seconds.
[23/09/18 09:36:02:003 BST] 00000025 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator          I SRVE9103I: A configuration file for a web server plugin was automatically generated for this server at /home/wasadmin/wlp/usr/servers/odm/logs/state/plugin-cfg.xml.
[23/09/18 09:36:02:006 BST] 0000002f com.ibm.ws.session.WASSessionCore                            I SESN0176I: A new session context will be created for application key default_host/DecisionService
[23/09/18 09:36:02:035 BST] 0000002f com.ibm.ws.util                                              I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation.
[23/09/18 09:36:02:287 BST] 0000002f com.ibm.ws.cache.CacheServiceImpl                            I DYNA1056I: Dynamic Cache (object cache) initialized successfully.
[23/09/18 09:36:02:356 BST] 0000002f com.ibm.rules.res.htds                                       I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds                                       I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds                                       I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:02:357 BST] 0000002f com.ibm.rules.res.htds                                       I Logging started. Decision service version: Decision Server 8.9.1.0 2017-10-11 14:45:02
[23/09/18 09:36:02:633 BST] 0000002f com.ibm.rules.res.execution                                  I Logging started Decision Server XU - 8.9.1.0 - 2017-10-11 14:32:25.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution                                  I The JDK logging level is set to: INFO.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution                                  I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:02:634 BST] 0000002f com.ibm.rules.res.execution                                  I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:02:635 BST] 0000002f com.ibm.rules.res.execution                                  I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:02:733 BST] 0000002f com.ibm.rules.res.execution                                  I Found user settings in file : ra.xml.
[23/09/18 09:36:02:733 BST] 0000002f com.ibm.rules.res.execution                                  I Loading execution unit (XU) settings from the file descriptor.
[23/09/18 09:36:02:778 BST] 0000002f com.ibm.rules.res.execution                                  I The XU logger uses JDK logging: true.
[23/09/18 09:36:02:779 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property rulesetCacheProperties to ruleset.cache.maintenance.period=300.
[23/09/18 09:36:02:779 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property persistenceType to datasource.
[23/09/18 09:36:02:780 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property caCacheProps to {}.
[23/09/18 09:36:02:780 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property defaultConnectionManagerProperties to {}.
[23/09/18 09:36:02:781 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property asynchronousRulesetParsing to true.
[23/09/18 09:36:02:781 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property rulesetUsageMonitorEnabled to true.
[23/09/18 09:36:02:785 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property profilingEnabled to true.
[23/09/18 09:36:02:788 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property persistenceProperties to {XOM_PERSISTENCE_JNDI_NAME=jdbc/resdatasource, XOM_PERSISTENCE_TYPE=datasource, JNDI_NAME=jdbc/resdatasource}.
[23/09/18 09:36:02:789 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property traceLevel to FINE.
[23/09/18 09:36:02:790 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property systemOutLoggingEnabled to false.
[23/09/18 09:36:02:790 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property memoryProfilerIncludedPackageNames to com.ibm.rules.,java.,ilog.,com.ibm.rules.org.objectweb.asm.,org.apache.bcel.,javax.xml.parsers.,javax.xml.namespace.,javax.xml.transform..
[23/09/18 09:36:02:791 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property traceAutoFlush to false.
[23/09/18 09:36:02:792 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property rulesetFactoryProperties to .
[23/09/18 09:36:02:794 BST] 0000002f com.ibm.rules.res.execution                                  I Sets the XU configuration property plugins to {protocol=jmx,xuName=xuHTDS,pluginClass=Management},{pluginClass=HTDS}.
[23/09/18 09:36:02:795 BST] 0000002f com.ibm.rules.res.execution                                  I Creates the XU plug-in with properties {protocol=jmx, xuName=xuHTDS, pluginClass=Management}.
[23/09/18 09:36:02:815 BST] 0000002f com.ibm.rules.res.execution                                  I Creates the XU plug-in with properties {pluginClass=HTDS}.
[23/09/18 09:36:02:826 BST] 0000002f com.ibm.rules.res.execution                                  I Starts the XU plug-in com.ibm.rules.res.xu.management.XUManagementPlugin@271bf2ea.
[23/09/18 09:36:02:829 BST] 0000002f com.ibm.rules.res.execution.xu.plugin.management             I GBRXU4002I: Starts the MBean plug-in.
[23/09/18 09:36:02:879 BST] 0000002f com.ibm.rules.res.execution                                  I Starts the XU plug-in com.ibm.rules.htds.plugin.cci.internal.DLGeneratorPlugin@abf668bc.
[23/09/18 09:36:02:942 BST] 0000002f com.ibm.ws.jca.cm.ConnectorService                           I J2CA8050I: An authentication alias should be used instead of defining a user name and password on dataSource[derbyEmbedded].
[23/09/18 09:36:03:136 BST] 0000002f com.ibm.ws.recoverylog.spi.RecoveryDirectorImpl              I CWRLS0010I: Performing recovery processing for local WebSphere server (odm).
[23/09/18 09:36:03:182 BST] 00000034 com.ibm.ws.recoverylog.spi.LogHandle                         I CWRLS0007I: No existing recovery log files found in /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog. Cold starting the recovery log.
[23/09/18 09:36:03:183 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle                     I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog/log1.
[23/09/18 09:36:03:188 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle                     I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//tranlog/log2.
[23/09/18 09:36:03:333 BST] 00000034 com.ibm.ws.recoverylog.spi.LogHandle                         I CWRLS0007I: No existing recovery log files found in /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog. Cold starting the recovery log.
[23/09/18 09:36:03:333 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle                     I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog/log1.
[23/09/18 09:36:03:336 BST] 00000034 com.ibm.ws.recoverylog.spi.LogFileHandle                     I CWRLS0006I: Creating new recovery log file /home/wasadmin/wlp/usr/servers/odm/tranlog//partnerlog/log2.
[23/09/18 09:36:03:424 BST] 00000034 com.ibm.tx.jta.impl.RecoveryManager                          I WTRN0135I: Transaction service recovering no transactions.
[23/09/18 09:36:03:426 BST] 0000002f com.ibm.ws.recoverylog.spi.RecoveryDirectorImpl              I CWRLS0012I: All persistent services have been directed to perform recovery processing for this WebSphere server (odm).
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.webcontainer.osgi.webapp.WebGroup                 I SRVE0169I: Loading Web Module: Rule Execution Server Console.
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.webcontainer                                      I SRVE0250I: Web Module Rule Execution Server Console has been bound to default_host.
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.http.internal.VirtualHostImpl                     A CWWKT0016I: Web application available (default_host): http://workflow.uk.ibm.com:10080/res/
[23/09/18 09:36:03:863 BST] 0000002c com.ibm.ws.app.manager.AppMessageHelper                      A CWWKZ0001I: Application res started in 3.248 seconds.
[23/09/18 09:36:03:867 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager            A CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, el-3.0].
[23/09/18 09:36:03:868 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager            I CWWKF0008I: Feature update completed in 4.612 seconds.
[23/09/18 09:36:03:868 BST] 00000023 com.ibm.ws.kernel.feature.internal.FeatureManager            A CWWKF0011I: The server odm is ready to run a smarter planet.
[23/09/18 09:36:03:880 BST] 00000027 com.ibm.ws.webcontainer.osgi.mbeans.PluginGenerator          I SRVE9103I: A configuration file for a web server plugin was automatically generated for this server at /home/wasadmin/wlp/usr/servers/odm/logs/state/plugin-cfg.xml.
[23/09/18 09:36:04:509 BST] 0000002e com.ibm.ws.session.WASSessionCore                            I SESN0176I: A new session context will be created for application key default_host/res
[23/09/18 09:36:04:510 BST] 0000002e com.ibm.ws.util                                              I SESN0172I: The session manager is using the Java default SecureRandom implementation for session ID generation.
[23/09/18 09:36:04:566 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8203I: Database product name : Apache Derby
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8204I: Database product version : 10.10.2.0 - (1582446)
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8205I: JDBC driver name  : Apache Derby Embedded JDBC Driver
[23/09/18 09:36:04:567 BST] 0000002f com.ibm.ws.rsadapter.impl.DatabaseHelper                     I DSRA8206I: JDBC driver version  : 10.10.2.0 - (1582446)
[23/09/18 09:36:05:289 BST] 0000002e com.ibm.rules.res.console                                    I The operating system is Linux amd64 3.10.0-862.11.6.el7.x86_64.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console                                    I The JVM is IBM Corporation IBM J9 VM 2.8.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console                                    I The class path is /home/wasadmin/wlp/bin/tools/ws-server.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar:/home/wasadmin/wlp/bin/tools/ws-javaagent.jar.
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console                                    I Logging started. Rule Execution Server console version: Decision Server
[23/09/18 09:36:05:290 BST] 0000002e com.ibm.rules.res.console                                    I Properties used for initialization:
allowIframe = true
autoCreateSchema = false
calendarType = gregorian
defaultDWConfiguration = factoryClassname=ilog.rules.res.persistence.impl.jdbc.IlrDatasourceTraceDAOFactory;JNDI_NAME=jdbc/resdatasource
distributed.mode = true
filePersistenceDirectory = res_data
fileXomPersistenceDirectory = res_xom
ilog.rules.res.HELP_CONTEXT = http://www.ibm.com/support/knowledgecenter/SSQP76_8.9.1
ilog.rules.res.HELP_INDEX = http://www.ibm.com/support/knowledgecenter/SSQP76_8.9.1/com.ibm.odm.dserver.rules.res.console/cshelp_resconsole.xml
ilog.rules.res.HELP_TOPIC = com.ibm.odm.dserver.rules.res.console
ilog.rules.res.HTDS_CONTEXT = /DecisionService
ilog.rules.res.XOM_IN_RULEAPP_ARCHIVE = false
ilog.rules.res.trace.DECISIONWAREHOUSE_CONFIGURATIONS = defaultDWConfiguration
javax.faces.STATE_SAVING_METHOD = server
management.protocol = jmx
management.tcpip.port = 1883
management.tcpip.timeout = 20
onDocker = false
org.apache.myfaces.ADD_RESOURCE_CLASS = org.apache.myfaces.renderkit.html.util.DefaultAddResource
org.apache.myfaces.ALLOW_JAVASCRIPT = true
org.apache.myfaces.AUTO_SCROLL = true
org.apache.myfaces.CHECK_EXTENSIONS_FILTER = false
org.apache.myfaces.COMPRESS_STATE_IN_SESSION = false
org.apache.myfaces.DETECT_JAVASCRIPT = false
org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION = 10
org.apache.myfaces.PRETTY_HTML = true
org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS = true
org.apache.myfaces.RESOURCE_VIRTUAL_PATH = /faces/myFacesExtensionResource
org.apache.myfaces.SERIALIZE_STATE_IN_SESSION = false
org.apache.myfaces.VALIDATE = false
org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL = true
persistenceType = datasource
resconsole-logging-config-filename = resconsole-logging.properties
server-info-max-length = 100
xomPersistenceType = datasource
[23/09/18 09:36:05:365 BST] 0000002e com.ibm.rules.res.persistence                                I XOM repository set in database persistence mode: Apache Derby 10.10.2.0 - (1582446)
[23/09/18 09:36:05:390 BST] 0000002e com.ibm.rules.res.console                                    I Reading Decision Warehouse configurations from web.xml
[23/09/18 09:36:05:399 BST] 0000002e com.ibm.rules.res.console                                    I The Decision Warehouse configuration defaultDWConfiguration was loaded.
[23/09/18 09:36:05:403 BST] 0000002e com.ibm.rules.res.console                                    I The trace DAO factory was initialized: ilog.rules.res.persistence.impl.jdbc.IlrDatasourceTraceDAOFactory
[23/09/18 09:36:05:765 BST] 0000002e com.ibm.rules.res.console                                    E Initialization failed
ilog.rules.res.console.IlrConsoleException: The persistence check failed. Diagnostic report:
DAO Class Name = ilog.rules.res.persistence.impl.jdbc.IlrGenericRepositoryDAO
Database Product Name = Apache Derby
Database Product Version = 10.10.2.0 - (1582446)
Driver Name = Apache Derby Embedded JDBC Driver
Driver Product Version = 10.10.2.0 - (1582446)
Ruleset enabled view test passed = False
RuleApp properties table test passed = False
RuleApps table test passed = False
Ruleset properties table test passed = False
Ruleset resources table test passed = False
Rulesets table test passed = False
Is Transaction Supported = True
JDBC URL = jdbc:derby:/home/wasadmin/wlp/usr/shared/config//derby/resdb
Username = resdbUser.
at ilog.rules.res.console.util.IlrModelManager.init(IlrModelManager.java:187)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:126)
at ilog.rules.res.console.util.IlrConsoleInitializer.consoleInitialized(IlrConsoleInitializer.java:109)
at ilog.rules.res.console.IlrServletContextListener.contextInitialized(IlrServletContextListener.java:26)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:2384)
at com.ibm.ws.webcontainer31.osgi.webapp.WebApp31.notifyServletContextCreated(WebApp31.java:514)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:1012)
at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:6574)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApp(DynamicVirtualHost.java:467)
at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost.startWebApplication(DynamicVirtualHost.java:462)
at com.ibm.ws.webcontainer.osgi.WebContainer.startWebApplication(WebContainer.java:1132)
at com.ibm.ws.webcontainer.osgi.WebContainer.access$000(WebContainer.java:108)
at com.ibm.ws.webcontainer.osgi.WebContainer$3.run(WebContainer.java:944)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:522)
at java.util.concurrent.FutureTask.run(FutureTask.java:277)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.lang.Thread.run(Thread.java:785)

[23/09/18 09:36:05:818 BST] 0000002e com.ibm.ws.webcontainer.servlet                              I SRVE0242I: [res] [/res] [FacesServlet]: Initialization successful.
...

Access RES

https://workflow.uk.ibm.com:10443/res/login.jsf

(1) Need to authenticate as resAdmin
(2) Need to run through "Installation Settings Wizard" to set up database
(3) Deploy Rule App e.g. HelloWorldRuleApp_19012016.jar
(4) Use HTDS to test Rule App via REST
(5) Monitor logs for output

cat /home/wasadmin/wlp/usr/servers/odm/logs/console.log

...
Hello Dave Hay!
...

cat /home/wasadmin/wlp/usr/servers/odm/logs/messages.log

...
[23/09/18 09:40:02:220 BST] 00000051 SystemOut                                                    O Hello Dave Hay!
...

URL for HTDS: -

https://workflow.uk.ibm.com:10443/DecisionService/run.jsp?path=/HelloWorldRuleApp/1.0/HelloWorld&trace=false&type=WADL&kind=native

I'll update this once I get my hands on 8.9.2 ……

No comments: