Step 3: Deploying the Decision Center WAR files
You copy the Decision Center archives to the apps directory of your WebSphere Liberty profile server.
Procedure
- Add the following to the
jvm.optionsfile. The first two lines concern the heap size, and the next two concern UTF-8 encoding:-Xmn2048m -Xms4096m -Xmx8192m -Dclient.encoding.override=UTF-8 -Dfile.encoding=UTF-8You must set the encoding to UTF-8 in the
jvm.optionsfile before you start the server. - Copy from <InstallDir>/teamserver/applicationservers/WLP to
<WLP_HOME>/usr/servers/<SERVER_NAME>/apps
the Decision Center
applications:
- decisioncenter.war - The Business console.
- decisioncenter-api.war - The REST API tool.
Important: Deploying the WAR files sets the persistence locale. After you save a rule to the database, you must not change the persistence locale. If you want to install Decision Center in a language other than English, see Setting the persistence locale. - In
<WLP_HOME>/usr/servers/<SERVER_NAME>/server.xml,
add the following:
- Enable additional features that are required for Decision Center:
<!-- Enable features --> <featureManager> <feature>servlet-6.0</feature> <feature>pages-3.1</feature> <feature>jdbc-4.3</feature> <feature>appSecurity-5.0</feature> <feature>concurrent-3.0</feature> <feature>jndi-1.0</feature> <feature>ssl-1.0</feature> <feature>transportSecurity-1.0</feature> </featureManager>Note: You may need to enable the version of these features by running a command such as<WLP_HOME>/bin/installUtility install servlet-6.0 pages-3.1 jdbc-4.3 appSecurity-5.0 jndi-1.0 concurrent-3.0 ssl-1.0. - Tell the session management not to throw an exception for unauthorized requests, but
to invalidate the session instead:
<httpSession cookieName="DCSESSIONID" invalidateOnUnauthorizedSessionRequestException="true"/> - Specify the address and port number on which the server listens:
<httpEndpoint id="defaultHttpEndpoint" host="*" httpPort="9081" httpsPort="9443"/> - Make sure that your data source is defined (see Step 1: Creating a data source).
- Define the configuration for the web container for all applications:
<webContainer deferServletLoad="false" enableDefaultIsElIgnoredInTag="true" enableJspMappingOverride="true"/>Note: SetdeferServletLoadtofalseto load the applications at deployment time (longer deployment time), ortrueto load the applications at first access (longer first access time). Set the other two options totrueto ensure that JSP comes from the applications. - Declare the two Decision Center applications, set the
classloader order to ParentLast, and bind the applications to user groups
according to your security realm (Step 2: Configuring user access to Decision Center). The following examples show how to bind the applications so that you
have an administrative power user and regular users.
For a basic user registry:
For an LDAP:<!-- Business console --> <application type="war" id="decisioncenter" name="decisioncenter" location="${server.config.dir}/apps/decisioncenter.war"> <classloader delegation="parentLast" /> <application-bnd> <security-role name="rtsAdministrator"> <group name="AdminGroup"/> </security-role> <security-role name="rtsInstaller"> <group name="InstallGroup"/> </security-role> <security-role name="rtsUser"> <special-subject type="ALL_AUTHENTICATED_USERS" /> </security-role> </application-bnd> </application> <!-- DC REST API --> <application type="war" id="decisioncenter-api" name="decisioncenter-api" location="${server.config.dir}/apps/decisioncenter-api.war"> <classloader delegation="parentLast" /> <application-bnd> <security-role name="rtsAdministrator"> <group name="AdminGroup"/> </security-role> <security-role name="rtsInstaller"> <group name="InstallGroup"/> </security-role> <security-role name="rtsUser"> <special-subject type="ALL_AUTHENTICATED_USERS" /> </security-role> </application-bnd> </application><!-- Business console --> <application type="war" id="decisioncenter" name="decisioncenter" location="${server.config.dir}/apps/decisioncenter.war"> <classloader delegation="parentLast" /> <application-bnd> <security-role name="rtsAdministrator"> <group name="AdminGroup" id="AdminGroup" access-id="group:odmrealm/CN=AdminGroup,ou=groups,dc=example,dc=com"/> </security-role> <security-role name="rtsInstaller"> <group name="InstallGroup" id="InstallGroup" access-id="group:odmrealm/CN=InstallGroup,ou=groups,dc=example,dc=com"/> </security-role> <security-role name="rtsUser"> <special-subject type="ALL_AUTHENTICATED_USERS" /> </security-role> </application-bnd> </application> <!-- DC REST API --> <application type="war" id="decisioncenter-api" name="decisioncenter-api" location="${server.config.dir}/apps/decisioncenter-api.war"> <classloader delegation="parentLast" /> <application-bnd> <security-role name="rtsAdministrator"> <group name="AdminGroup" id="AdminGroup" access-id="group:odmrealm/CN=AdminGroup,ou=groups,dc=example,dc=com"/> </security-role> <security-role name="rtsInstaller"> <group name="InstallGroup" id="InstallGroup" access-id="group:odmrealm/CN=InstallGroup,ou=groups,dc=example,dc=com"/> </security-role> <security-role name="rtsUser"> <special-subject type="ALL_AUTHENTICATED_USERS" /> </security-role> </application-bnd> </application>
- Enable additional features that are required for Decision Center:
- Save the file.
What to do next
To verify the deployment
of Decision Center,
start your Liberty server and then enter the URLs of the three applications
in a web browser:
- Business console - https://localhost:9081/decisioncenter.
- REST API tool - https://localhost:9081/decisioncenter-api.
You can now complete the Decision Center configuration in the next step.