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.


Visual Studio Code - Wow 🙀

Why did I not know that I can merely hit [cmd] [p]  to bring up a search box allowing me to search my project e.g. a repo cloned from GitHub...