here's a quick walkthrough an IBM ODM 8.7 installation ( Decision Server in my case ), on a Red Hat Enterprise Linux VM.
Build
Install the Binaries - wasadmin
/opt/IBM/InstallationManager/eclipse/tools/imcl -input installODM87.rsp -acceptLicense
<?xml version='1.0' encoding='UTF-8'?>
<agent-input>
<variables>
<variable name='sharedLocation' value='/opt/IBM/IMShared'/>
</variables>
<server>
<repository location='/tmp/foobar/ProfileTemplateRules'/>
</server>
<profile id='Operational Decision Manager V8.7' installLocation='/opt/IBM/ODM87'>
<data key='eclipseLocation' value='/opt/IBM/ODM87'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='en'/>
<data key='user.lic.dsr' value='full'/>
<data key='user.prod.dsr' value='false'/>
<data key='user.wodm_was_home' value='/opt/IBM/WebSphere/AppServer'/>
</profile>
<install modify='false'>
<!-- Decision Server Rules profile templates for WebSphere Application Server 8.7.0.0 -->
<offering profile='Operational Decision Manager V8.7' id='com.ibm.websphere.odm.pt.rules.v87' version='8.7.0.20141114_1039' features='main.feature' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='${sharedLocation}'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>
<agent-input>
<variables>
<variable name='sharedLocation' value='/opt/IBM/IMShared'/>
</variables>
<server>
<repository location='/tmp/foobar/ProfileTemplateRules'/>
</server>
<profile id='Operational Decision Manager V8.7' installLocation='/opt/IBM/ODM87'>
<data key='eclipseLocation' value='/opt/IBM/ODM87'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86_64'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='en'/>
<data key='user.lic.dsr' value='full'/>
<data key='user.prod.dsr' value='false'/>
<data key='user.wodm_was_home' value='/opt/IBM/WebSphere/AppServer'/>
</profile>
<install modify='false'>
<!-- Decision Server Rules profile templates for WebSphere Application Server 8.7.0.0 -->
<offering profile='Operational Decision Manager V8.7' id='com.ibm.websphere.odm.pt.rules.v87' version='8.7.0.20141114_1039' features='main.feature' installFixes='none'/>
</install>
<preference name='com.ibm.cic.common.core.preferences.eclipseCache' value='${sharedLocation}'/>
<preference name='com.ibm.cic.common.core.preferences.connectTimeout' value='30'/>
<preference name='com.ibm.cic.common.core.preferences.readTimeout' value='45'/>
<preference name='com.ibm.cic.common.core.preferences.downloadAutoRetryCount' value='0'/>
<preference name='offering.service.repositories.areUsed' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.ssl.nonsecureMode' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.http.disablePreemptiveAuthentication' value='false'/>
<preference name='http.ntlm.auth.kind' value='NTLM'/>
<preference name='http.ntlm.auth.enableIntegrated.win32' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.preserveDownloadedArtifacts' value='true'/>
<preference name='com.ibm.cic.common.core.preferences.keepFetchedFiles' value='false'/>
<preference name='PassportAdvantageIsEnabled' value='false'/>
<preference name='com.ibm.cic.common.core.preferences.searchForUpdates' value='false'/>
<preference name='com.ibm.cic.agent.ui.displayInternalVersion' value='false'/>
<preference name='com.ibm.cic.common.sharedUI.showErrorLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showWarningLog' value='true'/>
<preference name='com.ibm.cic.common.sharedUI.showNoteLog' value='true'/>
</agent-input>
Note - I already have IBM Installation Manager 1.8.1 and WebSphere Application Server Network Deployment 8.5.5.4 installed.
Create a standard Deployment Manager profile - wasadmin
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -create -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/management -profileName Dmgr01 -nodeName Dmgr -isDefault -enableAdminSecurity true -adminUserName wasadmin -adminPassword passw0rd
Create a standard Node profile - wasadmin
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -create -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/managed -profileName AppSrv01 -nodeName DecisionServerNode01
Start the Deployment Manager - wasadmin
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh
Federate the Node into the Cell - wasadmin
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/addNode.sh odm87.uk.ibm.com 8879 -profileName AppSrv01 -username wasadmin -password passw0rd
Stop the Deployment Manager - wasadmin
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin//stopManager.sh -username wasadmin -password passw0rd
Augment Deployment Manager profile ( with ODM DS capabilities ) - wasadmin
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/rules/management/ds/
Prepare the Cluster Template
cp /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/rules/configureDSCluster.properties .
vi configureDSCluster.properties
wodm.dsrules.clusterName=DecisionServerCluster
wodm.virtualhost.name=default_host
wodm.dsrules.db.type=DB2
wodm.dsrules.db.jdbcDriverPath=/opt/IBM/WebSphere/AppServer/jdbcdrivers/DB2/
wodm.dsrules.db.name=RESDB
wodm.dsrules.db.hostname=odm87.uk.ibm.com
wodm.dsrules.db.port=60012
wodm.dsrules.db.user=db2user1
wodm.dsrules.db.password=passw0rd
Create the Decision Server cluster - wasadmin
export ODM_HOME=/opt/IBM/ODM87/
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/configureDSCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ~/configureDSCluster.properties -targetNodeName DecisionServerNode01 -dmgrHostName odm87.uk.ibm.com -dmgrPort 8879
Create the RESDB database - wasadmin
db2 create database RESDB automatic storage yes using codeset UTF-8 territory US pagesize 32768
db2 connect to RESDB
db2 grant dbadm on database to user db2user1
db2 terminate
db2 connect to RESDB
db2 set current schema db2user1
db2 create bufferpool BP32K size 8000 automatic pagesize 32 K
db2 terminate
db2 connect to resdb
cd /opt/IBM/ODM87/executionserver/databases/
db2 -tvf trace_db2.sql
db2 connect to resdb user db2user1
cd /opt/IBM/ODM87/executionserver/databases/
db2 -tvf repository_db2.sql
db2 -tvf decisionrunner_db2.sql
db2 -tvf xomrepository_db2.sql
And that's it .....
Functional Testing
Rule Execution Server console
https://odm87.uk.ibm.com:9443/res/protected/home.jsf
Start the Deployment Manager - wasadmin
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh
Federate the Node into the Cell - wasadmin
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/addNode.sh odm87.uk.ibm.com 8879 -profileName AppSrv01 -username wasadmin -password passw0rd
Stop the Deployment Manager - wasadmin
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin//stopManager.sh -username wasadmin -password passw0rd
Augment Deployment Manager profile ( with ODM DS capabilities ) - wasadmin
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/rules/management/ds/
Prepare the Cluster Template
cp /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/rules/configureDSCluster.properties .
vi configureDSCluster.properties
wodm.dsrules.clusterName=DecisionServerCluster
wodm.virtualhost.name=default_host
wodm.dsrules.db.type=DB2
wodm.dsrules.db.jdbcDriverPath=/opt/IBM/WebSphere/AppServer/jdbcdrivers/DB2/
wodm.dsrules.db.name=RESDB
wodm.dsrules.db.hostname=odm87.uk.ibm.com
wodm.dsrules.db.port=60012
wodm.dsrules.db.user=db2user1
wodm.dsrules.db.password=passw0rd
Create the Decision Server cluster - wasadmin
export ODM_HOME=/opt/IBM/ODM87/
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/configureDSCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ~/configureDSCluster.properties -targetNodeName DecisionServerNode01 -dmgrHostName odm87.uk.ibm.com -dmgrPort 8879
Create the RESDB database - wasadmin
db2 create database RESDB automatic storage yes using codeset UTF-8 territory US pagesize 32768
db2 connect to RESDB
db2 grant dbadm on database to user db2user1
db2 terminate
db2 connect to RESDB
db2 set current schema db2user1
db2 create bufferpool BP32K size 8000 automatic pagesize 32 K
db2 terminate
db2 connect to resdb
cd /opt/IBM/ODM87/executionserver/databases/
db2 -tvf trace_db2.sql
db2 connect to resdb user db2user1
cd /opt/IBM/ODM87/executionserver/databases/
db2 -tvf repository_db2.sql
db2 -tvf decisionrunner_db2.sql
db2 -tvf xomrepository_db2.sql
And that's it .....
Functional Testing
Rule Execution Server console
https://odm87.uk.ibm.com:9443/res/protected/home.jsf
Diagnostics View
REST API tool
Hosted Transparent Decision Service
Deployment Manager
24 comments:
Sunil,
Can you please send me the installation and configuration steps for ODM 8.7 Decision Center and ODM Decision Server to crosairs@gmail.com or please direct me to the sources.
Thank you
Who is Sunil ?
HI Dave,
This is Nethaji
I like your posts and technical articles.
I am new to ODM Installation.
can you provide any article like what is decision center , decision server.
How deployments carry out , application access.
Last thing Deciosion Center/Server with 2 node clustered environment.
I will be happy if i got any info. :)
Thanks.
Hi
Thanks for your comments.
I'd suggest that you start here: -
IBM Operational Decision Manager Developer Center
and: -
IBM Operational Decision Manager training paths
Cheers, Dave
Thanks a lot Dave.
I am following your post i have small doubt installing profile templates.
Since ODM needs WAS default templates to be used.
I can see you created the profiles with WAS built in deployment manager and custom node profiles.
There are augmenting with DC or DS profiles.
My doubt was rather then augmenting WAS profiles , can't we create DC deployment manager/DS deployment magaer , DC custom node / DS custom node profiles to avoid augmentation.
I dont have any setup installation available on my machine to see really in PMT tool :(.
so kindly need your answers on above.
Thanks a Lot.
Hi Nethaji
This may help: -
Configuring the Decision Center consoles by using profile templates
I'll also post my own notes in the next comment.
Dave
Nethaji
Here're some of my notes from the last 8.7 build: -
Create WAS Profiles
/opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -create -templatePath /opt/ibm/WebSphere/AppServer/profileTemplates/management -profileName Dmgr01 -nodeName Dmgr -isDefault -enableAdminSecurity true -adminUserName wasadmin -adminPassword passw0rd
/opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -create -templatePath /opt/ibm/WebSphere/AppServer/profileTemplates/managed -profileName AppSrv01 -nodeName Node1
Start Deployment Manager
/opt/ibm/WebSphere/AppServer/profiles/Dmgr01/bin/startManager.sh
Federate Node into Cell
/opt/ibm/WebSphere/AppServer/profiles/AppSrv01/bin/addNode.sh `hostname` 8879 -profileName AppSrv01 -username wasadmin -password passw0rd
Stop Deployment Manager
/opt/ibm/WebSphere/AppServer/profiles/Dmgr01/bin/stopManager.sh -username wasadmin -password passw0rd
Augment Deployment Manager Profile with DC and DS Capabilities
/opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath /opt/ibm/WebSphere/AppServer/profileTemplates/rules/management/dc/
/opt/ibm/WebSphere/AppServer/bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath /opt/ibm/WebSphere/AppServer/profileTemplates/rules/management/ds/
Create DC Cluster
export ODM_HOME=/opt/ibm/ODM87/
/opt/ibm/WebSphere/AppServer/profiles/Dmgr01/bin/configureDCCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ~/configureDCCluster.properties -targetNodeName Node1 -dmgrHostName odm87.uk.ibm.com -dmgrPort 8879
Stop Deployment Manager
/opt/ibm/WebSphere/AppServer/profiles/Dmgr01/bin/stopManager.sh -username wasadmin -password passw0rd
Create DS Cluster
/opt/ibm/WebSphere/AppServer/profiles/Dmgr01/bin/configureDSCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ~/configureDSCluster.properties -targetNodeName Node1 -dmgrHostName odm87.uk.ibm.com -dmgrPort 8879
Create Database Artefacts
su - db2inst1
db2 create database RTSDB automatic storage yes using codeset UTF-8 territory GB pagesize 32768
db2 create database RESDB automatic storage yes using codeset UTF-8 territory GB pagesize 32768
db2 connect to RESDB user db2inst1 using passw0rd
db2 create bufferpool BP32K size 8000 automatic pagesize 32K
db2 connect to RTSDB
db2 grant dbadm on database to user db2user1
db2 terminate
db2 connect to RESDB
db2 grant dbadm on database to user db2user1
db2 terminate
db2 connect to RTSDB user db2user1 using passw0rd
db2 -tvf rule-team-server.sql
db2 connect to RESDB user db2inst1 using passw0rd
db2 -tvf /opt/ibm/ODM87/executionserver/databases/trace_db2.sql
db2 connect to RESDB user db2user1 using passw0rd
db2 -tvf /opt/ibm/ODM87/executionserver/databases/trace_db2.sql
db2 -tvf /opt/ibm/ODM87/executionserver/databases/repository_db2.sql
db2 -tvf /opt/ibm/ODM87/executionserver/databases/xomrepository_db2.sql
db2 -tvf /opt/ibm/ODM87/executionserver/databases/decisionrunner_db2.sql
Dear Dave,
Perfect Sir thanks a lot for u r url :).
your blogs increased my knowledge in odm.
Regards,
Nethaji
Hi Nethaji, glad to be of service, Sir :-)
Hi Dave
I am about to start on integration designer on administration part.
I can some good articles and IBM knowledge based url
Any issues on admin side if you have any blogs pls share
Thanks
Nethaji
Nethaji
Sorry, I'm unsure as to what you're asking ?
If you're after content pertaining to BPM development, try this: -
IBM Business Process Manager Developer Center
alongside: -
IBM Operational Decision Manager Developer Center
Cheers, Dave
Can you pls share me the link for downloading the installation files for 8.7.1 ?
Thanks.
Hi Prasun
It depends; as an IBM customer, you can download it from Passport Advantage, assuming that you're suitably entitled.
If you're an IBM ISV/Business Partner, you can visit the Software Access Catalog, again if you're suitably entitled.
This may also help: -
Operational Decision Manager Download Documents
Cheers, Dave
Dear Dave
I know you were expert in BPM Administation.
I have interview this week i know you might taken and attended lot many interviews.
so please could you share the recurrent topics / interview questions you are aware off.
Thanks
Nethaji
Hi Nethaji
I'd start with the IBM BPM education roadmap, including Introducing IBM Business Process Manager and Administration of IBM Business Process Manager Standard V8.5.6.
In addition, there are plenty of Redbooks, including Business Process Management Design Guide: Using IBM Business Process Manager
Cheers, Dave
PS Good luck :-)
Hi Dave,
I am new to ODM. I was trying to configure profiles. I need to configure it with MSSQL.
I have created two profiles one for deployment manager and other for custom profile for application server. I augmented DMGR profile for Decision center and Decision server both. when I try to augment custom profile, it says in log file, it may be already augmented or profile does not exist. While augmenting DMGR profile, I have used properties files using configureDC/DS cluster command, properties files has all the MS SQL details, but it could not give any good news.
Do we need to augment custom profile for decision server and decision center?
Do we need to follow any order while augmenting?
What is the procedure to link it with MS SQL?
Can you please guide me?
Best Regards.
Arun
Arun ( Madhav ? )
The process is effectively the same, regardless of whether you're using DB2 or SQL Server ( assuming that SQL Server *is* supported ).
What exception do you see ?
Cheers, Dave
Dear Dave,
I executed :
was_bin> manageprofiles.bat -augment -templatePath "C:\IBM_INSTALL\IBMODM851\WebSphere\AppServer\profileTemplates\rules\default\ds" -dsHome "C:\IBM_INSTALL\IBMODM851\ODM851" -profileName AppSrvProfile
Response: "INSTCONFFAILED: Profile augmentation failed."
Above error I am getting while augmenting custom profile.
I am a bit confused, do we need to augment custom profile for decision server and decision center both?
Can you share some link which I can follow for MS SQL configuration?
Best Regards,
Madhav
Hi Madhav
It's my view that you augment the Deployment Manager profile to add DC and DS capabilities, as per these examples: -
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/rules/management/dc/
/opt/IBM/WebSphere/AppServer/bin/manageprofiles.sh -augment -profileName Dmgr01 -templatePath /opt/IBM/WebSphere/AppServer/profileTemplates/rules/management/ds/
Cheers, Dave
Hi Dave,
I have already augmented DMGR profile with DS and DC, is that enough? We dont need to create other profile?
How can we link MS SQL can you please guide?
Best Regards,
Madhav
Hi Madhav
Nope, in my view, you only augment the DM profile for the DC and DS capabilities.
Please refer to the ODM 8.5.1 documentation here: -
https://www.ibm.com/support/knowledgecenter/SSQP76_8.5.1/com.ibm.help.doc/kc_welcome.html
Cheers, Dave
Hello Dave , I followed the steps given by you and when i tried hitting a rule for testing I got below error
com.ibm.db2.jcc.am.SqlException: An error occurred during implicit system action type "2". Information returned for the error includes SQLCODE "-204", SQLSTATE "42704" and message tokens "DB2RES.EXECUTION_TRACES".. SQLCODE=-727, SQLSTATE=56098, DRIVER=3.61.65
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: "DB2RES.EXECUTION_TRACES" is an undefined name.. SQLCODE=-204, SQLSTATE=42704, DRIVER=3.61.65
Then I verified that table was not present under schema db2res. After looking into comments I ran one more command
>> db2 connect to resdb user db2res using db2res
>> db2 -tvf trace_db2.sql
After that i started getting different error as below
com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException: One or more values in the INSERT statement, UPDATE statement, or foreign key update caused by a DELETE statement are not valid because the primary key, unique constraint or unique index identified by "2" constrains table "DB2RES.EXECUTION_TRACES" from having duplicate values for the index key.. SQLCODE=-803, SQLSTATE=23505, DRIVER=3.61.65
Please suggest the way forward .
Hey Unknown (!)
Thanks for your comment and your interest
TBH I wrote that post back in 2015, and haven't worked with IBM ODM etc. since I moved out of Cloud Services in late 2018.
At a guess, you need to drop and recreate the RESDB.
However, I'd definitely suggest starting with the documentation e.g. Creating a schema for the Rule Execution Server database
Alternatively contact IBM Support and raise a support ticket.
If needed, I can have one of my former IBM Services colleagues contact you, if you/your client would prefer a chargeable engagement.
Cheers, Dave
Post a Comment