Step 1 - Create DMGR and Node profiles with desired ports
This is done by using -portsfile option with the manageprofile.sh -create command
manageprofiles.sh -response myRespFile.resp
.. and the response file is as follows .. note the last line in bold
create
profileName=dmgr001
nodeName=saturn001Node
hostName=saturn-appserver
cellName=saturncell001
serverType=DEPLOYMENT_MANAGER
profilePath=/opt/bpm/bpm751/profiles/dmgr001
templatePath=/opt/bpm/profileTemplates/BPM/dmgr.procsvr.adv
enableAdminSecurity=true
adminUserName=admin
adminPassword=BPM123bpm
dbCreateNew=false
dbDesignEnabled=false
dbDelayConfig=true
dbDriverType=ORACLE_THIN
dbHostName=jupiter-dbserver
dbJDBCClasspath=/opt/bpm/jdbcdrivers/Oracle
dbName=BPM1
dbServerPort=1725
dbType=Oracle
dbCommonUserId=SIT_COMM
dbCommonPassword=myPass
dbBSpaceUserId=SIT_BSP
dbBSpacePassword=myPass
personalCertValidityPeriod=15
signingCertValidityPeriod=15
keyStorePassword=foobar
portsFile=dmgr.ports
.. and the dmgr.ports file is as follows..
BOOTSTRAP_ADDRESS=11004
SOAP_CONNECTOR_ADDRESS=11005
SAS_SSL_SERVERAUTH_LISTENER_ADDRESS=11006
CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS=11007
CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS=11008
WC_adminhost=11000
WC_defaulthost=11001
DCS_UNICAST_ADDRESS=11009
WC_adminhost_secure=11002
WC_defaulthost_secure=11003
SIP_DEFAULTHOST=11010
SIP_DEFAULTHOST_SECURE=11011
SIB_ENDPOINT_ADDRESS=11012
SIB_ENDPOINT_SECURE_ADDRESS=11013
SIB_MQ_ENDPOINT_ADDRESS=11014
SIB_MQ_ENDPOINT_SECURE_ADDRESS=11015
ORB_LISTENER_ADDRESS=11016
CELL_DISCOVERY_ADDRESS=11017
IPC_CONNECTOR_ADDRESS=11018
NODE_DISCOVERY_ADDRESS=11019
NODE_IPV6_MULTICAST_DISCOVERY_ADDRESS=11020
NODE_MULTICAST_DISCOVERY_ADDRESS=11021
DataPowerMgr_inbound_secure=11022
you'll need to take the same approach for your node profiles
Step 2 - Change WAS Cluster Ports
The script below will do this
import sys;
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Functions
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
def modPorts ( cName,startPort ):
# Get a list of hostnames
dict = {}
for node in AdminConfig.list('Node').split():
nHost = AdminConfig.showAttribute(node, 'hostName')
nName = AdminConfig.showAttribute(node, 'name')
# Tie the hostname to the nodename and store in a hashtable for later use
dict[nName] = nHost
try:
clusterId=AdminConfig.getid('/Cell:'+cellName+'/ServerCluster:'+cName)
members=AdminConfig.list('ClusterMember',clusterId).splitlines()
for member in members :
sPort = startPort
nodeName=AdminConfig.showAttribute(member,"nodeName")
memberName=AdminConfig.showAttribute(member,"memberName")
portNames = [
'WC_defaulthost','WC_adminhost','WC_defaulthost_secure',
'WC_adminhost_secure',
'BOOTSTRAP_ADDRESS',
'SOAP_CONNECTOR_ADDRESS',
'SAS_SSL_SERVERAUTH_LISTENER_ADDRESS',
'CSIV2_SSL_SERVERAUTH_LISTENER_ADDRESS',
'CSIV2_SSL_MUTUALAUTH_LISTENER_ADDRESS',
'DCS_UNICAST_ADDRESS',
'SIB_ENDPOINT_ADDRESS',
'SIB_ENDPOINT_SECURE_ADDRESS',
'SIP_DEFAULTHOST','SIP_DEFAULTHOST_SECURE',
'SIB_MQ_ENDPOINT_ADDRESS',
'ORB_LISTENER_ADDRESS',
'SIB_MQ_ENDPOINT_SECURE_ADDRESS',
'IPC_CONNECTOR_ADDRESS']
host = dict[nodeName]
print "INFO: Cluster member is "+memberName+" and hostname is "+host
for portName in portNames:
print "INFO: Setting "+portName+" to "+str(sPort)
AdminTask.modifyServerPort(memberName, '[-nodeName '+nodeName+' -endPointName '+portName+' -host '+host+' -port '+str(sPort)+' -modifyShared true ]')
sPort=sPort+1
except:
print "ERROR - problem settign ports for "+cName
print sys.exc_info()[0]
else:
AdminConfig.save()
print "Complete"
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Main
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
envName=sys.argv[0]
startPort=int(sys.argv[1])
clusterLabel=sys.argv[2]
cell = AdminConfig.list('Cell')
cellName = AdminConfig.showAttribute(cell, 'name')
print "INFO: Setting "+clusterLabel+" ports"
modPorts(envName+"."+clusterLabel, startPort)
Step 3 - Now generate 100Custom.xml files for Process Centre / Process Server and Performance Data Warehouse
Something like this will do the job .. for the Process Centre / Process Server - You'll need to copy this to both nodes under ...../config/cells
<properties>
<event-manager merge="mergeChildren">
<jndi>
<!-- the bootstrap port for AppTarget -->
<env merge="replace" key="java.naming.provider.url" value="corbaname:iiop:saturn-appserver:11204" />
</jndi>
</event-manager>
<server merge="mergeChildren">
<email>
<mail-template>
<client-link merge="replace">https://saturn-webserver:11680/teamworks</client-link>
</mail-template>
</email>
<repository-server-url merge="replace">https://saturn-webserver:11680/ProcessCenter</repository-server-url>
<repository-server-user-auth-alias merge="replace">BPMAdmin_Auth_Alias</repository-server-user-auth-alias>
<repository-server-interval merge="replace">10</repository-server-interval>
<server-name merge="replace">SIT001</server-name>
<server-description merge="replace">A running process server</server-description>
<server-host merge="replace">saturn-webserver</server-host>
<server-port merge="replace">11680</server-port>
<environment-type merge="replace">Development</environment-type>
<cache>
<!-- the bootstrap port for AppTarget -->
<provider-url merge="replace">corbaname:iiop:saturn-appserver:11204</provider-url>
</cache>
<jndi-url merge="replace">corbaname:iiop:saturn-appserver:11204</jndi-url>
</server>
<authoring-environment merge="mergeChildren">
<images-prefix merge="replace">https://saturn-webserver:11680/teamworks</images-prefix>
<portal-prefix merge="replace">https://saturn-webserver:11680/portal</portal-prefix>
<repository-prefix merge="replace">https://saturn-webserver:11680/ProcessCenter</repository-prefix>
<servlet-prefix merge="replace">http://frbpmwebsit.gslb.db.com:11680/teamworks</servlet-prefix>
<use-portal-for-preview merge="replace">true</use-portal-for-preview>
<webapi-prefix merge="replace">https://saturn-webserver:11680/webapi</webapi-prefix>
<process-help-wiki-url-view merge="replace">https://saturn-webserver:11680/processhelp/en/%TITLE%?teamworksTitle=%TEAMWORKS_TITLE%</process-help-wiki-url-view>
<process-help-wiki-url-edit merge="replace">https://saturn-webserver:11680/processhelp/en/Special:Edit?topic=%TITLE%&teamworksTitle=%TEAMWORKS_TITLE%</process-help-wiki-url-edit>
</authoring-environment>
<common merge="mergeChildren">
<portal-prefix merge="replace">https://saturn-webserver:11680/portal</portal-prefix>
<process-admin-prefix merge="replace">https://saturn-webserver:11680/ProcessAdmin</process-admin-prefix>
<teamworks-webapp-prefix merge="replace">https://saturn-webserver:11680/teamworks</teamworks-webapp-prefix>
<webservices merge="mergeChildren">
<base-url merge="replace">http://frbpmwebsit.gslb.db.com:11680/teamworks/webservices</base-url>
</webservices>
<environment-name merge="replace">SIT001</environment-name>
<xml-serialization>
<default-namespace-uri merge="replace">http://frbpmwebsit.gslb.db.com:11680/schema/</default-namespace-uri>
</xml-serialization>
<coach-designer-xsl-url merge="replace">https://saturn-webserver:11680/teamworks/coachdesigner/transform/CoachDesigner.xsl</coach-designer-xsl-url>
</common>
</properties>
... and the PDW 100Custom.xml
<properties>
<server merge="mergeChildren">
<jndi-url merge="replace">corbaname:iiop:saturn-appserver:11504</jndi-url>
</server>
</properties>
Step 4 - Last but not least.. change REST endpoints
Login to the Websphere Administrative Console and navigate to Services > REST Services > Rest service providers. The resultant screen will look similar to the example shown below

1. Select each REST provider in turn (with the exception of the REST Services Gateway
Dmgr) and on the resultant form set the values as follows...
• Protocol – https
• Hostname of virtual host – Load Balancer Hostname
• Port – Load Balancer HTTPS Port Number (e.g. 11680)
All other parameters should remain as default.
The above steps will also automatically update the REST endpoints for the Cluster where BPC Explorer is installed, however the other clusters need to be configured manually as follows
2. For each cluster, navigate to Servers > Clusters > WebSphere application server clusters > CLUSTER_NAME > REST services
3. Set Protocol, host and port to be the same as the REST Gateway settings configured in step 2 above.
4. Repeat for each cluster
5. Click OK, and select Save to save the configuration.
Lastly, set the HTM and BFM API URL's for BPC explorer as follows..
6. Navigate to Servers > Clusters > WebSphere application server clusters > WEBAPP_CLUSTER_NAME > Business Process Choreographer > Business Process Choreographer Explorer > BPCExplorer_<WEBAPP_CLUSTER_NAME>
7. Set Business Flow Manager REST API URL and Human Task Manager REST API URL to https://<load balancer hostname>:<load balancer port>/rest/bpm/bfm
For example https://saturn-webserver:11680/rest/bpm/bfm
8. Synchronise the Cell
9. Restart the Clusters in the following order
- Messaging, AppTarget, Support, WebApp
No comments:
Post a Comment