Configuring WebLogic

General

The following instructions describe how to configure Appian to run on WebLogic Server 12c R2 (12.2.1.3). See System Requirements for required patch information.

Deployment settings for Administration Server are used as examples. Alternative configurations (such as Managed Server deployments) are supported.

The file locations referenced in this document may vary depending on your environment. The following conventions are used to indicate the locations you’ve selected on your servers.

  • The WebLogic Server install location is referred to as <WEBLOGIC_HOME>.
  • The Appian install location is referred to as <APPIAN_HOME>.

Requirements

This version of Appian requires that WebLogic Server 12c R2 (12.2.1) be configured to use JDK 8. WebLogic Server does not ship with JDK 8. Follow the instructions provided by Oracle to configure WebLogic Server with JDK 8.

Creating Servers

The default AdminServer is sufficient.

Configure JVM Settings

Set the JVM arguments for server start by completing the following:

  1. Edit <WEBLOGIC_HOME>/<project_name>/domains/<domain_name>/bin/setDomainEnv.sh (make the corresponding change to setDomainEnv.cmd if on Windows)
  2. Replace the line JAVA_OPTIONS="${JAVA_OPTIONS}" with the following:

    • For Linux:

    JAVA_OPTIONS="-Duser.timezone=GMT -Dfile.encoding=UTF-8 -Djavax.xml.soap.MessageFactory=weblogic.xml.saaj.MessageFactoryImpl -Djava.awt.headless=true -Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.log.RedirectStdoutToServerLogEnabled=true -Dweblogic.log.RedirectStderrToServerLogEnabled=true ${JAVA_OPTIONS}"

    • For Windows:

    set JAVA_OPTIONS=-Duser.timezone=GMT -Dfile.encoding=UTF-8 -Djavax.xml.soap.MessageFactory=weblogic.xml.saaj.MessageFactoryImpl -Djava.awt.headless=true -Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -Dweblogic.log.RedirectStdoutToServerLogEnabled=true -Dweblogic.log.RedirectStderrToServerLogEnabled=true %JAVA_OPTIONS%

  3. Click Save to save the configuration update.

Configure WebLogic Server Authentication Handling for HTTP BASIC Authentication

This section shows how to configure WebLogic to allow requests that contain BASIC authentication headers to pass the default security filter and delegate them to the security filters of the application. This step is required in order to use the Appian application for mobile devices.

NOTE: This configuration is set for all applications within the domain. For more information on this setting, see Understanding BASIC Authentication with Unsecured Resources in the WebLogic documentation.

In <WEBLOGIC_HOME>/<project_name>/domains/<domain_name>/config/config.xml, add an enforce-valid-basic-auth-credentials element with a value of false to the existing security-configuration element using the code below:

1
2
3
4
5
6
7
8
<domain ...>
  ...
  <security-configuration>
    ...
    <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
  </security-configuration>
  ...
</domain>
If Clustering
Make this change on the filesystem of each application server in the cluster located in a different domain or on a remote machine.

Configuring JMS

Configure your JMS Server

  1. Start the WebLogic Admin Server.
  2. Open and log in to the WebLogic Admin Console.
  3. Select Services > Messaging and select JMS Servers, then click New.
  4. Type AppianJMSServer in the Name field to identify your JMS server.
  5. Click Next.
  6. Accept the default persistent store of (none) and click Next.
  7. Select AdminServer from the Target list.
    • If clustering, instead of AdminServer, select the server name from the Target list for a server in the cluster.
    • Repeat the above steps to create a JMS Server for each server in the cluster, giving each JMS server a unique name.
  8. Click Finish.

Configure the JMS system module

  1. Open the WebLogic Admin Console.
  2. Select Services > Messaging.
  3. Select JMS Modules and click New.
  4. Type AppianSystemModule in the Name field to identify your System Module and click Next.
  5. In the Servers group box, select the AdminServer checkbox and click Next.
    • If clustering, in the Servers group box, select the Cluster checkbox and click Next.
  6. Click Finish.

Configuring the Process Integration Queue

This section asks you to access your JMS system module multiple times. To do so, go to Services > Messaging > JMS Modules > AppianSystemModule.

  1. Create a queue for the JMS system module by completing the following:
  2. Open the JMS system module created in the prior step.
  3. Click New.
  4. Select Queue and click Next.
    • If clustering, select Distributed Queue instead of Queue.
  5. Type AppianProcessIntegrationQueue in the Name field.
  6. Type jms/AppianProcessIntegrationQueue in the JNDI Name field.
  7. Click Finish.
  8. Create a Connection Factory in the JMS system module by completing the following:
    1. From the JMS system module click New.
    2. Select Connection Factory and click Next.
    3. Type AppianProcessIntegrationConnectionFactory in the Name field.
    4. Type jms/AppianProcessIntegrationConnectionFactory in the JNDI Name field.
    5. Click Finish.
  9. Configure a New Subdeployment for the JMS system module by completing the following:
    1. From the JMS system module select the Subdeployments tab and click New.
    2. Type AppianProcessIntegrationSubdeployment in the Subdeployment Name field and click Next.
    3. Select the AppianJMSServer checkbox in the JMS Servers group box.
      • If clustering, select each of the JMS Servers created for the servers in the cluster.
    4. Click Finish.
  10. Select Subdeployment for Queue and Connection Factory by completing the following:
    1. From the JMS system module open the Connection Factory, which was just created.
    2. Click the Subdeployments tab.
    3. Select AppianProcessIntegrationSubdeployment from the Subdeployment list and click Save.
    4. From the JMS system module open the Queue, which was just created.
    5. Click the Subdeployments tab.
    6. Select AppianProcessIntegrationSubdeployment from the Subdeployment list and click Save.

Configure the Appian Data Source

Before starting the Appian application, an RDBMS data source must be configured.

Follow the WebLogic section of the Configuring Relational Databases documentation.

Configuring JNDI Access with a Named Context

(Optional) This step is not recommended unless security policies prevent anonymous JNDI lookups in your environment.

The Appian application conducts JNDI lookups using an anonymous context by default. If anonymous JNDI access is not permitted, you can place a properties file named jndi.properties in the classpath (<APPIAN_HOME>/ear/suite.ear/APP-INF/classes/resources/) and define the following properties with the values of a service account that has permission to access the JNDI tree:

  • java.naming.security.principal=
  • java.naming.security.credentials=

Configuring Stuck Thread Warnings

Appian uses several long-running threads inside the JVM to do things like process background activity. By default, WebLogic will detect these threads as being stuck and will periodically write warnings for them to the logs. These log messages are unnecessary and can confuse troubleshooting efforts.

To disable this logging:

  1. From the WebLogic Administration Console, go to Environment -> Servers -> AdminServer -> Configuration -> Overload.
  2. Set Max Stuck Thread Time to 0.

Importing Appian into WebLogic

Import the Required Library

Import the required jstl-1.2.war library provided by WebLogic by completing the following:

  1. From the WebLogic Administration Console, on the Deployments screen, click Install.
  2. Navigate to the folder <WEBLOGIC_HOME>/wlserver/common/deployable-libraries.
  3. Select jstl-1.2.war.
  4. Select Install this deployment as a library, and click Next.
  5. Enter jstl as the name, and click Finish.

Install the Deployment Package

  1. Start Appian services and search server using the appropriate start procedures for your environment.
  2. Once all Appian services and search server have been started, deploy the Appian EAR.
    • From the WebLogic Administration Console, on the Deployments screen, click Install.
    • Select suite.ear (<APPIAN_HOME>/ear/suite.ear) and click Next.
    • Select Install this deployment as an application and click Next.
  3. Accept the default settings and click Finish.

Logging into Appian

Type http://<host-name>:7001/suite/designer into your browser to log into Appian.

Clearing the Application Server Cache

Delete the following directories to clear the cache when re-deploying the application.

1
2
<WEBLOGIC_HOME>/<project_name>/domains/<domain_name>/config/deployments/<suite.ear>
<WEBLOGIC_HOME>/<project_name>/domains/<domain_name>/servers/AdminServer/tmp/_WL_user/<suite>
FEEDBACK