jConfig is an extremely helpful utility, arming the developer with a simple API for the management of properties. Parts of the implementation are based on the idea that Properties, from Java's perspective, are a good thing, but can be better. jConfig employs the use of XML files for storing and retrieving of property information. The information can be stuffed into nice categories, which makes management quite a bit simpler. The ability to load from a URL is also a nice feature. It allows for a central repository where multiple instances of jConfig can read a single file. The nifty ability to
switch between XML and Properties files isn't fully exploited yet, but will be coming soon. That will mean that the developer would take their existing Properties files and export them to XML. That means less time to get up and get going with jConfig.
With jConfig we hope to have provided the developer with another powerful accessory for his or her's toolbox.
Java applications are typically deployed in multiple environments and platforms, each requiring some unique configuration. JFig gives developers a simple yet powerful tool to manage their applications’ configuration. It allows them to:
1. Store application configuration in one common repository of XML files
2. Access configuration data using one common, convenient interface
3. Easily define multiple configurations, dynamically modifying those variables that need to change in different situations
4. Eliminate the error prone practice of defining the same configuration variables in multiple locations
5. Ease the management, deployment, and control of configuration files
Puppet is a declarative language for expressing system configuration, a client and server for distributing it, and a library for realizing the configuration.
Rather than approaching server management by automating current techniques, Puppet reframes the problem by providing a language to express the relationships between servers, the services they provide, and the primitive objects that compose those services. Rather than handling the detail of how to achieve a certain configuration or provide a given service, Puppet users can simply express their desired configuration using the abstractions they’re used to handling, like service and node, and Puppet is responsible for either achieving the configuration or providing the user enough information to fix any encountered problems.
Chef is a systems integration framework, built to bring the benefits of configuration management to your entire infrastructure. With Chef, you can:
* Manage your servers by writing code, not by running commands. (via Cookbooks)
* Integrate tightly with your applications, databases, LDAP directories, and more. (via Libraries)
* Easily configure applications that require knowledge about your entire infrastructure ("What systems are running my application?" "What is the current master database server?")
M. Nieke, C. Seidl, и S. Schuster. Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems, стр. 73--80. New York, NY, USA, ACM, (2016)