Pattern - Declarative Configurations
Features
- The configuration of a system is declared in a machine readable format.
- It is not scripted, but declared, for some runtime to interpret.
- Different tools can read/write the configuration.
Advantages
- More tool-neutral that procedural configuration scripts.
- Text files can be hand edited.
- XML formats offer editor and XSL support.
- RDF representations are the ultimate tool-neutral format for pure declarative data.
Disadvantages
- It is very hard to be fully declarative.
- There are many different declarative configuration languages.
- Hand editing can be error prone.
- Requires an interpreter/runtime to instantiate the configuration.
- It is very hard to be purely declarative. You can describe the steady state of a system, and so feed into a State-driven deployment engine -but you may need to describe procedural steps along the way.
SmartFrog support
SmartFrog is a declarative configuration language, one that can be interpreted by local and remote SmartFrog runtimes.