I am an architect in an enterprise looking to build a SaaS solution. Our products are distributed over many different deployable containers, Web Services, Web UI’s, etc.
I am looking for some open-source or 3rd party software solution to manage the settings of our application. These would be similar to the settings you might find in Word or Eclipse or Visual Studio. The settings would control various behaviors and features of the product. (Probably not settings like which database to connect to but more like, should I show line numbers on the page or not by default..). Ideally, we would be able to store values for different dimensions (by tenant, by user, by application environment… )
Because we have so many different deployables, I am looking for a centralized solution that can provide a web service that each of the deployables can get their individual settings from.
Does anyone know of a centralized service providing this sort of features or give me some help in searching for an alternative to rolling our own?
1
We use the database itself for this.
We have a table where every record has a “Last Updated” datetime field for the settings stored in the record (updated using a trigger).
Our apps check the datetime field for whichever settings they’re interested in and if it’s more recent than the value they have in memory, the settings are reloaded and the in-memory datetime updated.
Works for many different apps checking 1 or more groups of settings.
Sounds like a business rules engine where you only use simple rules.
Those engines provide a library which fetches the rules from a centralised repository and caches them in an efficient
Way.
Just google for “business rules engine“ and you’ll find lots of them…
Configuration management is a space by itself and such a DB is often called CMDB.
CMDB, quite often doesn’t have to be relational DB. What i can recall most effectively will be OneCMBD – but see if that fits your need.
There are many solutions and some open source solutions such as a few that you can find here: http://linuxaria.com/article/6-cmdb-open-source?lang=en
1