Showing posts with label bpm. Show all posts
Showing posts with label bpm. Show all posts

Friday, 31 May 2013

Viewing BPD and TASK stats

Really useful BPMN stats ....

https://<server>:<port>/teamworks/cs_instrumentation.lsw?userVisibleOnly=false

Thursday, 28 February 2013

Running BPD instances not visible in Process Designer but OK in browser based Process Inspector - also unable to terminate.

When using the REST API (/bpmrest-ui) to start a BPD instance, it does not appear in PD but can be seen in the browser based Process Inspector.
In addition, instances cannot be terminated via the browser based Process Inspector and when an attempt is made to do so, the following message appears in SystemOut.log



E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet BPMInspectorRestFacade in application IBM_BPM_ProcessAdmin_PSSIT001.AppTarget. Exception created : javax.servlet.ServletException: javax.servlet.ServletException: com.ibm.processinspector.rest.ProcessAdminRestException: com.ibm.processinspector.rest.ProcessAdminRestException: {"status":"error","Data":{"status":"error","exceptionType":"com.ibm.bpm.wle.api.NotAuthorizedActionException","errorNumber":"CWTBG0549E","errorMessage":"CWTBG0549E: You are not authorized to perform the 'abort' action.","errorMessageParameters":["abort"],"responses":null}}

This problem occurs because the started instance has it's TIP flag set as T (true) in the LSW_BPD_INSTANCE table.
As an experiment you can change this flag manually and you'll notice the instance now appears as expected in PD and can also be terminated as expected in the browser based PI.

This is a know bug in 7.5.* and 8.0.0.0. The APAR details are here.
V8 - http://www-01.ibm.com/support/docview.wss?uid=swg1JR44597
V7 - http://www-01.ibm.com/support/docview.wss?uid=swg1JR43362

I applied 7.5.1.0-WS-BPM-IFJR43362 to my V7.5.1 environment and it appeared to work well except (oddly) for one particular snapshot. I haven't had a chance to investigate further.

Sunday, 2 December 2012

How an IBM BPM 75 Process Centre keeps track of the Process Servers it manages


If you have a Process Centre managing several Process Server environments, you might wonder where the Process Centre stores data about the hostnames and port numbers for these environments.

The answer is that it stores this in it's BPMDB database in a table called LSW_SERVER.
This table contains a single line per Process Server containing, amongst other things, the TCP port number that it should be contacted on for deployments etc. (errr.... it also contains the plain text password of the tw_author account so make sure you dont let too many people look at it)

Where does this information originate from I asked myself. Well, it turns out the Proces Server reads it from it's 99Local.xml (or 100Custom.xml if you've chosen to overide things in the proper fashion)  and sends it with every heartbeat to the Process Centre  (good old Wireshark told me this) - you can confirm this if you manaully update the port number in the database table and watch up magically change back a few minutes later :)

 Unfortunately 99Local.xml is not commented awfully well. The section in quesion is....

  <server-name>ProcessServer01</server-name>
  <server-description>A running process server</server-description>
  <server-host>my_proc_server_hostname</server-host>
  <server-port>9443</server-port>

When I first saw this in the Process Servers's own 99Local.xml it didn't make sense, after all, why would you tell the Process Server about itself I wondered. Now I realise this is the data that get's sent in the heartbeat and subsequently ends up in the LSW_SERVER table.

NOTE: if you do decide to follow best practice and define this in 100Custom.xml.. remember to add the required attributes (highlighted in red below)

  <server-name merge="replace">ProcessServer01</server-name>
  <server-description merge="replace">A running process server</server-description>
  <server-host merge="replace">my_proc_server_hostname</server-host>
  <server-port merge="replace">9443</server-port>