Thursday, 18 September 2014

IBM BPM Advanced 8.5.0.1 - PFS-0065 seen in context of Performance Data Warehouse

So, hot on the heels of my previous post: -


I was looking to replicate the same for Process Center.

Strangely, when I looked at my Performance Data Warehouse (PDW) database for the Process Center environment, I did NOT have the TASKS table, merely LSW_TASK, and couldn't work out what SQL was actually used to create the missing table.

Interestingly, whilst there are SQL scripts to create all of the BPM/PDW/CMN database tables, there's nothing for TASKS. It appears that this is created dynamically.

When I dug further, via the Performance Admin console ( https://hostname.domain.com:8443/PerformanceAdmin ), I could see errors in the View Errors tab.

I dug further into the underlying DB2 database tables, specifically LSW_DATA_TRANSFER_ERRORS : -

db2 "select error from db2user1.lsw_data_transfer_errors"

(PFS-0065) Snapshot 2064.8961f2a9-d0f9-419f-bfee-8e6437c4c0ba, undefined tracking group with external ID guid:06fb68640f875312:27f9b3f:148179f00e7:-7ffc. Send definitions to define the tracking group.

com.lombardisoftware.client.delegate.BusinessDelegateException: (PFS-0065) Snapshot 2064.8961f2a9-d0f9-419f-bfee-8e6437c4c0ba, undefined tracking group with external ID guid:06fb68640f875312:27f9b3f:148179f00e7:-7ffc. Send definitions to define the tracking group.

In other words, I was executing a BPD on the in-built Process Server run-time for which there was no corresponding Tracking Group. The clue is in the error above, helpfully highlighted in red.

This was easily resolved - I logged into the Process Admin console ( https://hostname.domain.com:8443/ProcessAdmin ), clicked on the Installed Apps tab and, for the app in question, clicked on the Update Tracking Definitions button: -


Once I did this, the TASKS table magically created itself, LSW_DATA_TRANSFER_ERRORS cleared itself down, and I was able to see statistics from my BPD within the TASKS table.

Now to go and turn off PDW so I never see statistics in the TASKS table again :-)

IBM BPM Advanced 8.5.0.1 - Disabling Process Server to Performance Data Warehouse communication

So, in order to disable the automatic publishing of events from Process Server to the Performance Data Warehouse database, I followed this IBM Technote: -


My requirement is to disable the use of PDW and instead use IBM Business Monitor ( aka BAM ) instead.

In essence, one needs to toggle: -

<performance-server-communication>

from: -

true

to: -

false

in 101Custom.xml ( which I used to override the stock 100Custom.xml ) and then restarted Process Server.

Works for me, your mileage may vary.

Eric Herness, Chief Technology Officer for IBM BPM, has also blogged on the subject here: -



Wednesday, 17 September 2014

IBM Business Process Manager on Cloud service adds case handling and enhanced mobile UIs

New features built into IBM® Business Process Manager (IBM BPM) on Cloud include:

• Basic case-management capabilities that enable knowledge workers to drive business outcomes by using a combination of structured workflows, ad-hoc tasks, and document processing.
• New design capabilities for creating responsive user interfaces that can be designed once and run on any device form factor (phone, tablet, or desktop), to support mobile-ready process applications.
• Service availability for People's Republic of China with hosting in the IBM SoftLayer Hong Kong data center

IBM BPM on Cloud is a comprehensive and consumable, business process management (BPM) cloud service that delivers visibility and management of your business processes in a cloud environment. It includes tooling and runtime to design and run processes and provides capabilities for monitoring and optimizing work that is run within the platform. It is specifically designed to enable process owners and business users to get started with business process improvement quickly with a ready-to-use, cloud-based environment that is hosted in IBM cloud data centers and managed by IBM.

WebSphere Application Server Security configuration changes done with wsadmin are not activated immediately.

Saw this rather useful IBM Technote via Twitter: -


Problem(Abstract)

Some administrative actions (like mapping administrative users or groups to security roles) might not get activated immediately and require a restart of the JVM.

For example, you want to map the group called "wasadmins" to the Administrator role:

AdminTask.mapGroupsToAdminRole('[-roleName administrator -accessids [group:defaultWIMFileBasedRealm/cn=wasadmins,cn=groups,dc=mycompany,dc=com ] -groupids [wasadmins@defaultWIMFileBasedRealm ]]') 

AdminConfig.save()

Symptom

Although the configuration change has been saved with AdminConfig.save() you cannot login immediately, although your user is member of the "wasadmins" group.

If you login to the AdminConsole with the primary administrative user and go to the "Administrative group roles" page, the new group mapping will be listed.

If you quit the Console again, you can login with a member of the newly mapped group.

Cause

Some changes of the WAS configuration require a restart of the JVM, or at least a refresh of the configuration for the running instances. 
This refresh is done, when you go to the ISC "Administrative group roles" page.

Resolving the problem

When the configuration changes are completed and saved, you can force a refresh of the security configuration with the AdminControl action "refreshAll":

authGrpMgr = AdminControl.completeObjectName('WebSphere:type=AuthorizationGroupManager,*')
AdminControl.invoke(authGrpMgr, 'refreshAll') 


Now the login with a newly mapped user is possible.


Monday, 15 September 2014

IBM Integration Bus 9.0.0.2 - Tooling Up

My ongoing journey with IBM Integration Bus continues: -


I've now got the Toolkit installed and running on RHEL63.

Unlike WMQ and IIB, the Toolkit is installed using IBM Installation Manager.

The first thing I had to do was to update IIM from 1.6.0 to 1.6.2+ as I previously had: -

com.ibm.cic.agent_1.6.0.20120831_1216

I actually updated to 1.7.2: -

com.ibm.cic.agent_1.7.2000.20140227_0303

( thanks to BPM 8.5.5 disk 2 ( BPM_Adv_V855_Linux_x86_2_of_3.tar.gz  ) for providing )

However, things weren't that smooth.

I started the installation of the IIB Toolkit: -

/opt/IBM/InstallationManager/eclipse/tools/imcl install com.ibm.integration.toolkit.v90_9.0.0.20140515-1210 -repositories /mnt/hgfs/IIB/integrationbus/Integration_Toolkit/ -acceptLicense

which almost immediately failed with: -

ERROR: Required 32-bit libraries are missing. For details, see the IBM Installation Manager log file.

I looked in the log file: -

cat /home/wasadmin/var/ibm/InstallationManager/logs/20140912_2025.log

and saw: -

...
 <message>libz.so.1 required by 32 bit profile install is missing</message>
</entry>
<entry num='58' time='1410549538760' elapsed='00:03.39' level='INFO' thread='main'>
 <logger>com.ibm.check.library32bit.CheckLibrary32bit</logger>
 <method>check32Library</method>
 <message>You can find more information on adding missing 32-bit libraries from http://www.ibm.com/support/docview.wss?uid=swg21592400</message>
</entry>

...

...
 <message>libXtst.so.6 required by 32 bit profile install is missing</message>
...

...
 <message>libatk-1.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libfontconfig.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libfreetype.so.6 required by 32 bit profile install is missing</message>
...

...
 <message>libgdk_pixbuf-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libgdk-x11-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libglib-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libgmodule-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libgobject-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libgthread-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libgtk-x11-2.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libpango-1.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libpangoft2-1.0.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libpng12.so.0 required by 32 bit profile install is missing</message>
...

...
 <message>libXcomposite.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXcursor.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXdamage.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXinerama.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXrender.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libfontconfig.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXcomposite.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXcursor.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXdamage.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXinerama.so.1 required by 32 bit profile install is missing</message>
...

...
 <message>libXrender.so.1 required by 32 bit profile install is missing</message>
...

After a major YUMfest, I managed to install all the missing libraries :-)

Eventually: -

/opt/IBM/InstallationManager/eclipse/tools/imcl install com.ibm.integration.toolkit.v90_9.0.0.20140515-1210 -repositories /mnt/hgfs/IIB/integrationbus/Integration_Toolkit/ -acceptLicense

Installed com.ibm.integration.toolkit.v90_9.0.0.20140515-1210 to the /home/wasadmin/IBM/IntegrationToolkit90 directory.

so now I have: -

/opt/IBM/InstallationManager/eclipse/tools/imcl listInstalledPackages

com.ibm.cic.agent_1.7.2000.20140227_0303
com.ibm.websphere.MON.V80_8.0.1002.20131028_1518
com.ibm.websphere.ND.v80_8.0.8.20131205_0207
com.ibm.ws.cognos.v1011.linuxia64_10.1.1.20121103_1244
com.ibm.websphere.IHS.v80_8.0.8.20131205_0207
com.ibm.websphere.PLG.v80_8.0.8.20131205_0207
com.ibm.integration.toolkit.v90_9.0.0.20140515-1210


which is nice :-)

Of course, this means that I'm running the Toolkit as wasadmin because that's the user which I use to install/use IBM Installation Manager, WAS, IBM Business Monitor etc.

This is how I start the Toolkit ( as wasadmin ): -

~/IBM/IntegrationToolkit90/launcher 

MQSI 9.0.0.2
/opt/ibm/mqsi/9.0.0.2




which is also nice :-)

Wednesday, 10 September 2014

IBM BPM 8.5 - Groups and Caches

This follows an earlier post: -


where I reported that, for BPM 7.5.1.1, it was an easy matter to reset the GroupCache in Process Admin, in order to have some WAS groups appear inside the User Management > Group Management view ( in order to allow me to assign WAS groups to BPM roles such as tw_admins and tw_authors ).

So I've followed the same path for BPM Advanced 8.5.0.1 ( Process Center AND Process Server ) here.

I created a bunch of new users in WAS, mapped to one of two WAS groups ( administrators and/or developers ).

I then expected these to appear in Process Admin.

Well, the users did, almost immediately with no need to refresh any caches.

However, the groups never did.

I tried various combinations of the GroupCache reset: -


but to no avail.

Nothing, nil, nada, zip, nein :-(

Well, not until I recycled the environment ( restarted the Deployment Environment, thus restarting the three clusters; MECluster, AppCluster and SupCluster ).

Once I did this, the groups magically appeared ....

For the record, I'm using WAS groups and users as a very short-term solution, whilst I wait for LDAP to appear.

Monday, 8 September 2014

Installing IBM Integration Bus 9.0.0.2 on Red Hat Enterprise Linux 6.3

This is part of my ongoing journey towards mastery relative understanding of integration, using IBM WebSphere MQ, IBM Integration Bus and IBM Business Process Manager.

I've got some further experience of WMQ after the past few weeks: -



so am revisiting IIB ( having played briefly with WebSphere Message Broker a while back ): -





This is, as ever, a work-in-progress.

My objective is two fold: -

(a) Validate WMQ to BPM integration by putting a message onto a Queue, and then retrieving it using a Message Driven Bean ( building on this Using WebSphere MQ V7 as JMS Provider for WebSphere Application Server V7, V8.0 and V8.5 )

(b) Create a basic flow in IIB to, for example, pull a database row from DB2 and post it to BPM, again using WMQ as the transport mechanism, perhaps using IBM HTTP Server in front of IIB to trigger the flow ....

However, one needs to walk before one can run ... so here's the installation of IIB: -

Create File Systems and Group/User - as root

mkdir /opt/ibm/mqsi
mkdir /var/mqsi

groupadd mqbrkrs
useradd -g mqbrkrs -G mqbrkrs,mqm -d /home/wmbadmin wmbadmin
passwd wmbadmin

chown -R wmbadmin:mqbrkrs /opt/ibm/mqsi
chown -R wmbadmin:mqbrkrs /var/mqsi


Unpack Binaries - as wmbadmin

su - wmbadmin

mkdir /tmp/IIB
tar xvzf /mnt/hgfs/Software/IIB9002/IIB_V9.0.0.2_LINUX_X86-64.tar.gz -C /tmp/IIB


Prepare Response Files - as wmbadmin

cp /tmp/IIB/integrationbus_runtime1/sample-scripts/response.properties ~

sed -i'' 's/FALSE/TRUE/g' response.properties

Install Binaries - as wmbadmin

/tmp/IIB/integrationbus_runtime1/setuplinuxx64.bin -i silent -f ~/response.properties -DLICENSE_ACCEPTED=TRUE 

Validate

cat /opt/ibm/mqsi/9.0.0.2/IBM_Integration_Bus_Install_09_08_2014_16_14_44.log 

...
Execute Command:          /opt/ibm/mqsi/9.0.0.2/bin/mqsicreateworkpath "/var/mqsi"
                          Status: SUCCESSFUL

Modify Text File - Single File:   /opt/ibm/mqsi/9.0.0.2/Uninstaller/Uninstaller.lax
                          Status: SUCCESSFUL

Modify Text File - Single File:   New File /var/mqsi/WMB_Install_Success.txt
                          Status: SUCCESSFUL

...

cat /var/mqsi/WMB_Install_Success.txt 

WMB Install Success

Test

/opt/ibm/mqsi/9.0.0.2/bin/mqsilist

/opt/ibm/mqsi/9.0.0.2/bin/mqsilist: error while loading shared libraries: libImbCmdLib.so: cannot open shared object file: No such file or directory

Ooops - try this first: -

source /opt/ibm/mqsi/9.0.0.2/bin/mqsiprofile 

MQSI 9.0.0.2
/opt/ibm/mqsi/9.0.0.2


/opt/ibm/mqsi/9.0.0.2/bin/mqsilist 

BIP1281I: No brokers have been defined on this machine.
BIP8071I: Successful command completion.


Set up profile for future

echo "source /opt/ibm/mqsi/9.0.0.2/bin/mqsiprofile" >> ~/.bashrc

Job's a good 'un. Now to go and download the IIB Toolkit .....

Thanks to these resources for inspiration: -