You can set parameters in the EnableCaseBAI.py script for automated
deployment of the Case event emitter application.
Before you begin
- Install IBM® Business Automation
Workflow and
make sure that the WebSphere® Application
Server
instance is up and running.
- Make sure that the
<Workflow_Install_Root>/CaseManagement/analytics
directory contains the CaseEventEmitter.war and
EnableCaseBAI.py files.
Restriction: Kafka Kerberos configuration is not supported.
About this task
You must use the EnableCaseBAI.py script in the specific profile in which
the Case event emitter needs to be deployed. If the target environment is a standard environment,
use the specific profile root directory. If the target environment is a clustered environment, use
the Deployment Manager node. The script can handle all kinds of topologies for the IBM Business Automation
Workflow installation.
The EnableCaseBAI.py script is described in EnableCaseBAI.py script syntax.
Procedure
- Create the CaseEventEmitter.json file from the
sample-CaseEventEmitter.json file.
This file is in the
<Workflow_Install_Root>/CaseManagement/analytics
directory.
- Edit the CaseEventEmitter.json file to match the configuration of
your Content Engine server to retrieve events.
- Run the EnableCaseBAI.py script with the JSON configuration
file.
- Use the wsadmin command to start the
EnableCaseBAI.py script from the specific profile to which the Case event
emitter needs to be deployed.
<specific_target_profile_root>/bin/wsadmin.sh|bat -lang jython
-f <Workflow_Install_Root>/CaseManagement/analytics/EnableCaseBAI.py
--war=<location_of_CaseEventEmitter.war>
--config=<location_of_CaseEventEmitter.json>
--operation=install [--appName=CaseEmitter_CCDM.war] [--type=<installation_type>] [--cell=<cell_name>] [--cluster=<cluster_name>] [--node=<node_name>] [--server=<server_name>] [--virtualHost=<virtualhost_name>] [--kerbConf=<krb5.conf_location>]
- Set the parameters as follows.
- --operation
- Make sure that this parameter is set to install.
- --type, --cell, --cluster, --virtualHost or --type, --cell, --node, --server, --virtualHost
- To identify the target environment where the event emitter must be deployed, pass either of
these sets of mandatory parameters. If any is missing, the user is prompted to set them at run time
from the available list of values.
- --appName
- This optional parameter sets the name of the application and of the resulting WAR file. If you
do not specify any name, the default name is CaseEventEmitter.war.
- --kerbConf
- This optional parameter depends on the Kafka configuration. Specify the path to the
krb5.conf file so that the script can create or modify the
java.security.krb5.conf JVM property on each of the target servers.
Examples:
C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\Dmgr01\bin>wsadmin.bat -lang jython
-f C:/Workflow/CaseManagement/analytics/EnableCaseBAI.py
--war=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.war
--config=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.json
--operation=install
C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\Dmgr01\bin>wsadmin.bat -lang jython
-f C:/Workflow/CaseManagement/analytics/EnableCaseBAI.py
--war=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.war
--config=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.json
--appName=CaseEmitter_CCDM.war
--operation=install
C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\Dmgr01\bin>wsadmin.bat -lang jython -f C:/Workflow/CaseManagement/analytics/EnableCaseBAI.py
--war=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.war
--config=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.json
--appName=CaseEmitter_CCDM.war
--operation=install --type=Cluster --cell=CaseEmitter2e21Cell01 --cluster=Custer1
C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\Dmgr01\bin>wsadmin.bat -lang jython
-f C:/Workflow/CaseManagement/analytics/EnableCaseBAI.py
--war=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.war
--config=C:/Workflow/CaseManagement/analytics/CaseEventEmitter.json
--appName=CaseEmitter_CCDM.war --operation=install --type=Standard --cell=CaseEmitter2e21Cell01 --node=CaseEmitter2e21Node03 --server=server1 -krbConf=C:/krb5.conf
- If you use the --kerbConf parameter to pass a Kerberos configuration
file, restart the target deployment environment for the configuration to take effect.
Results
The script creates a new application WAR file with the name you specified and installs the
new Case event emitter application.
- You are prompted to pass administration credentials to the WebSphere Application
Server cell, and any mandatory
parameters that you have not specified on the command line.
- The CaseEventEmitter.json configuration is pushed to the WAR file to create
a new emitter application WAR file and sends it to a new folder named
CaseEventEmitter_<timestamp>. The name of the new event
emitter application is the value that you passed to the --appName parameter or
the CaseEventEmitter.war default name.
- Before the script deploys the new event emitter application, it checks for any existing
application with the same name.
- If the script does not find any application with the same name, it installs the new application
to the selected profile of the WebSphere Application
Server environment.
- If the script finds an existing application with the same name, a message warns the user and the
script exits. You must change the --appName value and run the script
again.
- If you specified the --kerbConf parameter, the value is set to the server
and, for a cluster, to each server member. If the java.security.krb5.conf JVM
property already exists, you are asked whether to overwrite or not.
- If the target environment is a clustered environment, the configuration is updated and
synchronized with each node.