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>

No comments:

Post a Comment