From: Tresch, Anatole (KGVX 42)
Sent: Montag, 24. August 2015 15:53
To: 'MULCAHEY, DAVID F.'
Subject: RE: tamaya .... I have done something similar and would love to help

Hi David

thank very much for your mail. We will have a deeper look at it asap. Since you 
definitively bring in experience and enthusiasm for the topic it would great to 
have your support and views here also on in our project. You are welcome to 
discuss any ideas or improvements here on our developer list (cc'ed), add JIRA 
tickets and help us with the implementation. If all works out well, we would 
also be open on adding you as an committer/PPMC member...

Best,
Anatole

From: MULCAHEY, DAVID F. [mailto:[email protected]]
Sent: Montag, 24. August 2015 13:49
To: [email protected]<mailto:[email protected]>
Subject: tamaya .... I have done something similar and would love to help

I have been working on something eerily similar for a few years. I can't share 
details on version 1 as it was written for my company but the link below it to 
the 2nd version of what I have done. I had this set up as a private repo on 
github for quite a while but after stumbling across your efforts I figured I 
would make it public and share it. There is zero documentation written at this 
moment but I can answer any questions that you may have. Feel free to use 
whatever concepts you would like from what I have done. I am also interested in 
following your progress as I have a lot of interest in this area.

I generated this this morning just to put a page up.... I'll work on 
documenting everything soon.

http://dmulcahey.github.io/EnterpriseConfiguration/


the 60000 ft overview:

configuration info is loaded from the classpath.... You get to configure a 
loading order / override and merging strategy by defining a resolver chain.  An 
example of this:

https://github.com/dmulcahey/EnterpriseConfiguration/blob/master/enterprise-configuration/enterprise-configuration-configuration-component/src/main/java/com/bms/enterpriseconfiguration/configuration/component/ComponentConfigurationResolver.java

starting on line 79 you can see how a provider chain is assembled...

the module here: 
https://github.com/dmulcahey/EnterpriseConfiguration/tree/master/enterprise-configuration/enterprise-configuration-configuration-component
is a sample implementation of the underlying API

It works like so: there are several paths on the classpath that are considered 
relevant to configuration (convention over configuration)

SharedResources - useful for all applications all environments
EnvironmentResources - named sub folders representing the name of environments 
containing configuration only relevant to said environments
ComponentResources - config info relevant only to named components
EnvironmentOverrideResources - overrides to env resources
SecureResources - typically encrypted and the top of the override chain so they 
can't be messed with

Files with the same name in each area are loaded into a configuration object 
from CommonsConfiguration which provides the merging / override mechanisms as 
well as scripting support and many convenience methods for dealing with 
configuration info.

Typically 3 of those levels (shared, environment and secure) are provided as 
UNC paths on the JVM using the -cp argument or a JVM (-D) argument. This way 
they are abstracted from the application and provided to the applications as 
infrastructure. The other 2 directories are generally part of the application 
with the use of the overrides heavily discouraged :)

In house we also have a configuration service endpoint that serves up a lot of 
this information as a collection of rest endpoints.

I feel like I am rambling.... If any of this looks useful to you let me know 
and I will document as much of it as I can and I will contribute to your 
efforts  as much as my time allows!

Thanks for reading!!!

David F. Mulcahey | Application Configuration Management Section Manager

Amica Mutual Insurance Company | Corporate Information Systems
25 Amica Way | Lincoln, RI | 02865-1166
Voice: 800-652-6422 ext. 22754 | Fax: 401-334-1634
[email protected]<mailto:[email protected]> | 
Amica.com<http://www.amica.com/>

________________________________
This email and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to which they are addressed. If 
you have received this email in error please notify 
[email protected]<mailto:[email protected]> and the sender of the 
message. Confidential and personally identifiable information should not be 
transmitted to Amica via email or email attachment. Amica is not responsible 
for the loss, use or misuse of confidential or personally identifiable 
information which is sent to Amica via email or email attachment.

Reply via email to