The web application runtime module

The web application runtime module is the infrastructure on which all modules rely. This module is mostly “invisible” to users and administratiors alike, but it is possible to configure certain aspects of it.

The in-memory cache manager

The iKnowBase system provides a cache system based on Ehcache ( http://www.ehcache.org). This cache helps in maintaining the performance of the system, by storing both metadata and content in memory, saving costly disk and database access.

The caches in iKnowBase are replicated betweeen servers, ensuring that all applications connected to the same repository see the same data. The mechanism used to communicate between the caches is specific to EHCache, and can be configured using the properties shown below.

For information on the meaning of these properties, see the EHCache Product Documentation.

The CacheManagerConfiguration accepts these configuration properties:

Property name Description
com.iknowbase.cache.EHCache.enableReplication Enable or disable cache replication.
com.iknowbase.cache.EHCache.peerDiscovery Sets the properties used by Ehcache to discover other nodes.
com.iknowbase.cache.EHCache.listenerProperties Sets the properties used by Ehcache node for cache replication.

The SecureToken engine

For most security purposes, iKnowBase uses the secure session mechanisms supported by the underlying application server. However, there are situations when this session is not available to all clients, and iKnowBase then needs an alternative, secure way of passing identity information. This token is generated using the HMAC_SHA1 message authentication algorithm, based on a secret key along with user identity and time information.

iKnowBase needs to generate a secure token for login information in the following scenarios:

By default, a suitable key is automatically generated when the application server starts up. However, for load balanced scenarios with multiple application servers, this would result in different keys and spurious failures during data load. You may then manually specifiy a secret key in the configuration. For optimum security, please use a long phrase with multiple words, numbers and special characters.

The SecureTokenEngineConfiguration_ accepts these configuration properties:

Property name Description
com.iknowbase.secureTokenEngine.secureKey Key value used for generating tokens, when required.