Properties are used to define configuration. Depending on where and how they are defined and qualified, properties can be classified into application properties, module properties and process properties. The values for all three kinds of properties can be of one of the six primitive types (Boolean, Integer, DateTime, Long, Password, or String) or one of the available default shared resource type. These values are static and cannot be changed once an application has started execution. These values can only be changed at design time or deployment time.
The three levels of properties are hierarchical: application properties are in the outer most scope, followed by module properties, followed by process properties.
Properties defined in the inner layer can reference a property defined at its parent layer. For example, a process property can reference a module property instead of providing a literal value. Similarly, a module property value can be defined by literal values or source from its parent scope application property.
Any process property or module property that you define is available both in the activity configuration page and is also available to use as an input to an activity (from the Data Source tab of the Input tab for the activity).
The following diagram illustrates the relationship between the different types of properties: