Friday 5 December 2014

IBM BPM Advanced 8.5.5 - Process Center to Process Server

So I am continuing to get my head around the integration between Process Center and Process Server, in that it's possible to have a connected Process Server to which one can actively deploy snapshots, using the so-called online/connected deployment.

This is what the connected Process Server looks like: -



Whilst this is easy to configure when one first creates a Deployment Environment, I had a situation recently where one of our team inadvertently clicked the Take Server Offline button.

This does prompt: -


but, if you click Yes, then the Process Server is, from that point forward, offline.




To get it back, it's necessary to do two things: -

(a) Remove the offline server via the Remove Offline Server button
(b) Update the Process Server configuration to "re-tell" it where to find Process Center
(c) Restart Process Server

In the first instance, when one clicks the Remove Offline Server button, there is a friendly warning: -

Secondly, it's necessary to use wsadmin to reconfigure the PS > PC relationship: -

/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/wsadmin.sh -lang jython

ps = AdminConfig.getid("/Cell:/ServerCluster:PSAppCluster/BPMClusterConfigExtension:/BPMProcessServer:/")
AdminConfig.modify(ps, [['processCenterUrl', 'https://bpm855.uk.ibm.com:9443/ProcessCenter']])
AdminConfig.modify(ps, [['processCenterInternalUrl', 'https://bpm855.uk.ibm.com:9443/ProcessCenterInternal']])
AdminConfig.modify(ps, [['heartBeatInterval', '60']])
AdminTask.updateBPMConfig( [ '-clusterName', 'PSAppCluster', '-environmentName', 'ProcessServer', '-environmentType', 'TEST' ] )
AdminConfig.save() 
AdminNodeManagement.syncActiveNodes() 


Thirdly, the Process Server needs to be restarted.

Once done, PS should now show back up in the PC Servers tab.


Bottom line, we are PUSHING the Process Server configuration TO the Process Center - in other words, we tell PS to broadcast itself to PC.

One thing of which to be aware ....

Process Center uses a Java2 Connector (J2C) Authentication Alias to allow it to "know" the credentials with which to connect to Process Server.

*IF* you change the credentials ( e.g. the password ) on the Process Server box, it's necessary to update the J2C alias on the Process Center box.

This is, as far as I can establish, a two-way relationship. Therefore, if you change the password on either box, make sure that you update the alias on t'other side.

In my particular case, I have TWO Deployment Environments located in a single WAS cell, therefore all of the aliases are in one place: -

BPMAdminAlias_ProcessCenter deAdmin  
BPMAdminAlias_ProcessServer deAdmin  
BPMAdminAlias_ProcessServer2 deAdmin  
PROCCTR_USER_ALIAS_ProcessServer2 deAdmin

I have not yet worked out which of the aliases relate to what ( bear in mind that, with a single cell, there is but one deAdmin account - for me, it's in the File-Based Registry, but that's not important right now ).

I'm guessing that PROCCTR_USER_ALIAS_ProcessServer2 is what PC uses to authenticate to PS, given the name.

I'm also guessing that BPMAdminAlias_ProcessServer2 is used for the PS to PC connection.

I will check this out further, and report back.

Meantime, just remember to update the J2C aliases if/when you change the credentials on either side.



No comments:

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