Friday, 27 September 2013

IBM Business Process Manager (BPM) and IBM Application Performance Management (APM) - Made To Go Together

One of my IBM UK colleagues gave us an excellent overview of IBM's Application Performance Management (APM) solution, particularly in the context of IBM BPM.

Application Performance Management (APM) provides enhanced visibility specifically into application performance.

With Application Performance Management, you can:

• Detect performance problems quickly enough to minimize, or preclude business impact via integrated capabilities.
• Simplify operations management to cost effectively manage the complete IT and network infrastructure.
• Monitor end-user experience to identify and remediate problems before users are impacted.

As I say, we were specifically interested in APM in the context of BPM, as illustrated by this excellent developerWorks article: -

IBM Business Process Manager (BPM) optimizes critical business processes - you cannot afford for those critical processes to go down or perform poorly. With increasingly complex, dynamic IT infrastructures, ensuring continuous availability and peak performance is increasingly difficult. IBM has the tools you need to ensure the optimized performance of your BPM solution and its underlying IT infrastructure.
The IBM Business Process Manager (BPM) and IBM SmartCloud Application Performance Management (SmartCloud APM) teams have delivered a new BPM monitoring solution that is available now in both SmartCloud APM v7.6 and ITCAM for Applications v7.2.

BPM performance problems or process failures can be the result of business level problems or IT resource problems. An existing BPM monitoring solution - IBM Business Monitor - provides monitoring related to the business efficiency and effectiveness of the process itself. It focuses on giving real time visibility into the results of the business processes.

The new SmartCloud APM 7.6 monitoring solution extends IBM's BPM monitoring support by focusing on the IT infrastructure that is supporting these business processes. If a problem is identified, you have the information that you need to identify the change you need to make to the infrastructure to ensure the availability and performance of business processes.

My colleague, Stephen, also made reference to this rather lovely APM demo site: -

Go on, have a play.

Let me know if you need to know more.

Tuesday, 24 September 2013

IBM Connections 4 - SPNEGO ain't working

This was a blast from the past for me, having been away from IBM Connections and WebSphere Portal for nearly a year.

I took a call from a customer with whom I worked in 2010-12, who was finding that SPNEGO-based Single Sign-On was NOT working for IBM Connections 4, even though it WAS working for WebSphere Portal 8, both of which run on WAS 8, and use the same Active Directory infrastructure.

In essence, they accessed any protected URL in Connections, but found that the HTTP 401 Authenticate/Negotiate response was never issued.

I made a few suggestions on the call, including referencing back to my Connections/SPNEGO/AD presentation: -

including enabling tracing to see what's going on.

I also raised a question about DNS and reverse lookups ( IP addresses to hostnames ) as I know that had caused a problem in the past.

Later in the day, I received an email from my customer, with some good news - he'd fixed it, and it's all now working.

They enabled tracing, and could see the following in the logs: -

[24/09/13 14:23:17:458 BST] 00000081 WebAuthentica <  handleSSO: (null) Exit
[24/09/13 14:23:17:458 BST] 00000081 WebAuthentica 3   handleSpnegoWebAuthentication was skipped.

which made no sense, as the URL was definitely protected, and yet they were falling back to the fallback login page: - 

[24/09/13 14:23:17:458 BST] 00000081 WebAuthentica >  handleCustomLogin Entry
[24/09/13 14:23:17:458 BST] 00000081 WebAuthentica 3   Form based login is configured for the resource
[24/09/13 14:23:17:458 BST] 00000081 WebAuthentica >  getFormURL Entry

When they accessed an unprotected URL ( one not being protected by SPNEGO ), they could see a log entry acknowledging that the URL was to be skipped.

They then removed all of the SPNEGO filters e.g.


 validating them by reformatting the list in Notepad, and then identified the problem - they had: -


rather than: -



Thanks to Dave and his team for sharing the problem and, better still, the solution :-)

Monday, 23 September 2013

Book Review - Shortcuts to Success: Project Management in the Real World - Second Edition

This is the second edition of Elizabeth Harrin's excellent book on project management, the first of which I read a few years back.

Whilst I've never been interested in switching disciplines per se, I find it useful to maintain a working knowledge of the Project Management profession, especially as I've worked with so many good PMs over the years, most recently since I've worked in SWG Services.

This is the second PM book that I've reviewed in the past few months, with John Turner's A Project in your Pocket here on the blog back in July.

In Shortcuts to Success, Elizabeth has provided a really useful cookbook for PMs of all levels, whether new to the profession, or experienced practitioners.

This is a relatively short book - ~200 pages - and is chock-full of references, case studies and quotations. Each short chapter is clear and concise, focusing on a specific area of the discipline. It's not quite pocket-sized, but I'm absolutely certain that there's an ebook version for the ebook readers out there.

The covers all the important aspects of project management, from budgeting, through scope and people management, to teaming, collaboration and documentation.

As you can imagine, with my background in collaboration, some of my favourite chapters include those that focus on mentoring, matrix management, collaborative document management, and experience sharing.

Each chapter includes one or more case studies, hence the "real world" title, which are used to illustrate the particular point that Elizabeth is seeking to make.

The book is clearly based upon experience, both of the author and the contributors, which makes it a useful reference into which anyone involved in project delivery can, and, in my view, should, dip.

I strongly recommend this book to anyone working in a project delivery role, regardless of age, discipline and experience.

BT Home Hub 3 and Cisco VPN - Clamp Those Ports, Baby

This morning, I was struggling to get a Cisco VPN client ( Version ) to connect to its target VPN server, even though I'd previously used it - ON A DIFFERENT NETWORK.

Thanks to a quick Google search, I found reference to a Port Clamping setting within my BT Home Hub's configuration screen: -

Once I enabled this ( no restart required ), it worked like a dream, and I was up and running in no time at all.

Thanks, Google :-)

Updating WAS JDBC Data Source Passwords - Don't forget to reboot

In the words of The IT Crowd ( back on for a final time on September 27 ), "Have you tried turning it off and on again?".

As part of a normal password expiration process, we needed to update the JDBC Data Source passwords ( actually, the Java2 Authentication Aliases = J2C Aliases ) for a BPM Standard 7.5.1Process Server installation.

Having changed the passwords, remembering to add a comment indicating when and who, I tested the JDBC data sources, which immediately failed with: -

The test connection operation failed for data source LocalZoneDB on server nodeagent at node gbrdsr000000918_base with the following exception: java.sql.SQLException: [jcc][t4][2013][11249][3.61.65] Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000DSRA0010E: SQL State = 28000, Error Code = -4,214. View JVM logs for further details.

The test connection operation failed for data source LocalZoneDB on server nodeagent at node gbrdsr000000917_base with the following exception: java.sql.SQLException: [jcc][t4][2013][11249][3.61.65] Connection authorization failure occurred. Reason: User ID or Password invalid. ERRORCODE=-4214, SQLSTATE=28000DSRA0010E: SQL State = 28000, Error Code = -4,214. View JVM logs for further details.

Hmmm, I thought - what have I missed ?

Initially, I restarted the Deployment Manager ( from where I was running the Test Connection ), but to no avail.

I then checked and rechecked the passwords that I'd entered via the Integrated Solutions Console GUI, by comparing them to the encoded passwords here: -


and confirmed that they were all exactly as I'd intended to enter them.

I then asked the DBA to validate the passwords; again, they worked perfectly ( he was testing from the DB2 server using su - for the respective user ID ).

Finally ……

I restarted the Node Agents :-)

And…. guess what ….. ?

It worked.

Why, I hear you cry ?

Because the JDBC Data Source Test Connection process, whilst initiated by the Deployment Manager, actually runs in the Node Agent JVM, hence the need for the restart :-)


Thursday, 19 September 2013

IBM BPM Standard - Problem importing snapshots into a Process Server

So I've been doing a lot of work with BPM snapshots and scripting recently.

This time around I was looking to install a snapshot to an offline Process Server, as follows: -

$ cd /opt/IBM/WAS/wasadmin1/app/profiles/dmgr/bin
./ -host -port 43003 -user tw_admin -password passw0rd -lang jython -p /home/wasadmin1/davehay_soap_override.props
wsadmin> AdminTask.BPMInstallOfflinePackage('[-inputFile /home/wasadmin1/]')

 which (sadly) failed with: -

WASX7015E: Exception running command: "AdminTask.BPMInstallOfflinePackage('[-inputFile /home/wasadmin1/LendingR2R3.twx]')"; exception information:
java.lang.Exception: java.lang.Exception: java.lang.NullPointerException

Want to know what was wrong ?

I was trying to install the actual TWX file, rather than the ZIP file that contains the TWX file ( as generated by BPMCreateOfflinePackage and BPMExtractOfflinePackage ).

What a muppet :-)

Featured documents for the IBM Business Process Manager products including WebSphere Process Server, WebSphere Enterprise Service Bus, and WebSphere Lombardi Edition

Again, this popped into my inbox, following an interaction with IBM Support over a PMR for the IBM BPM product: -

This document features the most requested documents as well as those identified as valuable in helping answer your questions related to the IBM Business Process Manager (BPM) products including WebSphere Process Server (WPS), WebSphere Enterprise Service Bus (WESB), and WebSphere Lombardi Edition (WLE).

In the Spotlight 

• Follow IBM_BPM on Twitter! 
Follow us to receive timely updates on IBM Business Process Manager products, WebSphere Process Server, WebSphere Enterprise Service Bus, and WebSphere Lombardi Edition. Over 3,000 Twitter accounts already follow us. Do you? The following information was in some of our top tweets:
IBM Business Process Management V8.5 products are available 
The IBM Business Process Management V8.5 suite of products are available as of June 14, 2013. Download the files by clicking the links in this document.
Data querying takes a long time and process server database tables are using too much disk space with WebSphere Lombardi Edition (WLE) and the IBM Business Process Manager (BPM) products 
You see long query times on business process definition (BPD) and Task tables, and your process server database tables are occupying too much disk space.
Configuring SSL for IBM Business Process Manager (BPM) V7.5.x 
The Information Center is missing a description of the steps to configure Secure Sockets Layer (SSL) communication between product components.
How can I delete a large number of failed events at once for WebSphere Process Server (WPS)? 
The Failed Event Manager (FEMgr) shows a large number of failed events. The failed events must be deleted. Using the "Clear All" button in the Failed Event Manager application, different exceptions (transaction timeouts, OutOfMemoryExceptions etc.) occur. A smaller number of failed events can be selected and deleted at once without problems.
• Follow the IBM Business Process Management Products Support Blog! 
This blog provides technical information for the business process management family of products. The following blog entries represent some of the recent entries in the blog. You might want to check them out!

Wednesday, 18 September 2013

IBM BPM - Getting a list of installed Toolkits

My client asked me how they could get a list of installed Toolkits without needing to paste through pages of UI.

I checked the IBM BPM Information Center: -

specifically: -

which provides the following REST endpoint URL: -


I tried this on one of our Process Center boxes: -

and got back an XML document listing all of the toolkits: -

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <bpm:ResponseData xmlns:bpm="" xmlns:ex="">
- <data xmlns:xsi="" xmlns:sys="" xsi:type="sys:ProcessApps">
- <processAppsList>
  <name>System Data</name>
  <description>Teamworks System Data</description>
- <processAppsList>
  <name>Processes and Tasks</name>
  <description>A toolkit for interfacing with the Javascript API for retrieval of generic information about Processes Instances and Tasks.</description>
- <processAppsList>


which is useful.


Featured documents for IBM WebSphere Application Server

This list kindly popped up in my in-box today, thanks to IBM Support, following an interaction I'd had with them regarding a Problem Management Report (PMR).

Here's a snippet: -


This list features the most requested documents as well as those identified as valuable in helping answer your questions related to IBM WebSphere Application Server. The list will be updated periodically to reflect new trends and issues.

In the Spotlight 

• 11 September 2012 UPDATE: End of Support for WebSphere Application Server 6.1 is now 30 Sept 2013 

This is a reminder of the upcoming WebSphere Application Server V6.1 products' End of Support date of 30 September 2013.

• So you didn't migrate from WAS V6.1? Now What? 

This blog outlines the options you have available from IBM in terms of migrating (upgrading) to a new version or obtaining a support extension (SE).

• Security Bulletin: Potential Security Vulnerabilities fixed in IBM WebSphere Application Server 8.5.5 

Cross reference list for security vulnernabilities fixed in IBM WebSphere Appplication Server Fix Pack 8.5.5

• Security Bulletin: Potential Security Vulnerabilities fixed in IBM WebSphere Application Server 

Cross reference list for security vulnerabilities fixed in IBM WebSphere Application Server Fix Pack

The full document is here: -

Tuesday, 17 September 2013

Storing transaction and compensation logs in a relational database for high availability

This is something about which I've been reading recently.

I was semi-aware that WebSphere Application Server 8.5.5 offers the option to store transaction and compensation logs in a relational database rather than as operating system files, providing high availability (HA) support without having to use a shared file system.

However, a colleague also pointed out that this functionality has been retrofitted into WAS 8.0 via Fixpack 7 ( ), as per the Information Center here: -

Case study: Tuning WebSphere Application Server V7 and V8 for performance

This is relatively old ( 2011 ) but good: -

Summary:  IBM® WebSphere® Application Server supports an ever-growing range of applications, each with their own unique set of features, requirements, and services. Just as no two applications will use an application server in exactly the same way, no single set of tuning parameters will likely provide the best performance for any two different applications. Most applications will generally realize some performance improvement from tuning in three core areas: the JVM, thread pools, and connection pools. This article uses the Apache DayTrader Peformance Benchmark Sample application to demonstrate what you can tune and how to go about tuning it, depending on the major server components and resources that your application uses. Updated for WebSphere Application Server V8. This content is part of the IBM WebSphere Developer Technical Journal.

Monitoring business processes: How your topology influences your monitoring approach

This popped up in Twitter, from IBM developerWorks: -

Summary:  IBM® Business Process Manager and IBM Business Monitor can work in concert to provide superior visibility and process performance insight. Choosing the appropriate deployment topology is an important step in any project that involves combining these products. Different topological choices may influence the development and deployment process of the application artifacts created for IBM BPM and IBM Business Monitor. This article describes the topological options that are available, their trade-offs, and how you need to plan for development and deployment depending on the topology you adopt.

Definitely worth a read if you have an interest in, or requirement for, Business Activity Monitoring (BAM).

Monday, 16 September 2013

Exporting large applications from IBM Business Process Manager (BPM) might take over an hour

Saw this on Twitter last week: -


When you export a very large application or export from a very active process center, the export time might take over an hour. The export process might even fail or result in an incomplete file.

Diagnosing the problem

Check the following key points to resolve this problem:

• Verify that the user, who is exporting the application, is a local user or LDAP user.
• Examine the row count size of the LSW_PO_VERSIONS table.
• Obtain a list of indexes in the LSW_PO_VERSIONS table.
• Obtain the current size of the buffer cache and the shared pool size for the database.

Resolving the problem

There are several resolutions to this problem. You might need to address one or all of the following resolutions to decrease the time to export an application:

• If a local user export is faster, apply the fix for APAR IC91473, which is available through the following links in Fix Central:
• IBM Business Process Manager Standard
• IBM Business Process Manager Advanced

• The growth of the LSW_PO_VERSIONS table is normal and expected. When the row size reaches 2 million rows or more, the time to export an application can increase. Each save to an asset in the process designer is a new row in this table. The following indexes can assist with the speed of the export process. Add the indexes and have the database server process these indexes before running the export process again.

• The database also needs to have adequate cache space. The buffer cache should be 2 GB or more. The shared pool size should be 1 GB or greater.

This is definitely worth a look …..

Friday, 6 September 2013

Configuring cross data center BPM deployment environment to achieve faster disaster recovery

Thanks to @WAS_John for sharing this with me: -

This article describes an infrastructure topology for IBM® Business Process Manager that includes elements that reside in distinct data centers that may be geographically separated from each other. Such a topology can be useful in achieving disaster recovery objectives in certain circumstances, especially when recovery times faster those offered by traditional approaches are desired. Additionally, the strategy described in this paper uses Oracle®'s Data Base File System (DBFS) to enable the database manager to control replication of the WebSphere® transaction and compensation logs, as well as traditional IBM BPM database content. This content is part of the IBM Business Process Management Journal.

Wednesday, 4 September 2013

From the coal face - IBM BPM - Tracing Process Center to Process Server communication

A friend of mine was having fun and games with the installation of a BPD snapshot from his Process Center to a connected Process Server, via HTTPS.

The solution to the problem was to ensure that he had: -

<deploy-snapshot-using-https merge="replace">true</deploy-snapshot-using-https>

in 99Local.xml ( or, better still, the overriding 100Custom.xml ) on BOTH the Process Center and Process Server cells.

However, on the voyage of discovery, he realised that he could learn a LOT about the way that the process works by enabling JVM-level tracing.

The particular trace strings that made a difference were: -*

and: -


Nice :-)

IBM Update Installer for WebSphere Software - Problem updating IBM HTTP Server 6.1

One of my colleagues had some fun and games upgrading IHS yesterday, using the IBM Update Installer for WebSphere Software.

He was trying to update IHS 6.1 to the latest Fixpack 45 level.

This is what he saw in the Update Installer logs: -

(Sep 3, 2013 10:04:51 AM), Install,, msg1, Selected Maintenance Package Path: /opt/IBM/WebSphere/UpdateInstaller/maintenance/Fixcentral-6.1.0-WS-IHS-LinuxX64-FP0000045.pak
(Sep 3, 2013 10:04:51 AM), Install,, msg1, ********************************************************************************
(Sep 3, 2013 10:04:51 AM), Install,, msg1, Information for the current install/uninstall operation.
(Sep 3, 2013 10:04:51 AM), Install,, msg1, ********************************************************************************
(Sep 3, 2013 10:04:51 AM), Install,, msg1, Current Operation: install
(Sep 3, 2013 10:04:51 AM), Install,, msg1, Product Location: /opt/IBM/HTTPServer
(Sep 3, 2013 10:04:51 AM), Install,, msg1, Product Name: null
(Sep 3, 2013 10:04:51 AM), Install,, msg1, Prereq Check Messages:
(Sep 3, 2013 10:04:51 AM), Install,, msg1, Maintenance Package Path: /opt/IBM/WebSphere/UpdateInstaller/maintenance/Fixcentral-6.1.0-WS-IHS-LinuxX64-FP0000045.pak
(Sep 3, 2013 10:04:52 AM), Install,, msg1, Current install/uninstall process failed.
(Sep 3, 2013 10:04:52 AM), Install,, msg1, CWUPI0000I: EXITCODE=1
(Sep 3, 2013 10:04:52 AM), Install,, msg1, For more information on installing components, see the following trace file:
(Sep 3, 2013 10:04:52 AM), Install,, msg1, For more information on running configuration commands, see the following trace file:
(Sep 3, 2013 10:04:52 AM), Install,, msg1, INSTCONFFAILED

When he looked at the more detailed log - /opt/IBM/HTTPServer/logs/update/unknown/updatetrace.log.gz - he saw more of the same: -

2013.09.03 10:04:50.568 EDT I IBM Update Installer for WebSphere Software
2013.09.03 10:04:50.614 EDT NIFRegistryPlugin.getNIFRegistryURI()
Use normal algorithm to get nifregistry path.
2013.09.03 10:04:50.614 EDT NIFRegistryPlugin.getNIFRegistryURI()
NIFRegistryPath: /opt/.ibm/.nif/.nifregistry
2013.09.03 10:04:50.615 EDT NIFRegistryPlugin.getNIFRegistryURI()
NIFRegistryURI: file:///opt/.ibm/.nif/.nifregistry
2013.09.03 10:04:50.682 EDT NIFRegistryPlugin.doesNIFRegistryFileExist()
NIFRegistry file exists under location: file:///opt/.ibm/.nif/.nifregistry
2013.09.03 10:04:50.682 EDT NIFRegistryPlugin.doesNIFRegistryFileExist()
NIFRegistry file exists under location: file:///opt/.ibm/.nif/.nifregistry
2013.09.03 10:04:51.201 EDT I Scanning metadata under the target location ......
2013.09.03 10:04:51.272 EDT I Selected Maintenance Directory / Packages:/opt/IBM/WebSphere/UpdateInstaller/maintenance/Fixcentral-6.1.0-WS-IHS-LinuxX64-FP0000045.pak
2013.09.03 10:04:51.425 EDT I Fixcentral-6.1.0-WS-IHS-LinuxX64-FP0000045.pak is installed.
2013.09.03 10:04:51.426 EDT I No maintenance package is selected.
2013.09.03 10:04:51.442 EDT I ********************************************************************************
2013.09.03 10:04:51.444 EDT I Selected Maintenance Package Path: /opt/IBM/WebSphere/UpdateInstaller/maintenance/Fixcentral-6.1.0-WS-IHS-LinuxX64-FP0000045.pak
2013.09.03 10:04:51.546 EDT I ********************************************************************************
2013.09.03 10:04:51.549 EDT I Information for the current install/uninstall operation.
2013.09.03 10:04:51.550 EDT I ********************************************************************************
2013.09.03 10:04:51.551 EDT I Current Operation: install
2013.09.03 10:04:51.552 EDT I Product Location: /opt/IBM/HTTPServer
2013.09.03 10:04:51.554 EDT I Product Name: null
2013.09.03 10:04:51.556 EDT I Prereq Check Messages:
2013.09.03 10:04:51.559 EDT I Maintenance Package Path: /opt/IBM/WebSphere/UpdateInstaller/maintenance/Fixcentral-6.1.0-WS-IHS-LinuxX64-FP0000045.pak
2013.09.03 10:04:52.332 EDT I Current install/uninstall process failed.
2013.09.03 10:04:52.335 EDT SettleNIFRegistryAction.execute()
Current install/uninstall process failed.
2013.09.03 10:04:52.337 EDT I CWUPI0000I: EXITCODE=1
2013.09.03 10:04:52.346 EDT I For more information on installing components, see the following trace file:
2013.09.03 10:04:52.348 EDT I For more information on running configuration commands, see the following trace file:
2013.09.03 10:04:52.348 EDT I INSTCONFFAILED

again with nothing overly obvious.

Noting that he was using version of the IBM Update Installer for WebSphere Software, I suggested that he consider updating the Update Installer itself.

This he did, downloading the most recent version - IBM Update Installer V7.0.0.29 for WebSphere Software for Linux - and tried again.

This time, it worked.

It's not obvious why it failed, but the moral of the story is …. update your Update Installer before updating your WebSphere software products :-)

PS Of course, with IHS 8 ( and all of the WAS 8 family ), updates are now handled by IBM Installation Manager, so the story is slightly different.