Design Time Mode and Runtime Mode

#### Search Results

Search

# Design Time Mode and Runtime Mode

Application Designer may run in two different modes:

> Design Time Mode

>   All resource files which are required by Application Designer are read from the file system using the `cis.home` parameter value inside the web.xml configuration file.

>   The Application Designer class loader may be used. This means you can use the feature to dynamically reload application classes without having to restart the web application all the time.

> Runtime Mode

>   All resource files are read internally via mechanisms of the servlet container, by which a web application can access its resource files.

>   The Application Designer class loader must not be used.

This document covers the following topics:

- When to Use which Mode

- Setup

- Class Loader Considerations

- File Access Considerations

## When to Use which Mode

The design time mode is typically used in the following scenarios:

- During development.

- With productive installations, if they are not clustered.

The runtime mode is used in the following scenarios:

- Productive installations which are distributed by the servlet container or application server on several cluster nodes.

The design time mode has the advantage that all resources are read from the file system, and are not blocked after access. This means that you can recreate and change these resources without restarting the web application. This simplifies the development a lot.

## Setup

The switch from design time mode and runtime mode is configured in the web.xml file:

- If the `cis.home` parameter is set, the design time mode is switched on.

      <init-param id="CISHOME">
          <param-name>cis.home</param-name>
          <param-value>REALPATH</param-value>
      </init-param>

- If the `cis.home` parameter is not set, the runtime mode is switched on.

      <!--
      <init-param id="CISHOME">
          <param-name>cis.home</param-name>
          <param-value>REALPATH</param-value>
      </init-param>
      -->

## Class Loader Considerations

Application Designer may use its own class loader below the web application's class loader. The purpose of this class loader is to dynamically replace classes during development in order to run newly compiled versions of your software without having to restart the web application all the time.

In the configuration file cisconfig.xml, you can switch this possibility on or off.

See Appendix D - Class Loader Concepts for more information on what it means to change between "own Application Designer class loader" and "standard runtime with web application class loader". Both expect classes to be located at different locations. As a consequence, you have to copy classes accordingly in order to bring your application from design time mode to runtime mode.

## File Access Considerations

In design time mode (having a defined cis.home directory), classes and Application Designer resources (multi-language files) are read from the file system. The reason is that classes can be reloaded without restarting the web application. In runtime mode, this is not done anymore: classes are read by the web application class loader, resources are read via the servlet context.

Consequence: there is no dependency from any file access to a predefined directory - Application Designer is completely clusterable.

### On this page

- When to Use which Mode
- Setup
- Class Loader Considerations
- File Access Considerations