Wednesday 7 September 2016

IBM Operational Decision Manager - Running it on WebSphere Liberty Profile on Docker - And finally

Following my earlier two posts: -


I've now added the Decision Service WAR to the Liberty build, allowing me to test my Rule Services via SOAP and REST, providing the Hosted Transformation Decision Service (HTDS) capability.

This is what I now have in server.xml : -

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

<!-- Enable features -->
<featureManager>
<feature>servlet-3.1</feature>
<feature>jsp-2.3</feature>
<feature>jdbc-4.1</feature>
<feature>appSecurity-2.0</feature>
<feature>jaxrs-1.1</feature>
<feature>concurrent-1.0</feature>
<feature>jndi-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>

<httpSession cookieName="DCSESSIONID"
invalidateOnUnauthorizedSessionRequestException="true" />

<!-- To access this server from a remote client add a host attribute to 
the following element, e.g. host="*" -->
<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9080"
httpsPort="9443" />

<jdbcDriver id="DerbyEmbedded" libraryRef="DerbyLib" />
<library id="DerbyLib" filesetRef="DerbyFileset" />
<fileset id="DerbyFileset" dir="${shared.resource.dir}/derby"
includes="derby.jar" />
<!-- RES data source -->
<dataSource id="jdbc/resdatasource" jndiName="jdbc/resdatasource"
jdbcDriverRef="DerbyEmbedded">
<properties databaseName="${shared.resource.dir}/data/resdb"
createDatabase="create" user="resdbUser" password="resdbUser" />
</dataSource>
<!-- RTS data source -->
<dataSource id="derbyEmbedded" isolationLevel="TRANSACTION_READ_COMMITTED"
jndiName="jdbc/ilogDataSource" jdbcDriverRef="DerbyEmbedded">
<properties.derby.embedded databaseName="${shared.resource.dir}/data/rtsdb"
createDatabase="create" user="rtsdbUser" password="rtsdbUser" />
</dataSource>

<!-- Managed executor service for Decision Runner -->
<managedExecutorService jndiName="concurrent/drExecutorService" />

<webContainer deferServletLoad="false"
enableDefaultIsElIgnoredInTag="true" enableJspMappingOverride="true" />

<!-- Web application security -->
<basicRegistry id="basic" realm="customRealm">
<!-- RES users and groups -->
<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="resAdmin" />
<member name="resDeploy" />
</group>
<group name="resMonitors">
<member name="resAdmin" />
<member name="resDeploy" />
<member name="resMonitor" />
</group>

<!-- RTS users and groups -->
<user name="rtsAdmin" password="rtsAdmin" />
<user name="rtsConfig" password="rtsConfig" />
<user name="rtsUser1" password="rtsUser1" />
<user name="Eli" password="Eli" />
<user name="Val" password="Val" />
<group name="rtsAdministrator">
<member name="rtsAdmin" />
</group>
<group name="rtsInstaller">
<member name="rtsAdmin" />
</group>
<group name="rtsConfigManager">
<member name="rtsConfig" />
</group>
<group name="rtsUser">
<member name="rtsUser1" />
<member name="Eli" />
<member name="Val" />
</group>
<group name="Validator">
<member name="Val" />
</group>
<group name="Eligibility">
<member name="Eli" />
<member name="Val" />
</group>
</basicRegistry>

<!-- RES console -->
<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>

<!-- Decision Center -->
<application type="war" id="decisioncenter" name="decisioncenter"
location="${server.config.dir}/apps/decisioncenter.war">
<application-bnd>
<security-role name="rtsAdministrator">
<group name="rtsAdministrator" />
</security-role>
<security-role name="rtsInstaller">
<group name="rtsInstaller" />
</security-role>
<security-role name="rtsConfigManager">
<group name="rtsConfigManager" />
</security-role>
<security-role name="rtsUser">
<group name="rtsUser" />
</security-role>
<security-role name="Eligibility">
<group name="Eligibility" />
</security-role>
<security-role name="Validator">
<group name="Validator" />
</security-role>
</application-bnd>
</application>

<!-- Team Server -->
<application type="war" id="teamserver" name="teamserver"
location="${server.config.dir}/apps/teamserver.war">
<application-bnd>
<security-role name="rtsAdministrator">
<group name="rtsAdministrator" />
</security-role>
<security-role name="rtsInstaller">
<group name="rtsInstaller" />
</security-role>
<security-role name="rtsConfigManager">
<group name="rtsConfigManager" />
</security-role>
<security-role name="rtsUser">
<group name="rtsUser" />
</security-role>
<security-role name="Eligibility">
<group name="Eligibility" />
</security-role>
<security-role name="Validator">
<group name="Validator" />
</security-role>
</application-bnd>
</application>

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

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

<!-- Business console -->
<application type="war" id="decisioncenter" name="decisioncenter"
location="${server.config.dir}/apps/decisioncenter.war">
<classloader delegation="parentLast" />
...
</application>

<!-- Enterprise console -->
<application type="war" id="teamserver" name="teamserver"
location="${server.config.dir}/apps/teamserver.war">
<classloader delegation="parentLast" />
...
</application>

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


</server>



and the logs confirm that Decision Service is now running: -

Launching defaultServer (WebSphere Application Server 8.5.5.9/wlp-1.0.12.cl50920160227-1523) on IBM J9 VM, version pxa6480sr3-20160428_01 (SR3) (en_US)
[AUDIT   ] CWWKE0001I: The server defaultServer has been launched.
[AUDIT   ] CWWKE0100I: This product is licensed for development, and limited production use. The full license terms can be viewed here: https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/wasdev/license/base_ilan/ilan/8.5.5.9/lafiles/en.html
[AUDIT   ] CWWKG0093A: Processing configuration drop-ins resource: /opt/ibm/wlp/usr/servers/defaultServer/configDropins/defaults/keystore.xml
[AUDIT   ] CWWKZ0058I: Monitoring dropins for applications. 
[AUDIT   ] CWWKS4104A: LTPA keys created in 1.779 seconds. LTPA key file: /opt/ibm/wlp/output/defaultServer/resources/security/ltpa.keys
[AUDIT   ] CWPKI0803A: SSL certificate created in 5.991 seconds. SSL key file: /opt/ibm/wlp/output/defaultServer/resources/security/key.jks
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://cf93bfdacb28:9080/testing/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://cf93bfdacb28:9080/res/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://cf93bfdacb28:9080/DecisionService/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://cf93bfdacb28:9080/DecisionRunner/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://cf93bfdacb28:9080/teamserver/
[AUDIT   ] CWWKT0016I: Web application available (default_host): http://cf93bfdacb28:9080/decisioncenter/
[AUDIT   ] CWWKZ0001I: Application DecisionService started in 18.475 seconds.
[AUDIT   ] CWWKZ0001I: Application testing started in 18.593 seconds.
[AUDIT   ] CWWKZ0001I: Application DecisionRunner started in 19.447 seconds.
[AUDIT   ] CWWKZ0001I: Application res started in 19.868 seconds.
[AUDIT   ] CWWKZ0001I: Application teamserver started in 20.632 seconds.
[WARNING ] [dc] Solr index directory '/tmp/solr.data4281916500924696159.dir/index' doesn't exist. Creating new index...
[AUDIT   ] CWWKZ0022W: Application decisioncenter has not started in 30.007 seconds.
[AUDIT   ] CWWKF0012I: The server installed the following features: [jsp-2.3, concurrent-1.0, servlet-3.1, ssl-1.0, jndi-1.0, json-1.0, distributedMap-1.0, appSecurity-2.0, jdbc-4.1, jaxrs-1.1, el-3.0].
[AUDIT   ] CWWKF0011I: The server defaultServer is ready to run a smarter planet.
[AUDIT   ] CWWKZ0001I: Application decisioncenter started in 31.085 seconds.

and this is what I see: -





and my WSDL: -


accessible via SoapUI: -


No comments:

Visual Studio Code - Wow 🙀

Why did I not know that I can merely hit [cmd] [p]  to bring up a search box allowing me to search my project e.g. a repo cloned from GitHub...