Tuesday, 3 March 2015

IBM Operational Decision Manager 8.7 - An installation in a few steps

Following on from my previous post: -


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>


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

Diagnostics View


REST API tool


Hosted Transparent Decision Service


Deployment Manager


24 comments:

  1. 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

    ReplyDelete
  2. 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.

    ReplyDelete
  3. 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.

    ReplyDelete
  4. 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

    ReplyDelete
  5. 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

    ReplyDelete
  6. Dear Dave,

    Perfect Sir thanks a lot for u r url :).
    your blogs increased my knowledge in odm.

    Regards,
    Nethaji

    ReplyDelete
  7. Hi Nethaji, glad to be of service, Sir :-)

    ReplyDelete
  8. 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

    ReplyDelete
  9. 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

    ReplyDelete
  10. Can you pls share me the link for downloading the installation files for 8.7.1 ?
    Thanks.

    ReplyDelete
  11. 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

    ReplyDelete
  12. 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

    ReplyDelete
  13. 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

    ReplyDelete
  14. 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

    ReplyDelete
  15. 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


    ReplyDelete
  16. 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

    ReplyDelete
  17. 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

    ReplyDelete
  18. 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

    ReplyDelete
  19. 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 .

    ReplyDelete
  20. 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

    ReplyDelete