Grass is an open source tool for
managing configuration files of
an application, which needs to be deployed in various
target
environment during their development/maintenance life cycle. An
application after development could be deployed in various
environments like System Integration Testing, Performance
Testing, User Acceptance Testing, Staging and Production
environment.
An application may have many
configuration files to configure different application components.
These applications could also be deployed in
wide
variety of environments. For each of
these environment,
there would
be a different set of same configuration files. These different set of
configuration files
define the same set of
configurable parameters, but with different values specific to that
target environment. As a result of this the number of configuration
files to be
created and maintained increases significantly. Let us take a
config file called datasource.xml, defining database settings. For each
environment a datasource.xml has to be created to define appropriate
settings for the environment. If there are 5 config files and 5
different environments, then totally 25 different config files have to
be created and maintained.
Grass simplifies the task of defining and
managing config files for multiple target environment. It uses one base
set of config files and the xml
based grass config file for generation of config files for different
environment. The grass config file contains grass tool settings,
details of
different target environment, set of config files for a target and set
of token values for a target. This data is used by grass, in generation
of config files for each defined environment.
The configuration files of an application may be
classified
into two
categories namely, static and dynamic configuration files. The
dynamic configuration files have replaceable tokens. These tokens can
be
replaced with environment specific value. The
static configuration files are fixed and have no replaceable tokens. An
application may have multiple target environments. Configuration files
and
Token values for different target environments are specified
in grass config file.
Grass config builder tool can be run as a command
line utility to generate the config files for different environments.
It also provides an Ant task, which can be used to generate config
files
from Ant build script. Grass eclipse plug in provides a GUI tool to
manage and generate application config files frm the IDE
(integrated development environment).
Copyright © 2007,
grass - Saravana Aravind R
|