197 Lotus blogs updated hourly. Who will post next? Home | Blogs | Search | About 
 
Latest 7 Posts
Kubernetes 1.7 available in IBM Bluemix Container Service
Wed, Sep 20th 2017 14
Using openSSL on macOS to encrypt a file using a password
Wed, Sep 20th 2017 23
This time, it's about a freezer
Tue, Sep 19th 2017 42
Kubernetes and IBM Bluemix - again with the #HoldingItWrong
Tue, Sep 19th 2017 36
Testing JDBC Data Sources using Jython
Mon, Sep 18th 2017 49
Secure Identity Propagation Using WS-Trust, SAML2, and WS-Security
Mon, Sep 18th 2017 36
New Technology Demonstration: BPM Analytics
Fri, Sep 15th 2017 60
Top 10
New Technology Demonstration: BPM Analytics
Fri, Sep 15th 2017 60
Testing JDBC Data Sources using Jython
Mon, Sep 18th 2017 49
Transport Layer Security (TLS) 1.2 and SoapUI
Fri, Jun 12th 2015 43
This time, it's about a freezer
Tue, Sep 19th 2017 42
IBM API Connect - new newness
Mon, Sep 11th 2017 36
Secure Identity Propagation Using WS-Trust, SAML2, and WS-Security
Mon, Sep 18th 2017 36
Kubernetes and IBM Bluemix - again with the #HoldingItWrong
Tue, Sep 19th 2017 36
Executing external Python/Jython scripts from within WebSphere Application Server's wsadmin tool
Thu, Feb 27th 2014 34
Hmmmm, HTTP404 and SRVE0190E seen with IBM HTTP Server and WebSphere Application Server
Fri, Nov 14th 2014 33
IBM Redbook - Developing Node.js Applications on IBM Bluemix
Mon, Sep 11th 2017 31


ilog.rules.teamserver.model.IlrConnectException Caused by: java.lang.NullPointerException
Twitter Google+ Facebook LinkedIn Addthis Email Gmail Flipboard Reddit Tumblr WhatsApp StumbleUpon Yammer Evernote Delicious
   

As one of my many spinning threads, I've been tinkering with the migration of an IBM Operational Decision Manager (ODM) environment from version 8.0 ( circa 2012 ) to version 8.9 ( circa 2017 ).

In part, this involves running some SQL scripts to migrate the old data to the new environment.

This is especially relevant for the Decision Center, which is the Rules authoring environment, aka the Source Code Management (SCM) system-of-record.

The Decision Center, also known as the Team Server ( reflecting the product's heritage as iLog JRules ) or Rule Team Server or RTS, is based upon a database.

Therefore, the first step is to BACKUP the existing database ( RTSDB, in my case ) from the old/source system.

One benefit of the migration is that it's effectively side-by-side, meaning that you leave the old source system alone, and build a new, parallel environment into which the data ( Rules etc. ) is restored.

In my case, I'm using IBM DB2, but other databases are available.

The process is documented here: -


and here: -


and involves running a pair of Ant scripts against the existing database schema ( in my case, that's db2user1 ) resulting in a pair of SQL scripts that can then be executed against a new database schema ( in my case, that's db2user2 ) to migrate the roles AND data from one to t'other.

I was quite obviously doing something wrong, as I kept seeing exceptions such as: -

ilog.rules.teamserver.model.IlrConnectException
Caused by: java.lang.NullPointerException


in the Decision Center logs post migration.

It was, however, a PEBKAC - I was obviously doing it wrong.

Once I changed my approach: -

Restore backup of RTSDB - as db2inst1

db2 restore database RTSDB from /tmp

Connect as the instance owner - as db2inst1

db2 connect to RTSDB user db2inst1 using passw0rd

Grant the new schema - db2user2 - rights to the database - as db2inst1

db2 grant dbadm on database to user db2user2

Terminate the DB2 session - as db2inst1

db2 terminate

Connect as the new schema - as db2inst1

db2 connect to RTSDB user db2user2 using passw0rd

Run the provided script to create the necessary ODM tables, indices etc. - as db2inst1

db2 -tvf ~/rule-team-server.sql

- For the record, this SQL script is generated when one first logs into the Decision Center, so I just kept a copy :-)

Terminate the DB2 session - as db2inst1

db2 terminate

Start the Decision Centre cluster - as wasadmin

AdminControl.invoke('WebSphere:name=DecisionCenterCluster,process=dmgr,platform=common,node=Dmgr,version=8.5.5.11,type=Cluster,mbeanIdentifier=DecisionCenterCluster,cell=odmCell01,spec=1.0', 'start')

Log into the Decision Centre - as wasadmin


Follow the prompts to complete basic setup - extensions, locale ( I'm using en_GB as I'm a Brit ) etc. *BUT* avoid executing the generated SQL ( this has already been done ), as per this: -


At this stage, we've got a clean Decision Center database, ready to receive BUT with no roles or data migrated from the old environment: -


Set variables - as wasadmin

export ANT_HOME=/opt/ibm/ODM89/shared/tools/ant
export PATH=$PATH:/opt/ibm/ODM89/shared/tools/ant/bin
export JAVA_HOME=/opt/ibm/ODM89/jdk/jre


Run the Ant scripts to extract the roles and data for the old db2user1 schema - as wasadmin

cd /opt/ibm/ODM89/teamserver/bin

ant -DoldDatabaseSchemaName=db2user1 -Dserver.url=https://odm.uk.ibm.com:9443/teamserver -DrtsAdmin.login=wasadmin -DrtsAdmin.password=passw0rd -DoutputFile=/tmp/migrate_roles.sql gen-migration80-role

ant -DoldDatabaseSchemaName=db2user1 -Dserver.url=https://odm.uk.ibm.com:9443/teamserver -DdatasourceName=jdbc/ilogDataSource -DrtsAdmin.login=wasadmin -DrtsAdmin.password=passw0rd -DoutputFile=/tmp/migrate_data.sql gen-migration80-script

This results in a pair of SQL scripts: -

-rw-r--r-- 1 wasadmin wasadmins 79746 Jul 16 16:25 /tmp/migrate_data.sql
-rw-r--r-- 1 wasadmin wasadmins  9552 Jul 16 16:24 /tmp/migrate_roles.sql


Connect as the new schema - as db2inst1

db2 connect to RTSDB user db2user2 using passw0rd

Execute migration scripts - as db2inst1

db2 -tvf /tmp/migrate_roles.sql
db2 -tvf /tmp/migrate_data.sql


Terminate the DB2 session - as db2inst1

db2 terminate

Log into the Decision Centre - as wasadmin


C'est voila, we have a NEW ODM 8.9 Decision Centre with the project that was previously created on the OLD ODM 8.0 Decision Centre: -





---------------------
http://portal2portal.blogspot.com/2017/07/ilogrulesteamservermodelilrconnectexcep.html
Jul 16, 2017
11 hits



Recent Blog Posts
14
Kubernetes 1.7 available in IBM Bluemix Container Service
Wed, Sep 20th 2017 6:02p   Dave Hay
This arrived in my inbox today: -We're excited to announce that Kubernetes 1.7 is available for IBM Bluemix Container Service. You can now update your Kubernetes master and worker nodes to the latest supported version of Kubernetes by using either the Bluemix dashboard or the CLI.Kubernetes 1.7 available in IBM Bluemix Container ServiceThis is perfect timing for me, as: -(a) I'm reading and reviewing Kubernetes Microservices with Docker (b) I've been tinkering with DB2 and WebSphere Liberty P
23
Using openSSL on macOS to encrypt a file using a password
Wed, Sep 20th 2017 8:44a   Dave Hay
I had a requirement to share a file with a colleague, which I did using Box. However, I wanted to go one step further and encrypt the file BEFORE sharing.This is known, in some circles, as Pre-Internet Encryption (PIE), which is funny, because I like pie - fish pie, apple pie, mince pie, you name it :-)This is what I did: -Encrypt the fileopenssl enc -aes-256-cbc -in Patent.doc > Patent_enc.doc This example uses the AES-256-CBC cipher and requests a password, which is used, with the chosen bl
42
This time, it's about a freezer
Tue, Sep 19th 2017 2:14p   Dave Hay
So almost all of my blog posts are technical, and most involve some kind of IT and/or IBM product or service.,This time, whilst still technology, it's all about …. freezers.We recently took delivery of a Zanussi ZFT10210WA freezer, and hit a problem ….Specifically, it was a UI problem.More specifically, the UI didn't match the documentation.This is what the documentation has: -whereas the freezer looks more like this: -In other words, how can I set it to -16 degrees C when the Temperature
36
Kubernetes and IBM Bluemix - again with the #HoldingItWrong
Tue, Sep 19th 2017 1:27p   Dave Hay
So I saw this: -kubectl get nodesUnable to connect to the server: could not refresh token: unrecognized error {"errorCode":"BXNIM0408E","errorMessage":"Provided refresh token is expired","context":{"requestId":"4294322993","requestType":"incoming.Kube_Token","startTime":"19.09.2017 11:58:26:739 UTC","endTime":"19.09.2017 11:58:26:741 UTC","elapsedTime":"2","instanceId":"tokenservice_dal06/1","host":"localhost","threadId":"1955e0","clientIp":"146.90.21
49
Testing JDBC Data Sources using Jython
Mon, Sep 18th 2017 5:35p   Dave Hay
One of my colleagues asked me about this …In essence, did I have a Jython script that allows one to test JDBC data source …Here's one I prepared earlier: -testDataSource.jycellID = AdminControl.getCell()cell=AdminConfig.getid( '/Cell:'+cellID+'/')for dataSource in AdminConfig.list('DataSource',cell).splitlines(): print dataSource AdminControl.testConnection(dataSource)Notes: -- To support the FOR loop, there are indentations ( thanks Python, we love you ) in front of the last two line
36
Secure Identity Propagation Using WS-Trust, SAML2, and WS-Security
Mon, Sep 18th 2017 10:43a   Dave Hay
I'm reading this: -Secure Identity Propagation Using WS-Trust, SAML2, and WS-Security [PDF]in the context of Single Sign-on (SSO), via this: -SAML 2.0 VS. JWT: UNDERSTANDING FEDERATED IDENTITY AND SAML and: -The Anatomy of a JSON Web Token
60
New Technology Demonstration: BPM Analytics
Fri, Sep 15th 2017 10:12a   Dave Hay
This from my IBM colleague, Allan Chan: -…A new BPM Analytics technology demonstration is available to use with the latest IBM Business Process Manager. The latest version works with V8.5.7.0 CF201706 release at the end of June 2017. The original version worked with V8.5.7.0 CF201703 released on 31st March 2017....The key value of IBM Business Process Manager (BPM) is in streamlining custom enterprise business processes to better optimize service and cost. It does this namely through 1) custom
31
IBM Redbook - Developing Node.js Applications on IBM Bluemix
Mon, Sep 11th 2017 1:44p   Dave Hay
Developing Node.js Applications on IBM BluemixThis IBM® Redbooks® publication explains how to create various applications based on Node.js and run them on IBM Bluemix®. In this book, you will do the following activities: • Develop a Hello World application in Node.js, executing on IBM Bluemix. Through this activity, you can learn about these technologies: • IBM SDK for Node.js • Eclipse Orion Web IDE • Use asynchronous callback • Create an Express application • Build a rich u
36
IBM API Connect - new newness
Mon, Sep 11th 2017 12:33p   Dave Hay
From here: -What's new for this releasewhich is MERELY a subset of what's changed.So go and have a look …And/or download the update from IBM Fix Central here.
12
Node-RED on IBM Bluemix - Deleting Wires
Thu, Sep 7th 2017 11:58a   Dave Hay
So this caused me grief for a brief period, until I turned to Google :-)I am editing a flow in Node-RED on IBM Bluemix and wanted to delete a connection ( line ) between two nodes, as illustrated above.Now how the heck can I do this ? I tried clicking the right-hand mouse button( I'm using Chrome )but that wasn't too useful.I tried double-clicking on the offending connection .. no diceThen I turned to Google and found this: -How to move a wire in Node-RED from one node to another?which said, i




Created and Maintained by Yancy Lent - About - Planet Lotus Blog - Advertising - Mobile Edition