Where to store global enterprise properties?
- by shylynx
I'm faced with a crowd of java applications, which need different global enterprise wide properties for operation, for example: hostname of the central RDBMS, hostname and location of the central self-service portal, host location of central LDAP, host location of central mail server etc.
Formally we build each application with a properties file, where all this properties are definied. But that's a very bad solution, because if the hostname of the mail server changes, we need to change the properties files for each application and deploy all applications again.
Our idea is to centralize this properties, so that each application can ask for each property at runtime, for example:
Idea: Put the properties file to an easy accessible file share. So if we need to change a property, each application uses the new properties.
Idea: Put the properties to database. Main disadvantage: we need a dependency to database client libraries for each application.
Idea: Put all applications into one big application server, that provides system properties for each application. Main disadvantage: needs deployment of each application to one application server. But that isn't a realistic scenario.
Idea: Webservice that provides global enterprise wide properties. Main disadvantage: not very secure, because some properties are passwords or user credentials.
What other alternatives are recommended? What is state of the art?