Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

share|improve this question
    
this sounds like a great job for a relational database –  Ryathal Oct 10 '12 at 20:21
add comment

3 Answers

up vote 2 down vote accepted

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.

share|improve this answer
add comment

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

share|improve this answer
    
in this case, although CMDB can be closely related, this is not the feature set we are looking for. CMDB is typically configuring hosts and individual installs and this is more about globally configuring features across an entire Saas offering. –  Jeff Martin Nov 5 '12 at 14:33
add comment

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...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.