Hi

I've been following the discussions the last couple of week(s) and I must
admit that it has both been interesting and frustrating. Interesting
because I always like to see how different people choose to solve the same
or similar problems, frustrating because I (personally) feel that the tone
in the emails has been more than once or twice kindof harsh (from all sides
if I may call it "sides") and to me sometimes without a reaso...

I would have loved to be more involved in Tamaya or the discussions going
on about configuration in general, my excuse (accept it or not :)) is that
I
work full time, takes care of my company, house and two kids on my own.
More on that over a beer or two if we ever meet :)

I'm not sure who will be on the meetups but it would be nice / interesting
to either listen in / take part of them or at least the result of them. Who
knows, I might have some input that will help :)

I've been working with Java for 20 years now, mostly as a consultant but
also started companies developing products for the financial industry
(mostly derivatives trading, post trade systems). I wouldn't call me an
expert but I've seen alot of code and done alot of development during the
years.

Been working as a consultant for banks for a long time now and lately with
a customer where I'm involved in developing a "platform" for making it easy
for developers to develop bank applications, the platform takes care of
(implicitly or explicitly depening on the functionality) all things that a
bank applications needs such as audit, security, logging etc. The framework
tries to be up to date with JEE and Java (that includes many of the JEE
related technologies sich as CDI, JAX-RS, JAX-WS, Bean validation and so
on....).

Typically a "bank application" is developed by a team and/or maintained by
a team of people. In an appserver there can be many "bank applications"
running each requiring their configuration. When were going to look at
enhancing the way configuration were done we took a look at Tamaya but
still decided to write our own (partly inspired by Tamaya) configuration
framework. Some of the features we needed I did not find in Tamaya (or
maybe I didn't understand how to implement them using Tamaya), we also
needed a nice API towards the bank application developers (which ofcourse
could have been done on top of Tamaya) but the main reason for rolling our
own solution was that we felt it hard to understand how to use Tamaya
(maybe due to its flexibility, or maybe the documentation at the early
stage of development, I cannot tell exactly what part that made us choose
to not use it...).

Some of the features we have in our solution are:

- API towards the bank application that is annotation based
(@ApplicationConfiguration(property=...) and supports different types such
as String, Number derivatives and so on (in the configuration it is all
string->string)
- Bank applications each have their set of configuration properties
(META-INF/conf/<application>
- Configuration for the platform can be used by bank applications but not
overriden by them
- All configuration can be set/overriden by operations who are responsible
for the servers
- Overriding can be done using ordinals, this can also be done withing an
application if it contains multiple modules (not all modules might be used
for all installations)
- Resolving using proprerty placeholder (if needed) syntax within the
properites themselves but also withing e.g. XML files read by applications
- Properties can be placed in property files under META-INF... an but also
in environment entries, system properties, context/jndi etc
- The resolving can make use of wether the server is a test server
(functional, integration, production test, production), wether its internal
or external (different network zones, security mechanisms and so on) and so
on.. the configuration can therefor be written once (and only one bank
application artifact needs to be built) and used throughout the testing
process until (and including) it reaches production
- ...and more things...

The solution itself is very small but fulfills our needs and is simple to
use for the bank application developers.

Thanks

Regards
LF


On Tue, Jul 26, 2016 at 11:01 AM, Werner Keil <werner.k...@gmail.com> wrote:

> Also seen among many others in CDI where
> javax.enterprise.inject.spi.CDIProvider is an SPI element to allow access
> to what's the only static accessor in CDI, the class with the same name,
> not a static factory itself;-)
>
>
> On Tue, Jul 26, 2016 at 10:36 AM, Werner Keil <werner.k...@gmail.com>
> wrote:
>
> > The name IMO is. A static facade "ConfigurationProvider" is misleading
> > because its naming pattern overlaps with SPI elements commonly named
> > *Provider everywhere (especially in JSRs, not every other "framework"
> > popular or not even makes a distinction between API and SPI;-)
> >
> > Seems DeltaSpike brought that antipattern into Tamaya since there's at
> > least one "provider" package with static facade singletons. If Tamaya can
> > live with that, then why not in this Apache PoC. Neither Tamaya nor
> > DeltaSpike or Spring will be a 1:1 blueprint for a future standard we
> > probably see at least after JavaOne based on what Oracle plans for "Java
> EE
> > in the Cloud".
> >
> > Cheers,
> > Werner
> >
> >
> > On Tue, Jul 26, 2016 at 8:21 AM, Mark Struberg <strub...@yahoo.de.invalid
> >
> > wrote:
> >
> >> That's how it used to be since pretty much almost the beginning.
> >> And that part was also not in question imo.
> >>
> >>
> >> LieGrue,
> >> strub
> >>
> >>
> >>
> >>
> >> > On Thursday, 21 July 2016, 16:02, Anatole Tresch <atsti...@gmail.com>
> >> wrote:
> >> > > yep...​
> >> >
> >> > 2016-07-21 14:08 GMT+02:00 Werner Keil <werner.k...@gmail.com>:
> >> >
> >> >>  Anatole/all,
> >> >>
> >> >>  So ConfigurationProvider boils down to just a getConfiguration()
> >> method
> >> >>  now?
> >> >>
> >> >>
> >> >>
> >>
> >
> >
>



-- 
Med vänlig hälsning / Best regards

Lars-Fredrik Smedberg

STATEMENT OF CONFIDENTIALITY:
The information contained in this electronic message and any
attachments to this message are intended for the exclusive use of the
address(es) and may contain confidential or privileged information. If
you are not the intended recipient, please notify Lars-Fredrik Smedberg
immediately at itsme...@gmail.com, and destroy all copies of this
message and any attachments.

Reply via email to