Discussion
Pegasystems Inc.
IT
Last activity: 26 Feb 2019 11:34 EST
Sample script to configure IBM WebSphere Application Server (with Oracle Database) for Pega Platform
The script configure.sh attached to this article is provided as a sample and on an AS IS BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. The script leverages the WebSphere administrative (wsadmin) scripting program (see IBM Knowledge Center - Using wsadmin scripting).
The script does NOT replace steps described in the Pega Platform Installation Guide, the WebSphere administrator shall always refer to the installation guide performing the configuration.
The WebSphere administrator may customize it to fit any particular need of the local environment, for example to have different defaults.
The script has been developed on WebSphere Application Server BASE version, it does not create a proper WebSphere cluster and may require to be adapted by the WebSphere administrator for usage on WebSphere Application Server ND version. However, the Pega Platform cluster is independent from the application container cluster technology, if any, and will anyway form its own cluster if more than one single node WebSphere Application Server is configured.
The following sample command will create the basic configuration, an admin server to launch the WebSphere administrative console and a Pega server (in this case the script will use local host details to create the server):
$ ./configure.sh DATABASEURL=oracle01:1521/orcl PEGARULESSCHEMA=pega811_rules PEGADATASCHEMA=pega811_data PEGAADMINPASSWORD=PEGA_ADMIN PEGARULES=pega811_data PEGARULESPASSWORD=PEGA_DATA DEPLOYNAME=prpc811_j2ee14_ws DEPLOYPATH=/opt/pega/811/archives
The output will be:
Tue Feb 26 11:35:27 UTC 2019 Setting environment
Tue Feb 26 11:35:27 UTC 2019 Creating the WebSphere configuration for Oracle database as:
NODETYPE = BackgroundProcessing,Search,Stream
ROLE = util
SEARCH = /opt/pega/search
PEGAHEAP = 4096
PEGAYOUNGHEAP = 1024
PEGALOGS = /opt/pega/logs
PEGATEMP = /opt/pega/temp
PEGACONFIG = /opt/pega/conf/prconfig.xml
PEGARULESSCHEMA = pega811_rules
PEGADATASCHEMA = pega811_data
DATABASEURL = oracle01:1521/orcl
JDBCDRIVERPATH = /opt/oracle
JDBCDRIVER = ojdbc8.jar
PEGAADMIN = pega_admin
PEGAADMINPASSWORD = PEGA_ADMIN
PEGAADMINMIN = 5
PEGAADMINMAX = 10
PEGARULES = pega811_data
PEGARULESPASSWORD = PEGA_DATA
PEGARULESMIN = 30
PEGARULESMAX = 100
PEGAMKT =
PEGAMKTPASSWORD = changeit
PEGAMKTMIN = 30
PEGAMKTMAX = 100
DEPLOYPATH = /opt/pega/811/archives
DEPLOYNAME = prpc811_j2ee14_ws
PEGAHELP = false
WAS_HOME = /opt/websphere/was9009/AppServer
WAS_PROFILE = profile
WAS_CELL = cell
WAS_NODE = docker01
WAS_ADMINSERVER = admin
WAS_ADMINUSER = websphere
WAS_ADMINPASSWORD = changeit
WAS_PEGASERVER = pega
Tue Feb 26 11:35:27 UTC 2019 Launching profile and admin server creation...
INSTCONFSUCCESS: Success: Profile profile now exists. Please consult /opt/websphere/was9009/AppServer/profiles/profile/logs/AboutThisProfile.txt for more information about this profile.
Application server environment to create: Application server
Location: /opt/websphere/was9009/AppServer/profiles/profile
Disk space required: 200 MB
Profile name: profile
Make this profile the default: True
Node name: docker01
Host name: docker01
Enable administrative security (recommended): True
Administrative console port: 9060
Administrative console secure port: 9043
HTTP transport port: 9080
HTTPS transport port: 9443
Bootstrap port: 2809
SOAP connector port: 8880
Run application server as a service: False
Create a Web server definition: False
Performance tuning setting: Standard
Tue Feb 26 11:37:49 UTC 2019 Creating the Pega server and its configuration...
WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.
ADMA0073W: Custom permissions are found in the [("com.ibm.oti.shared.SharedClassPermission" "com.pega.pegarules.internal.bootstrap.phase2.PRBaseLoader" "read,write"), ("com.ibm.oti.shared.SharedClassPermission" "com.pega.pegarules.bootstrap.loader.PRAppLoader" "read,write"), ("com.ibm.oti.shared.SharedClassPermission" "com.pega.apache.axis2.deployment.DeploymentClassLoader" "read,write"), ("com.ibm.websphere.security.WebSphereRuntimePermission" "getSSLConfig"), ("com.ibm.websphere.security.WebSphereRuntimePermission" "AdminPermission"), (unresolved mx4j.server.MBeanPermission -#-[-] queryNames), (unresolved org.elasticsearch.SpecialPermission null null), ("com.ibm.oti.shared.SharedClassPermission" "org.apache.uima.internal.util.UIMAClassLoader" "read,write"), ("com.ibm.websphere.security.WebSphereRuntimePermission" "getSSLConfig"), ("com.ibm.oti.shared.SharedClassPermission" "java.net.URLClassLoader" "read,write")] policy file. Custom permissions can compromise the integrity of Java 2 Security.
WASX7327I: Contents of was.policy file:
...
ADMA5016I: Installation of prpc811_j2ee14_ws started.
ADMA0139W: The resource assignment of name jdbc/PRFileStore and type javax.sql.DataSource, with JNDI name url/pega/none is found within scope of module PegaRULES EJB Engine with URI prbeans.jar,META-INF/ejb-jar.xml deployed to target WebSphere:cell=cell,node=docker01,server=pega, but of wrong resource type URL. The expected resource type is DataSource, WAS40DataSource.
ADMA0139W: The resource assignment of name jdbc/PRFileStore and type javax.sql.DataSource, with JNDI name url/pega/none is found within scope of module PegaRULES EJB Engine with URI prbeans.jar,META-INF/ejb-jar.xml deployed to target WebSphere:cell=cell,node=docker01,server=pega, but of wrong resource type URL. The expected resource type is DataSource, WAS40DataSource.
ADMA0139W: The resource assignment of name jdbc/PRFileStore and type javax.sql.DataSource, with JNDI name url/pega/none is found within scope of module prweb.war with URI prweb.war,WEB-INF/web.xml deployed to target WebSphere:cell=cell,node=docker01,server=pega, but of wrong resource type URL. The expected resource type is DataSource, WAS40DataSource.
ADMA0139W: The resource assignment of name jdbc/PRFileStore and type javax.sql.DataSource, with JNDI name url/pega/none is found within scope of module PegaRULES EJB Engine with URI prbeans.jar,META-INF/ejb-jar.xml deployed to target WebSphere:cell=cell,node=docker01,server=pega, but of wrong resource type URL. The expected resource type is DataSource, WAS40DataSource.
ADMA0139W: The resource assignment of name jdbc/PRFileStore and type javax.sql.DataSource, with JNDI name url/pega/none is found within scope of module PegaRULES EJB Engine with URI prbeans.jar,META-INF/ejb-jar.xml deployed to target WebSphere:cell=cell,node=docker01,server=pega, but of wrong resource type URL. The expected resource type is DataSource, WAS40DataSource.
ADMA5068I: The resource validation for application prpc811_j2ee14_ws completed successfully, but warnings occurred during validation.
ADMA5058I: Application and module versions are validated with versions of deployment targets.
ADMA5018I: The EJBDeploy program is running on file /tmp/app2863288566704579461.ear.
Starting workbench.
EJB Deploy configuration directory: /opt/websphere/was9009/AppServer/profiles/profile/ejbdeploy/configuration/
framework search path: /opt/websphere/was9009/AppServer/deploytool/itp/plugins
build:RADWEJB95-I20150829_0214
Creating the project.
Deploying jar prbeans
Generating deployment code
Invoking RMIC.
okToInvokeInJVM true
okToInvokeInJVM true
Writing output file
Shutting down workbench.
EJBDeploy complete.
0 Errors, 0 Warnings, 0 Informational Messages
ADMA5007I: The EJBDeploy program completed on file /tmp/app2863288566704579461.ear
ADMA5005I: The application prpc811_j2ee14_ws is configured in the WebSphere Application Server repository.
ADMA5005I: The application prpc811_j2ee14_ws is configured in the WebSphere Application Server repository.
ADMA5081I: The bootstrap address for client module is configured in the WebSphere Application Server repository.
ADMA5053I: The library references for the installed optional package are created.
ADMA5005I: The application prpc811_j2ee14_ws is configured in the WebSphere Application Server repository.
ADMA5001I: The application binaries are saved in /opt/websphere/was9009/AppServer/profiles/profile/wstemp/Script169299931f3/workspace/cells/cell/applications/prpc811_j2ee14_ws.ear/prpc811_j2ee14_ws.ear
ADMA5005I: The application prpc811_j2ee14_ws is configured in the WebSphere Application Server repository.
SECJ0400I: Successfully updated the application prpc811_j2ee14_ws with the appContextIDForSecurity information.
ADMA5005I: The application prpc811_j2ee14_ws is configured in the WebSphere Application Server repository.
ADMA5005I: The application prpc811_j2ee14_ws is configured in the WebSphere Application Server repository.
ADMA5113I: Activation plan created successfully.
ADMA5011I: The cleanup of the temp directory for application prpc811_j2ee14_ws is complete.
ADMA5013I: Application prpc811_j2ee14_ws installed successfully.
Tue Feb 26 11:40:20 UTC 2019 End
After script execution, login to the administrative console and confirm that the configuration is correct as per Pega Platform Installation Guide by inspecting all the Pega related resources created. An admin server and a Pega server should have been created:

Verify the deployment of Pega application:

Verify the required data sources have been created:

A work manager dedicated to Pega should have been created as well:

and required URLs:

-
Your friendly neighborhood Technical Architect