@werner:
you don't need special/explicit support for multi-tenancy in ds to use e.g.
ds-config in a multi-tenant-architecture.

there are different approaches you can use.
one approach which is even independent of cdi is based on a tenant aware
config-source.

once again: project-stages aren't even related/close to multi-tenancy.

regards,
gerhard



2016-07-31 16:08 GMT+02:00 Werner Keil <[email protected]>:

> I know, that's why multi-tenancy is not really supported by DS at the
> moment;-)
>
>
>
> On Sun, Jul 31, 2016 at 3:42 PM, Gerhard Petracek <[email protected]>
> wrote:
>
> > @werner:
> > project-stages aren't even related/close to multi-tenancy.
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2016-07-31 15:15 GMT+02:00 Werner Keil <[email protected]>:
> >
> > > Gerhard,
> > >
> > > As projects like those we mentioned found certain aspects of DeltaSpike
> > (or
> > > Spring Configuration) inspirational but not sufficient for their
> project
> > > they just don''t use it. And hence won't bother raising issues on a
> > mailing
> > > list of something they are not using ;-)
> > > Besides, I don't have time to file an issue but there's a broken link
> in
> > > the JavaDoc for a long time now:
> > > http://deltaspike.apache.org/javadoc/1.7.2-SNAPSHOT/
> > > does not work, only http://deltaspike.apache.org/javadoc/1.7.1/ does.
> > >
> > > The proven fact is, org.apache.deltaspike.core.api.projectstage may be
> a
> > > nice improvement over the very limited JSF construct (working with JSF
> a
> > > lot I guess you know, and probably also remember I told this to Ed
> > numerous
> > > times in the JSF EG;-) but a "project stage" like Dev, Test, UAT, etc.
> is
> > > not the same as real multi-tenancy. And unlike e.g. a simple but more
> > > flexible construct of a "Profile" in Spring you'd have to abuse the
> term
> > > "stage" to get remotely something to cover tenant, service, release,
> etc.
> > > You improved over JSF, and I'm sure, there are projects who welcome
> that,
> > > but other solutions and framework are more simple and versatile with
> that
> > > respect. Hence more popular and used.
> > > Which is why e.g. the idea of similar terms in Tamaya like
> "Environment",
> > > "Stage", etc. was dismissed.
> > > That doesn't mean it should not have something to handle multiple
> > > "dimensions" where JSF or DeltaSpike (or e.g. Wicket) only handle one.
> > >
> > > Regards,
> > > Werner
> > >
> > >
> > > On Sun, Jul 31, 2016 at 2:33 PM, Gerhard Petracek <
> [email protected]>
> > > wrote:
> > >
> > > > @werner:
> > > > the comments e.g. about deltaspike-config for
> > > > microservices/multi-tenancy/... are proven to be wrong (proven by
> real
> > > > projects in production).
> > > > >afair< we haven't seen any question about issues with such topics
> (on
> > > the
> > > > deltaspike-lists).
> > > > we can't help if nobody asks, however, that doesn't mean that there
> is
> > a
> > > > limitation.
> > > > -> i would prefer discussions based on proven facts which are more to
> > the
> > > > point.
> > > >
> > > > regards,
> > > > gerhard
> > > >
> > > >
> > > >
> > > > 2016-07-30 23:30 GMT+02:00 Werner Keil <[email protected]>:
> > > >
> > > > > Lars,
> > > > >
> > > > > Thanks a lot for your input. Of course we have a few people with a
> > > strong
> > > > > financial background including Anatole who worked in a bank for
> many
> > > > years
> > > > > or myself.
> > > > > Right now I help a major bank with their Java EE and Spring-based
> > > > solutions
> > > > > and there are also quite a few Apache projects like Wicket involved
> > on
> > > > the
> > > > > front end.
> > > > >
> > > > > At the moment we're not yet dealing with the configuration part and
> > > where
> > > > > we do, I am pretty sure this client will leverage Spring.
> > > > > A while ago in another large financial project pretty much
> everything
> > > > Java
> > > > > EE has to offer from CDI to JPA, Bean Validation or JBatch was
> used.
> > > And
> > > > > that project also applied a very fine grained separation of
> services
> > > in a
> > > > > "Microservice" style. So unlike marketing fuzz created by many
> > vendors
> > > > > (Spring/Pivotal also does a lot;-) Java EE applied correctly is
> > usually
> > > > > more than enough for a Microservice type project.
> > > > >
> > > > > Similar to what you described in your banking solution, frameworks
> > and
> > > > > libraries created there were inspired by e.g. Tamaya or DeltaSpike,
> > but
> > > > did
> > > > > not use them.
> > > > > With Tamaya it was mainly because of Incubation. Should it remain
> > > useful
> > > > to
> > > > > real projects like yours or others, the guys in this project would
> > > likely
> > > > > use it if it left incubation.
> > > > > With DeltaSpike it simply didn't meet its requirements. Lacking
> > support
> > > > for
> > > > > Microservices or multi-tenancy which is why they chose to write
> their
> > > > own,
> > > > > quite similar to  what you described or feeling not too different
> > from
> > > > e.g.
> > > > > Spring Config with annotations like @Configuration or @Configurable
> > but
> > > > > suitable for their needs, e.g. a fine grained separation of
> > > environments
> > > > > and also security aspects Java failed to standardize as of now
> (some
> > > were
> > > > > identified by JSR 375 as relevant, but let's not go there here now)
> > > > >
> > > > > It is important to get a "reality check" from participants like
> > > yourself.
> > > > > And without proper vendor involvement it also won't see much
> adoption
> > > I'm
> > > > > afraid.
> > > > > I worked with Java ever since it exists everywhere from Java ME
> > > Embedded
> > > > to
> > > > > Java EE (the only thing I didn't do so far is JavaCard)
> > > > > After writing even an entire application server based on EJB 1 and
> > what
> > > > > "J2EE 1" had to offer in 1998 (I was also at the JavaOne when Sun
> > > > unveiled
> > > > > it) for a pension fund I worked with every of the major vendors.
> > Often
> > > in
> > > > > the same team as e.g. Oracle, IBM or BEA consultants. The result of
> > > some
> > > > of
> > > > > that work went into standards like Portlet 1 or Java Content
> > Repository
> > > > > (both BEA and Day, now Adobe were in that project, so even then
> some
> > > > > standards were derived from real client projects)
> > > > >
> > > > > Around 10 years ago I helped BEA Systems directly with their
> > > Professional
> > > > > Services teams and in the UK support center. The only external
> > > freelance
> > > > > consultant for the entire EMEA region. Our team manager had many
> > > > interviews
> > > > > with candidates either contract or permanent, but he always said,
> > they
> > > > did
> > > > > not have my experience. So until the Oracle takeover I stayed the
> > only
> > > > > freelancer there.
> > > > > With that background (e.g. after Oracle took over BEA the same
> > manager
> > > > > reported to Adam Messinger, now CTO at Twitter, he was working for
> > the
> > > > > original Weblogic company before that became part of BEA;-) and
> > nearly
> > > a
> > > > > decade of JCP EC work now, I came across many interesting
> challenges.
> > > > E.g.
> > > > > the CDI you know now based on later proposed JSR 330 (@Inject) was
> > born
> > > > > from a serious amount of friction between Google, SpringSource (not
> > so
> > > > > active though) and JBoss/Red Hat. Mike Keith whom I knew well from
> > > > Eclipse
> > > > > and JPA work kindly offered to mediate. I was also involved from
> the
> > > JCP
> > > > EC
> > > > > side and due to being in the EE 6 Umbrella JSR, too. You may find
> > some
> > > of
> > > > > those discussions in Google Groups or Google Code Forums unless
> > Google
> > > > shut
> > > > > down the latter now. Maybe some also happened in the earliest CDI
> > > > > discussion forums.
> > > > >
> > > > > If you think any of the discussions I'm aware of here are harsh,
> you
> > > have
> > > > > not seen those arguments. Some technically, others simply fuelled
> by
> > > > vanity
> > > > > like (that's supposed to be in our JSR, not yours;-) You have to
> ask
> > > > Mark,
> > > > > if similar "vanity" is involved here, too. In a few threads I did
> > > sense a
> > > > > bit of that "don't compete with DeltaSpike" but I don't think it
> was
> > > Mark
> > > > > btw. And proposing "Yet another configuration API" pretending it
> was
> > a
> > > > JSR
> > > > > did not sound like considering DeltaSpike the ultimate answer to
> all
> > > > > configuration questions either.
> > > > > I cannot say if a common standard developed under the JCP or a
> > similar
> > > > body
> > > > > will end up entirely based on annotations or not. The most commonly
> > > used
> > > > > alternatives like Spring Config are mostly used via annotations.
> > > > DeltaSpike
> > > > > offers some aspects and the in-house framework you mentioned and
> > others
> > > > > also have seen at their customers also do.
> > > > > Separating the underlying "value holder" (Configuration interface)
> > from
> > > > > usage by annotations like Spring (or Mike Keith also envisioned)
> I'd
> > > say
> > > > > Tamaya got pretty right already.
> > > > >
> > > > > Spring is not famous for its proper separation of "API" and
> > > > > "Implementation". Unlike CDI and many other JSRs it is not a
> standard
> > > > > specified by any place like ISO, ETSI, OASIS or JCP, so it does not
> > see
> > > > the
> > > > > need for that. Nevertheless it allows to use @Inject and other
> > > standards
> > > > in
> > > > > many areas now.
> > > > > So if a standard was created by somebody it would not be bad to
> also
> > > get
> > > > > them involved or use some of it.
> > > > > Spring Data or Spring Integration also make use of JSR 354 now btw,
> > so
> > > if
> > > > > such standard for configuration did not contradict everything it
> does
> > > > with
> > > > > its config frameworks, I see no reason why they should not be
> > > interested
> > > > in
> > > > > something like this.
> > > > >
> > > > > The only strong words you may have heard by me in this discussion
> was
> > > > about
> > > > > Mark's panic reaction and clear abuse of the JCP branding and
> package
> > > > > names.
> > > > > He's a JCP member himself and by doing so he violated and
> jeopardized
> > > his
> > > > > membership. Other fellow JCP EC members like the LJC reps who saw
> his
> > > > > announcement e.g. on the Microprofile list also urged him to fix
> this
> > > or
> > > > > delete the codebase and the PMO was ready to "unleash the blood
> > hounds"
> > > > had
> > > > > we not both confirmed that he at least changed the incriminating
> > > package
> > > > > name.
> > > > >
> > > > > Other than that like you and I'm sure enough others I hope Tamaya
> > > becomes
> > > > > "useful". Simple or modular into smaller chunks is not bad. Working
> > > with
> > > > > small and Embedded systems a lot,too I understand better than many
> > > "Pure
> > > > EE
> > > > > developers" how important size can be.
> > > > > However, the idea behind creating Tamaya was neither to directly
> > > compete
> > > > > with DeltaSpike or Commons Configuration, nor to create a JSR there
> > > > > already.
> > > > > Having a separation between API and implementation helps, under
> > certain
> > > > > circumstances Tamaya could even offer to be an RI for a possible
> > > > standard,
> > > > > but it's supposed to be the PoC for one or more configuration use
> > > cases,
> > > > > not the JSR.
> > > > >
> > > > > Hope everyone understands that?
> > > > >
> > > > > Regards,
> > > > > Werner
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Sat, Jul 30, 2016 at 1:16 PM, Lars-Fredrik Smedberg <
> > > > [email protected]
> > > > > >
> > > > > wrote:
> > > > >
> > > > > > 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 <
> > [email protected]
> > > >
> > > > > > 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 <
> > > [email protected]
> > > > >
> > > > > > > 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
> > > > > > <[email protected]
> > > > > > > >
> > > > > > > > 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 <
> > > > > > [email protected]>
> > > > > > > >> wrote:
> > > > > > > >> > > yep...​
> > > > > > > >> >
> > > > > > > >> > 2016-07-21 14:08 GMT+02:00 Werner Keil <
> > [email protected]
> > > >:
> > > > > > > >> >
> > > > > > > >> >>  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 [email protected], and destroy all copies of
> this
> > > > > > message and any attachments.
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to