Saturday 28 December 2013

Old but good - Messaging with WebSphere Application Server 7.0

Whilst looking for something completely different, I found these two useful articles on the Packt Publishing website: -

They date from 2009, but provide a good summary on: -

• Java messaging
• Java Messaging Service (JMS)
• WebSphere messaging
• Service integration bus (SIB)
• WebSphere MQ
• Message providers
• Queue connection factories
• Queue destinations

Definitely worth a look ….

Shrinking .WAV files to keep an AOL user very happy

Having rebuilt my aunt's PC over the Christmas break, upgrading her ( well, the PC ) from Windows XP SP3 to Windows 7 SP1, I also needed to install her favourite AOL desktop.

The AOL software has a nifty feature where it "talks" to the user when you start the software ( "Welcome to AOL" ), and when you log on ( "You have email" ).

My aunt prefers the dulcet tones of Joanna Lumley ( and, as a big Joanna fan, I can't say I blame her ), whereas AOL seem to think that a butch ( and quite fake-sounding ) US accent is much better.

Thankfully, having hit this problem ( when I upgraded here from Windows 98 to Windows XP ), I'd made a backup of the Joanna voices.

Sadly, when I tried to add the backed up voices ( .WAV files ) into the new AOL 9.7 desktop software, it whinged because the .WAV files were greater than 60 KB in size.

Thankfully, Google had the answer: -

In short, it was a simple matter of downloading/installing Audacity, opening up each of the .WAV files and then saving them in monaural format, thus shrinking them below 60 KB.

Seemples, as Aleksander would say :-)

Monday 23 December 2013

The British Mac meat-up

So I did something slightly unusual over the weekend - but that's another story :-)

On Saturday, we drove, through typical British winter weather of strong wind, driving rain ( why do they call it driving rain, when it's weather in which nobody wants to drive ) and a lake also known as the M4, from Hampshire to Shropshire.

The purpose of our journey ? Well, apart from shopping in Telford ( not too impressed ) and Shrewsbury ( lovely old market town, similar to Salisbury and Winchester ), we were there to attend my first ever podcast-in-person, British Mac.

I've participated in podcasting before - I was fortunate to be a guest on This Week in Lotus a few times, and have also recorded an episode for an IBM internal podcast.

However, this was the first time that I'd actually participated in a podcast recording live, in meat-space ( hence the surreal title of this post ).

Will Green, aka @BritishMac was kind enough to host the evening's event, at his studio-cum-den in the wilds of Ironbridge ( a place to which I will definitely return, not having been there since the late 70s or early 80s ).

Will supplied beer, wine, snacks and, perhaps as importantly, heat - whilst the weather was lashing the countryside, we were snug and warm.

I'd estimate that there were about 20 of us huddled around the studio, whilst Will did his usual professional job of hosting the podcast, with the regular features - Apple News, The Rumour Mill, The Pussycat Club, the Old Mac and Mouse etc.

The discussion was varied and interestingly diverse - more importantly, there was a level of interaction that one doesn't usually experience from a podcast ( where there's typically 1-3 people participating ).

It'll be interesting to see how it comes out post-edit, but it was definitely an experience that I'd be more than happy to repeat.

The post-podcast pints, plus a curry at a local eatery, and a few wee drams to round off the evening, also helped to emphasise the social nature of podcasting.

In summary, despite the weather ( which actually got better for a while on Saturday as we headed north and west ), it was an excellent experience, and I was proud and thrilled to be able to participate.

Thanks, Will and assorted guests, it's been emotional :-)

Friday 20 December 2013

IBM Business Monitor and IBM Business Process Manager: Together or Separate?

From the developerWorks IBM BPM Support Blog: -

The starting point for any architectural decision is the requirements whether functional or non-functional. We focus primarily on solving the client's problem. However, we have a duty to show the client what the implications are of each decision regarding the environment, administration, maintenance, migration, and resources management that are required for each solution so that the client is provided with tools to assist in decision-making. Sometimes, the client has restrictions or preconceived ideas about the product that should be addressed during the requirement mapping, analysis, and architecture definition.

The goal of this article is to discuss the role of IBM Business Monitor to monitor the IBM Business Process Manager and other sources. Thinking about some aspects of the IT infrastructure, we have some important points that we must consider when you install and configure these products. These points should be considered as you move forward so they have minimal impact to your business.

Wednesday 18 December 2013

Suppressing HTTP headers from WebSphere Application Server

Following on an earlier post: -

I've had a request to suppress the version of WebSphere Application Server (WAS) being returned from, in this case, an IBM BPM environment.

I've documented the process on Slideshare here: -

In short, it involves setting one or other of the following custom properties: -

ServerHeaderValue – Allows Server Header to be set to a custom string
RemoveServerHeader – Allows Server Header to be completed removed

at the Web Container layer within the WAS configuration.

Hope this is of some help.

Tuesday 17 December 2013

What if your car could communicate with you?

Two rather interesting posts from one of my IBM colleagues, John Samuel: -

Well I don't mean actually speak to you—that would be freaky. Imagine you're driving along and the car starts speaking—that would put me off from driving slightly!

Monday 16 December 2013

Integrating a business process application in IBM Business Process Manager V7.5.1 and V8 with an external system using the REST API

This from IBM developerWorks: -

This article discusses integrating activities with an external system using the REST API. IBMBusiness Process Manager V7.5.1 and V8 support all the functionality provided by the unsupported REST API available with WebSphere Lombardi Edition V7.2.


In IBM Business Process Manager (BPM), you define and implement the activities, such as steps, that must be carried out to complete a business process. This article discusses integrating activities with an external system using the REST API. With the release of Business Process Manager V7.5.1, you can now use all of the functionality that was provided by the unsupported REST API for WebSphere Lombardi Edition V7.2. For more information about the REST API for Lombardi Edition V7.2, see 
Common business process modeling situations in WebSphere Lombardi Edition V7.2, Part 2: Integrating a business process application with an external system using the REST API.

Wednesday 11 December 2013

Process Designer and Internet Explorer 8 - Enabling native XMLHTTP support in Windows XP

Caveat : This article references using the Windows XP Registry Editor ( RegEdit ) - this is fraught with risk; if in doubt, do NOT follow this tip. Typically, the better way of resolving this issue is to work with your organisation's Windows administrators, perhaps via a Group Policy Object (GPO) in Active Directory.

From the BPM 7.5 Information Centre: -

Process Center Console and Process Admin Console might require additional security configuration. If you are using Internet Explorer V8 or V9, the browser might respond with security related errors. If your browser returns security related errors, perform the following actions:
• For Internet Explorer V8, make sure that the Enable native XMLHTTP support option is selected. Navigate to Tools > Internet Options > Advanced > Security.
• For Internet Explorer V9, add the Process Center Console and Process Admin Console URLs to the set of trusted sites. Navigate to Tools > Compatability view settings.

The trouble is that, if you're running a locked-down non-admin. installation of Windows, this option is NOT available to you.

My client managed to solve this by adding the following registry entry: -

Location: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Internet Explorer\Main
Value: 1

Caveat: Again, this MAY not work for you. If in doubt, please please please consult your organisation's Windows/AD administration team.

Friday 6 December 2013

WebSphere Portal 6.0 - "Domain jcr is wrong"

One of my former colleagues, from the IBM Software Services for Collaboration (ISSC) team pinged me on Sametime yesterday, asking a question about WebSphere Portal 6.0 - which is, for me, a definite blast for past ( circa 2006 ): -

I have a portal 6.0 question - we get an error after updating for oracle to point to a jcr db we copied from another server.  

we just edited the properties file then ran connect-database-validate-jcr and it ended as "domain jcr is wrong". No idea where it is getting stuck.  

That didn't strike any chords with me, and I asked whether the error message was written correctly, as I couldn't find any reference to similar problems online, including the IBM Problem Management Report (PMR) database.

She kindly responded later in the day with the solution, as she'd discovered a similar issue in a developerWorks forum article: -

where the original poster was seeing: -

file:../config/actions/validation.xml:160: Wrong usage of the sqlproc task! - wrong dbtype: db2

The most excellent Hunter Tweed responded: -

This message usually means one of the required properties in or is missing. The typical cause here is if it's been accidentally erased from the file or commented out.

which led my colleague, Amy, to the resolution.

She subsequently posted: -

Hi - we had a similar issue with the error being returned "file:../config/actions/validation.xml:127: Wrong usage of the sqlproc task! - domain jcr is wrong"

We finally figured out what the problem was:  In, we had "Jcr.DbSchema=xxxx" rather than "jcr.DbSchema=xxxx" and as soon as we switched to lower case jcr, it was fine!

Bottom line; the parameter jcr.DbSchema=xxxx had been written as Jcr.DbSchema=xxxx :-)

Thanks to Amy for demonstrating the power of collaboration :-)

Mac OS X - Creating a "Send To"-like behaviour in Finder

Yesterday, I was looking for a mechanism to allow me to send a file as an attachment via email, directly out of Finder.

After a quick Google search, I found a useful article here: -

Five customized Automator services to help save you time

which included the required Automator script - Attach to Mail - which gave me this: -

Thursday 5 December 2013

IBM developerWorks - New IBM BPM Articles

Two new articles, from the IBM Business Process Management Journal.

Troubleshooting IBM Business Process Manager

Troubleshooting BPM issues can be complex without the correct tools and techniques. This article describes a set of tools and techniques suggested by the IBM® BPM SWAT and Support team to help you with problem determination for IBM Business Process Manager.

IBM® Business Process Manager is a stateful product that accumulates data over time. As with any stateful product, it's essential to its ongoing health to have a strategy for purging some of that state occasionally. This article explores the areas of IBM BPM where data is collected and the methods that exist today to purge that data.

Book Review - Introduction to Computation and Programming Using Python by John V Guttag

As per previous book reviews, this is one that I've written for the British Conputer Science (BCS) : -

I chose to read and review this book purely based upon the title, rather than doing my normal level of research. I was interested in learning more about the Python language, partly because I use Jython on a regular basis ( Jython is an implementation of Python, written in Java ).

This book should not be considered as an introduction to Python; it is, in fact, precisely what the title suggests - an introduction to computation and programming using Python.

The difference may sound quite subtle, and perhaps a bit negative. That is the precise opposite of what I want to suggest - this is an excellent book; one that I would have dearly loved to have when I first started to learn the subject of computer science back in the 1980s.

Had I done my research more fully, I would have read this paragraph, which clearly outlines the purpose and content of the book: -

This book introduces students with little or no prior programming experience to the art of computational problem solving using Python and various Python libraries, including PyLab. It provides students with skills that will enable them to make productive use of computational techniques, including some of the tools and techniques of "data science"for using computation to model and interpret data.

The book begins by introducing Python, including the basic elements of the language, including objects, expressions, typing, variables, branches and strings. Much of this is very translatable to other languages, and would be useful to anyone learning the basic fundamentals of computer programming, regardless of the language.

It then continues to explain the fundamentals of programming, including functions, abstraction, testing, debugging, exception handling, and object-oriented (OO) programming.

At that point, the book then dives into the science element of computer science, including algorithmic complexity, probability theory, graphing, and statistical analysis.

At every stage, the author provides copious examples of how each particular problem can be illustrated / solved using Python, using the building blocks introduced in the early chapters.

In its entirety, the book should be considered as an excellent introduction to computer science and programming - as mentioned previously, I'd have loved to have this book when I started out in Information Science some thirty years ago.

However, if one's objective is to learn Python, it will be necessary to supplement this book with some specific Python tutorials, although the first few chapters will definitely help to establish context and understand the fundamental building blocks of the language.

Even one such as I, who has been working in the IT industry for nearly thirty years, found a huge amount of value from this book, as much of the content provided some good reminders of things that I'd since forgot, including probability and statistical analysis.

In conclusion, I can strongly recommend this book provided that one reads the title in full, and understands that it is a manual for budding computer scientists, as much as an introduction to the Python programming language.

My rating - 9/10 - purely because I didn't do my research, so the book didn't fully my expectations - I was looking for an introduction to Python, rather than an introduction to Comp. Sci.

Wednesday 4 December 2013

Windows on a Mac - Booting a Windows XP VM into Safe Mode using VMware Fusion

I was struggling to do this earlier today - I wanted to boot WinXP into safe mode, inside a VM running in Fusion on my Mac.

Ordinarily, I'd press [F8] but that doesn't work too well :-(

I then tried to use VMware itself - Virtual Machine > Send Key > F8.

Thanks to this article: -

Caution: Depending on your problem, following this procedure may remove a software environment that is required to test the health of your operating system.

• Restart the operating system or power off and power on the computer. 
• When the computer starts, press and hold F8.

• Depending how your keyboard is configured, you may need to press fn+F8 rather than just F8.
• You may see a series of messages that display information about hardware and memory. This is called POST information. If you see POST information, you do not need to press F8 until the screen goes black. Make sure the mouse focus is inside the virtual machine by clicking inside the console window and that you press F8 in a timely fashion. Windows can boot very rapidly, and it may take several attempts to catch the Safe Mode screen. To delay the POST information screen, see this knowledge base article Accessing the BIOS when the POST screen clears too quickly (KB 1004129)

You are presented with a text menu of boot options.

Note: If you do not see this text menu and Windows boots normally, repeat steps 1-2.

• Select a safe mode and press enter.

• If the operating system issues involve networking, select Safe Mode with Networking.
• If the operating system issues do not involve networking, select Safe Mode.

In short, [fn] [F8] works for me :-)

Tuesday 26 November 2013

IBM Notes and Microsoft NTLM Authentication

This is from one of my friends / customers, James, who's a keen Notes/Citrix guru: -

"W3ContextNtlmMode=1" in NOTES.INI works a treat! With the Notes client now able to talk NTLM, we can now have the Notes application in question in-line rendering images from a remote Microsoft IIS server (which stores customer signatures captured on a pad)!

James also pointed out out that there's a useful IBM Technote that outlines some of the challenges with Notes and NTLM, including: -

The main point is that Microsoft proxies that use NTLM (Windows domain authentication / Microsoft security's protocol) is not supported. The protocol is a proprietary protocol (much like NRPC) that Microsoft uses in its suite of products (IE, Outlook, Windows login).

and: -

The only workaround for this is to disable NTLM authentication.

IBM Business Process Manager - 8.0.1 - Fixpack 2

I've been maxed out with IBM BPM recently, but did note that Fixpack 2 ( aka ) has been released for IBM BPM 8.0.1.

Here's some more detail about the upgrade and the process: -

Something for the weekend …...

Sunday 3 November 2013

Applying an iFix to IBM BPM using the Command Line

Following on from this post: -

I've just gone through the process to install the iFix - JR46822 - to one of our IBM BPM Standard Process Center environments.

This is what I did: -

Stop Clusters, Node Agents and Deployment Manager

List What's Installed

/opt/IBM/WAS/wasadmin1/app/InstallationManager/im/eclipse/tools/imcl listInstalledPackages

 returns: -

List Available Fix(es)

$ /opt/IBM/WAS/wasadmin1/app/InstallationManager/im/eclipse/tools/imcl listAvailableFixes -repositories /tmp/\-WS\-BPM\-IFJR46822

returns: -

Install the iFix

$ /opt/IBM/WAS/wasadmin1/app/InstallationManager/im/eclipse/tools/imcl install -repositories /tmp/\-WS\-BPM\-IFJR46822 -installationDirectory /opt/IBM/WAS/wasadmin1/app/WebSphere

returns: -

Installed to the /opt/IBM/WAS/wasadmin1/app/WebSphere directory.

List What's Installed NOW

/opt/IBM/WAS/wasadmin1/app/InstallationManager/im/eclipse/tools/imcl listInstalledPackages

returns: -
Start Clusters, Node Agents and Deployment Manager

Job done :-)

Saturday 2 November 2013

Sametime Unified Telephony - Broken, Now Fixed

Having recently upgraded to IBM Notes 9.0.1 and embedded IBM Sametime 9.0, I was somewhat annoyed to find that I was unable to use the Sametime Computer Phone to make calls any longer.

This is, of course, on a  MacBook Pro, running OS X Mountain Lion.

This had previously worked using Notes 9.0.0 and Sametime 8.5.2.

I kept seeing "Unable to call Dave Hay because the phone number is missing or invalid.".

Thanks to an internal IBM blogger, I found the solution.

I needed to add: -

to /Applications/IBM before restarting Notes.

Now I can make calls via the Sametime Computer Phone without problems, including internal numbers, IBM mobile extensions, and UK mobile and landline numbers.

Thursday 31 October 2013

DB2 - Performance - Optimization profiles and guidelines

From the DB2 9.7 Information Center: -

Optimization profiles and guidelines

An optimization profile is an XML document that can contain optimization guidelines for one or more SQL statements. The correspondence between each SQL statement and its associated optimization guidelines is established using the SQL text and other information that is needed to unambiguously identify an SQL statement.

The DB2® optimizer is one of the most sophisticated cost-based optimizers in the industry. However, in rare cases the optimizer might select a less than optimal execution plan. As a DBA familiar with the database, you can use utilities such as db2advis, runstats, and db2expln, as well as the optimization class setting to help you tune the optimizer for better database performance. If you do not receive expected results after all tuning options have been exhausted, you can provide explicit optimization guidelines to the DB2 optimiser.

We're looking at this to help optimise the way that IBM BPM internal queries are performed against our DB2 9.7 database infrastructure

Still not RESTing on my laurels

I can keep this pun going forever: -

Using the REST APIs in IBM Business Process Manager V7.5

This useful reminder came from my IBM BPM jedi colleague, Dawn, who kindly pointed out that we have a sweet REST UI testing tool built right into the product.

This is the link from the BPM 8.0.1 Information Centre: -

Start the REST API test tool. Direct your web browser to the URL for the REST API test tool. The value of the URL depends on how the virtual host and context root were configured for your installation. The URL takes the following form:



*BUT* the same also works for me on my current project using BPM Standard, both for Process Center AND Process Server.

Which is nice ….

IBM Education Assistant - a much underused asset - and it's free !!!

Tuesday 29 October 2013

IBM BPM 8.5 - Samples and Tutorials

My IBM colleague kindly shared this with me: -

BM Business Process Manager, V8.5, All platforms > Getting started with IBM Business Process Manager > Samples and tutorials > Hiring Tutorial

In this tutorial, you will use the tools in IBM® Process Designer to re-create the packaged Hiring Sample process application that is in IBM Process Center.

This tutorial gets you started with aspects of the Process Designer tool by having you iteratively model and test a hiring process instance. As you complete the lessons, you will learn about Process Designer so that you can build your own processes.

Note: This tutorial is a learning exercise that describes one way of modeling, implementing, and testing a process. Depending on your process and process application, other techniques might be more appropriate.

This tutorial is broken down into the following five modules:

• Model the process
• Implement the process
• Create the user interface
• Integrate the process with services
• Conduct the final playback

After you complete this tutorial, you will be able to do the following tasks:

• Model a process that is based on the process requirements.
• Implement the process, including data variables and services that are required by the process.
• Create the user interface for the process.
• Conduct playbacks at each phase to validate the work that you completed.
• Run and review the process.

Monday 28 October 2013

Intermittent SSL issues occur in IBM Business Process Manager (BPM)

Interestingly, we saw this self-same issue in one of our BPM Standard environments last week: -


In IBM Business Process Manager V7.5.x and 8.0.x products, there is an intermittent issue that causes the wrong trust store to be used for SSL connections. This siutuation leads to different types of communication errors between servers.


The communications errors continue until the affected server is restarted. This issue does not occur frequently. However, it has a high impact when it occurs. It is more likely that you might see this issue with IBM Business Process Manager V7.5.x, but it can also occur with Version 8.0. Due to the impact of this issue, you should apply the interim fix for APAR JR46822, which is available in Fix Central. For more information about the issue, see JR46822.

The fix is included in IBM Business Process Manager V8.5.

and we're testing JR46822: -

right now.

Tuesday 22 October 2013

WebSphere Application Server JVMs - Dumping

Thanks to my mate, Mike, for this.

<caveat emptor>

Want to force a WAS JVM ( or, almost certainly, any other JVM ) to generate a core dump ( Javacore ) ?

Using Unix ?

If so, identify the Process ID ( PID ) of the JVM, perhaps using ps auxw | grep -i java and then, once you've checked AND double-checked that it's the right PID, issue this command: -

$ kill -3 12345

( where 12345 is an example of the PID )

The Javacore will be, by default, written to the WAS profile root e.g. /opt/IBM/WebSphere/AppServer/profiles/AppSrv01.

Want to force a heap dump ?

If so, fire up wsadmin: -

$ cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin
$ ./ -lang jacl

wsadmin> set objectName [$AdminControl queryNames WebSphere:type=JVM,process=<JVM Name>,node=<Node Name>,*] 

which returns something like this: -

wsadmin> $AdminControl invoke $objectName generateHeapDump

Again, the heap dump  will be, by default, written to the WAS profile root e.g. /opt/IBM/WebSphere/AppServer/profiles/AppSrv01

</caveat emptor>

Remember - your mileage may vary - if in doubt, do nowt

Thursday 17 October 2013

Common Timeouts effecting Web Services, HTTP and SOAP clients


IOException,SocketTimeoutException results from Intermediary Server timeouts, Network Problems and Configuration Tuning problems on Client and Server ends.

Tuesday 15 October 2013

IBM BPM 8.5 - What's it all about

My client asked me for some insights into IBM BPM 8.5, so I pinged him the following: -

Getting started with IBM Business Process Manager

Understand what capabilities IBM® Business Process Manager provides for business process management, and how the various phases of business process management, such as creating and deploying process applications, relate to one another.

IBM® Business Process Manager is a comprehensive business process management platform, providing full visibility and insight to managing business processes. It provides tooling and a runtime environment for process design, execution, monitoring and optimization, along with basic system integration support. The product can be configured to support various levels of complexity and involvement with business process management.

as he'd previously shared this with me: -

What's new in IBM Business Process Manager V8

This article describes the highlights of the newly announced IBM Business Process Manager V8, including a newly redesigned Process Portal, integration with Enterprise Content Management systems, searching and sharing of content between Process Centers, enhanced governance capabilities, and other new features. This content is part of the IBM Business Process Management Journal.

IBM Business Process Manager V8.0 enhances business user effectiveness and efficiency and simplifies process governance  [PDF]

IBM® Business Process Manager (IBM BPM) V8.0 is an update to the IBM comprehensive and consumable BPM platform that provides visibility and management of your business processes.

Facilitates collaborative and intelligent work with a revamped social process portal experience.

Empowers process participants with the new IBM BPM application for use with iPhone and iPad.

Expands capabilities for more easily composing rich, sophisticated user experiences for activity completion and dashboards.

Enriches governance and lifecycle capabilities with new features for asset management, collaboration, versioning and deployment.

Simplifies finding, exploring, and sharing process content within and between teams.

Extends process applications with business documents and content stored in
enterprise content management repositories. 

IBM BPM - What is the Performance Data Warehouse ?

Here's an introduction to PDW from Neil Kolban: -

The Performance Data Warehouse is a database responsible for collecting and managing data originated by Process Server instances. Think of this as the repository for information about the history of the system as is used for reporting of the outcome of processes. The sourcing of data for reporting comes from the single Performance Data Warehouse database which may be associated with multiple Process Server instances. This architecture allows aggregation of information from multiple servers to be achieved. Since generation of reporting knowledge can be computationally expensive, the separation of the Process Servers from the Performance Data Warehouse also allows for reports to be generated without impacting the operation of running processes.

and here's what the BPM documentation says: -

In Process Designer, define the variables that you want to track and then send tracking definitions to the Business Performance Data Warehouse.

The Business Performance Data Warehouse creates a database table to hold the tracked data.

Run instances of your processes on the Process Center Server or a Process Server in a runtime environment.

The Business Performance Data Warehouse retrieves tracked data for each variable from the Process Center Server or Process Server at regular intervals.

Create reports in the Designer that query the Performance Data Warehouse to retrieve the required data.

Reports that you define in the Designer display as scoreboards in Process Portal or a customized portal.

You can also query the Performance Data Warehouse from third-party tools like Microsoft Access to generate reports.

This may also be of use: -

Monday 14 October 2013

Monitoring and tuning IBM BPM performance with Websphere Performance Tuning Toolkit

Monitoring and tuning a BPM platform at the system level is far away from getting process tracking points data and build nice scoreboards showing the process performance. But at the end if the system doesn't perform well the users will complain about how it's affecting their performance and how that is impacting the process SLAs.  And if that happens the BPM "system" will be seen as the reason for the bad business performance. Besides all that no one likes to use a system that is slow and has bad responsiveness.

Using the REST APIs in IBM Business Process Manager V7.5

Summary:  Learn about the REST resources available for application developers to use in IBM® Business Process Manager to access business process, human task and business category data. This article introduces the various components of Business Process Manager that are exposed in the REST APIs, as well as supported content types, use of method overrides, response data formats, and how to use the REST API Tester tool.


IBM Business Process Manager V7.5 provides a set of APIs that are implemented using Representational State Transfer (REST) services. A set of business process definition (BPD) related REST resources are provided for accessing business process, human task and business category data. These REST APIs enable developers to build a user interface or customize an existing portal application. The APIs are simple enough to be called from mobile devices or from Rich Internet Applications (RIAs).

This article introduces the IBM Business Process Manager REST APIs you can use to access business process, human task and business category data, and describes the various components of Business Process Manager that are exposed in the REST APIs. You'll learn about the following:

• The REST URL format
• The available REST APIs
• Supported content types and use of method overrides
• Response data formats
• The REST API Tester

Friday 11 October 2013

IBM WebSphere Support technical exchanges

From the Twitterverse: -

IBM support wants to help you take full advantage of your product. Join us as technical experts share their knowledge and then answer your questions. The sessions are designed to address specific technical issues and provide in-depth but narrowly focused training in convenient, live 1-2 hour seminars. Visit this site often to see upcoming topics and presenters.

15 Oct 2013 WebSphere Plugin Session Affnity and Load Balancing

We will give an overview of the Session Affinity and how it affects Plugin Load Balancing. We will give an overview of Plugin algorithm for Round Robin Load Balancing and show how to review Plugin Log to review Plugin Load Balancing.

16 Oct 2013 Ask the Experts - Shedding light on CICS Storage

We will be discussing the storage aspects inside CICS including topics such as the dynamic storage areas, short on storage conditions, storage violations and tuning parameters available.

23 Oct 2013 IBM HTTP Server: Logging Essentials for Advanced Debugging

The purpose of this presentation is to provide logging essentials for advanced debugging within the IBM HTTP Server. This includes, but not limited to, SSL debugging, mod_rewrite problems, compression & caching, web server plug-in routing, virtualhosts, performance & web server thread utilization.

24 Oct 2013 Ask the Experts - JNDI Naming configuration and problem determination

WebSphere Application Server includes support for the Java Naming and Directory Interface (JNDI). It provides a name server and JNDI implementation to allow access to resources. This webcast covers questions on using JNDI in WebSphere Application Server.

31 Oct 2013 Handling undelivered messages in WebSphere MQ 7: Dead Letter Queue, Poison Messages

This WSTE discusses practical information on how to handle undelivered messages: Dead Letter Queue, Poison Messages. It also discusses the configuration for handling poison messages by the MQ JMS provider in WebSphere Application Server.

05 Nov 2013 Database Connectivity in OPL

This presentation will feature the database connectivity features built into the OPL product, from basic connectivity to advanced use cases. The talk will also cover frequently asked questions and topics on these types of connections.

06 Nov 2013 ODM Rule Execution Server configuration and tuning

Explain the integration and configuration options for RES and provide performance tuning tips.

07 Nov 2013 Ask the Experts - WMQ FTE Resource Monitor Basics and Common Pitfalls

This Open Mic will discuss WMQ FTE basic concepts, configuration, security as well as most common pitfalls.

12 Nov 2013 Constructing a baseline model in LogicNet Plus

An introduction to baseline model creation in LogicNet Plus, including how to troubleshoot common issues and the minimum requirements for a feasible baseline model.

12 Nov 2013 Native Memory issues for WebSphere Application Server

This presentation covers native memory issues for WebSphere Application Server, particularly native OutOfMemoryErrors and leaks on Linux. It covers theory, memory layouts, detecting and monitoring (ps, gdb), isolating and avoiding, and finally analyzing leaks.

13 Nov 2013 Ask the Experts - Enhanced CICS IPIC Communication Debugging

This presentation will expand on the CICS IPIC Communication Debugging presentation from March 2013. You may want to review that presentation before the call. It can be found at this URL: We will discuss debugging practices further in depth as well as best documentation to gather for IBM Support to assist on IPIC problems.

19 Nov 2013 Ask the Experts - MQ Clustering Gotchas! Avoiding Cluster Administration Errors

MQ Clustering was introduced in v5.1 and customers are adopting the clustering method of messaging over point to point, for ease of admin. and workload balance. Certain rules apply for config and admin, which if not followed, will cause adverse effects. This session discusses how to avoid mistakes when administering MQ Clusters and will provide a Q&A session regarding MQ Clustering Administration.

20 Nov 2013 Activating XML Toolkit V1.10 XML4C parser for WDI 3.3 for z/OS in a batch environment

The end of support for XML Toolkit V1.9 is approaching. Do you want to learn how to upgrade your WebSphere Data Interchange for z/OS system to run with XML Toolkit V1.10? This session will cover the implementation steps so you can upgrade WDI accordingly for a z/OS batch environment.

20 Nov 2013 Understanding DataPower Memory Utilization and Consumption

This WSTE explores how DataPower appliances manage and report memory usage. We will explain the different memory statistics and how to interpret them. We will also explain how to determine where memory is being used and how to isolate any problems. The talk will dive into specific common problems as seen by customers in the field.

21 Nov 2013 Trading Manager basic troubleshooting techniques

This presentation will cover basic troubleshooting of Trading Manager startup errors and verifying basic functionality.

03 Dec 2013 Comparison of CPLEX and OPL APIs

The presentation will review the different interfaces to the CPLEX product and the OPL product, including which ones are best suited to particular development environments, particular modelling strategies, and particular performance requirements.

04 Dec 2013 Ask the Experts - Understanding Connections in Service Integration Bus

Fine-tuning connections to the SIB messaging provider in WebSphere Application Server is paramount. It improves performance and provides easier diagnosis especially in large, scalable environments with multiple clusters. This session discusses best practices for handling connections of client applications to the messaging core processor of the Service Integration Bus, the messaging engine.

05 Dec 2013 Ask the Experts - Exploring the Explorer

This presentation will discuss some of the benefits and capabilities of the CICS Explorer and what it allows our customers to accomplish. It will cover subjects that will show how the Explorer can be implemented to help our customers become more efficient.

10 Dec 2013 Efficient Programming for Large Models

As computation speed increases, it has been feasible to create larger models.  The presentation will describe different techniques and designs that properly scale to thousands and millions of variables, and can efficiently handle large optimization models.

WebSphere Application Server - Failure to Stop

If you see this: -


[10/10/13 10:48:31:935 BST] 0000003a RoleBasedAuth A   SECJ0305I: The role-based authorization check failed for admin-authz operation Server:stop.  The user E01619367 (unique ID: user:defaultwimfilebasedrealm/t=e81822,ou=people,o=foobar) was not granted any of the following required roles: operator, administrator.

and: -

FFDC ADMN0022E: Access is denied for the stop operation on Server MBean because of insufficient or empty credentials.

when attempting to stop a WAS server/cluster, as the error says, you don't have authority.

This occurred to me because I was logged into WAS with a normal user, to whom I'd given ONLY the Administrator role.

However, I'd NOT given the user the Operator role.

Once I did that, all was well ;-)

Which is nice …..

Friday 4 October 2013

Managing Snapshot Deactivation in IBM BPM

In IBM BPM ( Fixpack 1 ), the behaviour of the Deactivate Snapshot command / process has changed.

By default, any running instances will be, effectively, locked, so that they can no longer be used, although they won't actually be terminated.

This is the default for, whereas, apparently, in BPM 8.X, the default behaviour is back to the former i.e. active snapshot instances will continue to be usable, although ( of course ) new instances cannot be started.

The behaviour can be reversed, by adding two lines into 100Custom.xml, and restarting the AppTarget cluster: -

<block-deactivated-snapshot-favorite-progression merge="replace">false</block-deactivated-snapshot-favorite-progression>
<block-deactivated-snapshot-task-progression merge="replace">false</block-deactivated-snapshot-task-progression>

Note that it is vital to add merge="replace" or the setting will stay set to true which isn't cool :-)

This Technote ( for WLE ) provides more detail on the change: -

Having changed the default behaviour, I can now continue to progress instances for deactivated snapshots, although ( of course ) I cannot spawn new instances.


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

More on macOS SMB sharing

As a follow-up to an earlier post: - macOS to macOS File Sharing - Don't work, try The IT Crowd I hit this problem again and referred ba...