Patent ID: 8219854

Claim:
At a computer system including one or more processors and system memory, the computer system also including a one or more configuration readers, and a rule store, the rule store containing a plurality of configuration validation rules, each of the one or more configuration readers configured to read configuration data for one or more configuration validation rules from among the plurality of configuration validation rules, a rule engine configured to apply configuration validation rules against configuration data, a method for attempting to validate the configuration of an application, the method comprising: an act of accessing a configuration validation rule from the rule store, the configuration validation rule configured to execute against configuration data to validate an at least partial configuration of the application, the configuration validation rule containing rule metadata, detection logic, and resolution logic, the rule metadata identifying at least one configuration reader, from among the one or more configuration readers, the configuration validation rule is to read configuration data from, the detection logic indicating how to detect one or more conditions in configuration data accessed from the identified configuration reader, the resolution logic representing one or more possible resolutions to the one or more detectable conditions; an act of matching the accessed configuration validation rule to the at least one identified configuration reader based on the at least one configuration reader being identified in the rule metadata; an act of accessing a portion of configuration data from the at least one identified configuration reader; an act of attempting to validate the at least partial configuration of the application by executing the detection logic against the accessed portion of configuration data, execution of the detection logic including attempting to detect any of the one or more conditions the detection logic; an act of detecting a condition, from among the one or more conditions, in the accessed portion of configuration data; an act of presenting at least the detected condition at a user interface; and an act of applying a resolution, from among a presented one or more possible resolutions for the detected condition, based on a resolution policy.