Server Configuration

The following sections describe the server-side modules and parameters you should configure before deploying your Influent application.

Cache

Influent utilizes Ehcache to store session states in memory and on disk without requiring write access to your source databases.

By default, Ehcache is configured for a server with 8 GB RAM. There are four caches used by Influent:

Cache Stores RAM Disk Cache
SimplePageCachingFilter Web pages generated by the Server 0.6 GB 1.8 GB
ChartDataCache Account activity charts 0.3 GB 0.9 GB
persistenceCache State of the Flow workspace 0.6 GB 1.8 GB
dynamicClusteringCache Clusters in the Flow workspace 4.5 GB 13.5 GB
To edit the resources assigned to each cache
  1. Open the ehcache.xml file in the src/main/resources/ directory of your project.
  2. Edit the maxBytesLocalHeap attribute for each cache to specify the allocated RAM.

    We recommend you allocate 75% of the server RAM among the four caches according the guidelines below and reserve the remaining 25% to working memory.

    Cache Portion of Unreserved RAM
    SimplePageCachingFilter 10%
    ChartDataCache 5%
    persistenceCache 10%
    dynamicClusteringCache 75%
  3. Edit the maxBytesLocalDisk attribute for each cache to specify the allocated disk cache.

    We recommend you assign a minimum of 3 times the allocated RAM in disk cache. For example if you assigned 0.6 GB RAM, then assign 1.8 GB disk cache.

  4. Edit the diskstore element to change the location of the stored caches. By default, Influent stores each cache in the ehcache.disk.store.dir directory.
  5. Save the ehcache.xml file.

Authentication (Optional)

Optional plugin modules like Apache Shiro allow you to enable user authentication for you Influent application.

NOTE: See the Kiva example application for a sample implementation of Shiro. None of the other example applications enable authentication.

To use Apache Shiro to enable user authentication
  1. Open the client-config.js file your project's src/main/resources/ folder.
  2. Set the useAuth property to true and save the file.
  3. Create a login JavaServer Page (JSP) in your project's src/main/webapp/ folder. You can copy and modify the login.jsp file in the Kiva example application.
  4. Open the server.config file in your project's src/main/resources/ folder.
  5. Add, uncomment or edit the following SimpleShiroAuthModule properties file to configure the login and hash algorithm settings:
    Property Description
    shiro.hashAlgorithmName Specify the hash algorithm used: MD5, SHA-1, SHA-256, SHA-384, or SHA-512.
    shiro.redirectUrl Redirect link (path/filename) that forces users to complete the login page. Defaults to /login.jsp.
    shiro.loginUrl Direct link (path/filename) to the login page. Defaults to /login.jsp
    shiro.successUrl Page (path/filename) to display upon successful login. Defaults to /.
  6. Save the server.config file.
  7. Create a shiro.ini file in your src/main/resources/ folder.
  8. Populate the shiro.ini file with your usernames and password hashes. You can also specify roles for each of your users.

    [users]
    # username = MD5 hash of password, role, role, role
    sgomez = 40324e489076c4c662a8692d69a93ee2
    troberts = dcf73fb31c4834f4a537a07e372e7ce2
    
  9. Save the file.

Next Steps

For information on configuring the Influent client, see the Client Configuration topic.

For more information on advanced server settings, see the Server Settings reference topic.