System PartitionsΒΆ

At the highest level, we divide our system up into the following major partitions:

  • software,
  • configuration,
  • reference, and
  • data.

The actual contents of these can be any number of things, and it can be a bit confusing to understand the distinctions - for example, a program script (that we would normally think of as software) may be placed in the configuration portion of the system (since it is customer- or user-specific). This is because we categorize based on the role of the piece rather than on its file or component type.

Software is the fixed, “hard-coded” part of the system. Generally it consists of actual software - compiled or scripted - but may also contain resources such as icons, default configuration, etc. Software may be custom - built for a specific site or user - but generally, software is customer- and user-independent and reused across many installations. Examples include the core system, library modules, and application modules.

Configuration consists of the settings which tailor the software for a specific installation. The software reads its configuration, and changes its behavior accordingly. Examples include settings files, schema definitions, assembly lists, etc.

Reference is published data that is used by the software, but not modified by it. It resembles configuration, but tends to be much larger and with less of a “settings” nature. Generally this information is maintained or produced by an administrative or publishing tool at a central location and propagated outward to end users. Examples include maps, images, manuals, etc.

Data is the data produced and/or modified by the user or server process that uses the installation. This is your classic application data - documents, data records, reports, etc.

Consider this diagram:


The arrows indicate the normal interactions between the partitions:

  • software reads from configuration to control its behavior,
  • software reads from reference to inform the user, and
  • software reads and writes data that the user modifies.

Configuration and reference may be written by software, but that is not an end-user activity. Modifying the configuration is referred to as Configuration Management, while modifying the reference is referred to as Publishing.

Previous topic

The Partner Platform

Next topic

Framework and Platform Layers

This Page