NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

Goals of NGWS Configuration

The goals and requirements of the configuration system from the Runtime's perspective include:

Storage of rich data types. The settings used to configure the NGWS runtime do not all have the same size and shape. Some of the data is static and can readily be represented as a relational schema. However, some of the data is stored as serialized objects. In addition, configuration data in NGWS is user extensible, and therefore its contents are not natively known to the NGWS frameworks and runtime. The configuration system must support the storage of these "flavors" of data.

Flexibility. NGWS developers must be able to add configuration data to the system without going through a central authority. Additionally, end user customers must be able to leverage the configuration systems for customer-specific settings as well (i.e the DSN for my app).

Xcopy deployment. The Runtime makes xcopy deployment feasible through self-describing applications. The configuration system should not hamper this goal.

Hierarchical Configuration. It is often useful for administrators to specify configuration information at various levels of a hierarchy. Example levels include machine, user, application and assembly. The configuration system must support the ability to specify configuration at multiple, custom defined levels, and must provide for custom merge rules to be supplied.

Secure storage of secrets. Portions of the configuration data managed by the Runtime are secrets that must be secured against unwarranted access and tampering. Examples of secrets include passwords and private keys. The configuration must provide for secure storage of these types of data.

Configuration data security. In addition to storing secrets, the configuration system must protect all configuration data from against unwarranted access and tampering.

Integration with Admin Tools. The interfaces defined by the configuration system must support both read and write access and be efficiently usable by Admin tools (for example, they must be provided in managed code).

Varying Application Scenarios. The NGWS frameworks and runtime team has identified three primary application scenarios for the Tech Preview. These are an ASP+ application, a client executable launched from the shell, and code that is downloaded and executed in a web browser. The configuration system and corresponding admin tools must support all three scenarios. In addition, NGWS is both a client and a server platform. The configuration system must not emphasize one at the expense of the other.