Wednesday, 30 July 2014

WebSphere Application Server - Migrating to 8.5.5

IBM WebSphere Application Server Migration Toolkit

The IBM®WebSphere®Application Server Migration Toolkit is a suite of tools and knowledge collections that enables your organization to quickly and cost-effectively migrate to WebSphere Application Server V7.0 through V8.5.5, whether from a previous version of WebSphere Application Server or competitive application servers including Apache Tomcat Server, JBoss Application Server, Oracle®Application Server, and Oracle WebLogic Server.

Knowledge Collection: Migrating to WebSphere Application Server V8.5

A focused compilation of links to documents and resources to help you plan and perform your migration to IBM WebSphere Application Server Version V8.5.

IBM Business Monitor 8.5.5 - My First Installation ....

.... failed rather spectacularly, mainly because I didn't read the manual :-)

So BAM 8.5.5 has a different approach to creating the configuration, rather than the previous installation, which used the IBM BPM Deployment Environment process.

So I installed the binaries: -

and then configured the clusters using the new scripted process: -

cd /opt/IBM/WebSphere/AppServer/scripts.wbm/monConfig
./ -c ~/ -d Dmgr01 -p passw0rd -u wasadmin

and then tried to start the clusters, one of which ( the Support cluster, which hosts Cognos ) failed with: -

[29/07/14 17:21:22:589 BST] 00000001 VariableExpan E   WSVR0244E: An undefined i.wbmCognosUrl product variable has been encountered in the value property of the /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/bam855Cell/resources.xml#J2EEResourceProperty_1406649536784 configuration object.
[29/07/14 17:21:22:591 BST] 00000001 ResourceMgrIm E   WSVR0017E: Error encountered binding the J2EE resource, CognosEndpoint, as resource/wbm/CognosEndpoint from /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/bam855Cell/resources.xml Undefined variable i.wbmCognosUrl

So I checked the resources.xml file: -

view /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/bam855Cell/resources.xml

which showed: -

      <resourceProperties xmi:id="J2EEResourceProperty_1406649536784" name="{}cognosServiceRootId.url" type="java.lang.String" value="${i.wbmCognosUrl}" description="Cognos end point setting" required="false"/>

The offending value actually comes from one of two files: -


wbmCognosUrl = "${i.wbmCognosUrl}"


wbmCognosUrl = $@i.wbmCognosUrl@

The root cause ?

(a) I did not read the manual
(b) I had not actually deployed / configured Cognos to the Support cluster :-)

The latter part of the solution is to actually run a script to deploy Cognos.

Here's an EXAMPLE from my own environment: -

/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/ -lang jython -user wasadmin -password passw0rd

AdminTask.wbmDeployCognosService('[-cluster monSupportCluster1 -dbName COGNOSCS -dbUserName cognos -dbUserPassword passw0rd -adminUserName wasadmin -adminPassword passw0rd]')

Once I did this, the Support cluster came up nicely :-)

Tuesday, 29 July 2014

IBM Installation Manager - Listing What's Available to Install

How to list what's available to install

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /tmp/Repo/BAM855/repository/repository.config

and with added detail: -

/opt/IBM/InstallationManager/eclipse/tools/imcl listAvailablePackages -repositories /tmp/Repo/BAM855/repository/repository.config -features : Monitor.Production,Monitor.NonProduction : core.feature,ejbdeploy,thinclient,embeddablecontainer,samples,, : db2exp.linuxia64.feature :

IBM BPM 8.5.5 - What goes where ?

Or, to be more precise, what applications sit on what cluster ?

Note that, in BPM 8.5.X, we only have three clusters; the old WebApp cluster has been morphed into the AppCluster, meaning that the need to "jump" across the cell via a load-balancer has gone away .....

This is what I've discovered thus far: -


Process Center

Process Admin

Process Portal

BPC Explorer


Nowt but the Messaging Engine :-)

Note that in BPM 8.5.X, we only have a single Service Integration Bus ( SIbus ) by default, with a single Messaging Engine.

Monday, 28 July 2014

More fun with BPM and DB Bootstrapping

If you see this: -

[28/07/14 15:13:24:354 BST] 00000072 wle           E   CWLLG2229E: An exception occurred in an EJB call.  Error: null
        at com.lombardisoftware.server.ejb.persistence.dao.TWAclEntryDAO.findByFilter(

[28/07/14 15:13:24:382 BST] 00000072 wle_servlet   E   CWLLG0011E: Caches did not initialize because of an unexpected exception.  Error: com.lombardisoftware.client.delegate.BusinessDelegateException: java.lang.NullPointerException

Caused by: com.lombardisoftware.core.TeamWorksException: java.lang.NullPointerException

when attempting to log into Process Center on a newly-minted BPM 8.5.5 environment, then you've probably forgotten to run the bootstrap process: -

/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/ -clusterName AppCluster

Can you say "Doh" ? I did ...

Problems with DBMS_LOCK on Oracle with IBM BPM Advanced

If you see this: -

[28/07/14 15:10:54:461 BST] 00000097 XmlBeanDefini I org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
[28/07/14 15:10:54:703 BST] 00000097 SQLErrorCodes I <init> SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
[28/07/14 15:10:54:731 BST] 00000097 wle_perf_load I   Error locking system table: ConnectionCallback; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00201: identifier 'DBMS_LOCK' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

                                 org.springframework.jdbc.BadSqlGrammarException: ConnectionCallback; bad SQL grammar []; nested exception is java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00201: identifier 'DBMS_LOCK' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

during the startup of an IBM BPM environment, when using Oracle, then you'll need to add an additional DB grant

GRANT execute ON DBMS_LOCK TO pdwuser;

as per this IBM Technote: -

which was written for BPM 7.5 and 8.0, but still appears to be relevant.

Of course, for all DB-related issues, check check check this with your DBA and, if needed, raise a PMR with IBM Support to validate that this is the RIGHT approach for your environment.

Thursday, 24 July 2014

How to run IBM Integration Bus v9 on SoftLayer Servers

This from my IBM Hursley colleague, Simon Holdsworth: -

In this article I will describe the steps I took to get IBM Integration Bus Version 9 installed and running on SoftLayer servers.  You might want to do this as part of establishing an off-premise cloud environment that includes integration capability, or for managing a pool of integration servers for development and testing.

This article shows how to set up a SoftLayer-hosted server and install and run software on it - in this case IBM Integration Bus - either through a traditional product install, or by using a Hypervisor Edition.  You can get everything working without leaving your desk, plugging in a cable or hitting a switch.