You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openwebbeans.apache.org by Mark Struberg <st...@yahoo.de> on 2009/02/02 15:07:56 UTC

JPA and SPI thoughts

Hi!

First, the @PersitenceContext is _very_ preliminaryt. It currently holds only 1 EntityManager for the app - but at least we now can implement the most simiple JSF + JPA implementations which is about 75% of all use cases.

What I may do quickly is to add a Map with key=unitname+name, obj=ThreadLocal for the EntityManager.


Another suggestion (mostly obvious, but I like to have such things written down and agreed upon anyway):

There are (will be) many parts which are different between operating in a J2EE and SE environment. 
So I'd like to reflect this fact in the package names, e.g.

> package org.apache.webbeans.jpa;
for all generic JPA things, SPI interfaces etc

> package org.apache.webbeans.jpa.se;
for SE environments

> package org.apache.webbeans.jpa.ee;
for the standard J2EE environment, we could also add
> package org.apache.webbeans.jpa.ee.openejb;
for OpenEJB (Geronimo) SPI implementation or
> package org.apache.webbeans.jpa.ee.jboss;
for JBoss SPI implementation.

I think there are other areas too where we could use a similar package naming schema.

LieGrue,
strub




      

Re: JPA and SPI thoughts

Posted by Mark Struberg <st...@yahoo.de>.
I even thought further, but this is really far off the spec then:

1.) full J2EE stack like geronimo, JOnAS, JBoss, WebSphere, etc
2.) SE + ServletEngine like tomcat, jetty, resin, ...
3.) even JDK only for e.g. a Swing Client would be possible

Currently I'd let the webbeans-impl as it is. We can later split the cake into various parts like Spring does:

webbeans-core
webbeans-ejb
webbeans-se
webbeans-jpa
webbeans-jsf 

but this would require a bit of work, since the injection mechanisms are not yet 'plugable'.

So this is imho definitely not a 1.0.0 feature. Imho Geronimo and ServletEngines should work for the first release.

LieGrue,
strub

--- Arash Rajaeeyan <ar...@gmail.com> schrieb am Di, 3.2.2009:

> Von: Arash Rajaeeyan <ar...@gmail.com>
> Betreff: Re: JPA and SPI thoughts
> An: openwebbeans-dev@incubator.apache.org
> Datum: Dienstag, 3. Februar 2009, 14:19
> it would be great if SE and EE could be separated,
> so we can have a more light weight module that can be used
> in SE projects
> then we may use web-beans to build a lightweight RCP
> platform too.
> and it helps to make a complete stack on top of it.
> 
> On Mon, Feb 2, 2009 at 7:58 PM, Mark Struberg
> <st...@yahoo.de> wrote:
> 
> > oops, I see a slight problem:
> >
> > On the one hand it would be very valuable to only have
> the SPI (the
> > _interfaces_ themself) in the webbeans-impl and
> maintain separate modules
> > for SE and various J2EE container. Otoh how would the
> tests be performed? So
> > we imho at least have to keep the SE service providers
> in the impl module.
> >
> > so in the impl there could be a
> > org.apache.webbeans.spi
> > which contains only the interfaces
> > plus a subpackage
> > org.apache.webbeans.spi.se
> > which contains the SE variant of the service providers
> >
> > and we could do an own module for e.g.
> > webbeans-geronimo
> >
> >
> > WDYT?
> >
> > Btw, can you please review my EntityManagersManager?
> > I'm still confused about the part 'has same
> scope as the object it is in'
> > though...
> >
> > I did not add the EntityManagersManager definition to
> the WebBeansFinder
> > because this will only be used by the SE JPA service
> provider.
> >
> > LieGrue,
> > strub
> >
> > --- Mark Struberg <st...@yahoo.de> schrieb am
> Mo, 2.2.2009:
> >
> > > Von: Mark Struberg <st...@yahoo.de>
> > > Betreff: Re: JPA and SPI thoughts
> > > An: openwebbeans-dev@incubator.apache.org
> > > Datum: Montag, 2. Februar 2009, 16:55
> > > yup, that would be a good idea!
> > >
> > > LieGrue,
> > > strub
> > >
> > >
> > >
> > > --- Gurkan Erdogdu
> <gu...@yahoo.com> schrieb
> > > am Mo, 2.2.2009:
> > >
> > > > Von: Gurkan Erdogdu
> <gu...@yahoo.com>
> > > > Betreff: Re: JPA and SPI thoughts
> > > > An: openwebbeans-dev@incubator.apache.org
> > > > Datum: Montag, 2. Februar 2009, 15:51
> > > > Hi ;
> > > >
> > > > Is it reasonable to add another maven module
> for SPI
> > > i.e
> > > > *webbeans-spi* and add all the SPI specific
> codes into
> > > it?
> > > > Therefore, we are able to collect all SPI
> specific
> > > codes
> > > > into one location and it is easy to manage.
> > > >
> > > > WDYT?
> > > >
> > > >
> > > >
> > > >
> > > > ________________________________
> > > > From: Mark Struberg
> <st...@yahoo.de>
> > > > To: openwebbeans-dev@incubator.apache.org
> > > > Sent: Monday, February 2, 2009 4:07:56 PM
> > > > Subject: JPA and SPI thoughts
> > > >
> > > > Hi!
> > > >
> > > > First, the @PersitenceContext is _very_
> preliminaryt.
> > > It
> > > > currently holds only 1 EntityManager for the
> app - but
> > > at
> > > > least we now can implement the most simiple
> JSF + JPA
> > > > implementations which is about 75% of all
> use cases.
> > > >
> > > > What I may do quickly is to add a Map with
> > > > key=unitname+name, obj=ThreadLocal for the
> > > EntityManager.
> > > >
> > > >
> > > > Another suggestion (mostly obvious, but I
> like to have
> > > such
> > > > things written down and agreed upon anyway):
> > > >
> > > > There are (will be) many parts which are
> different
> > > between
> > > > operating in a J2EE and SE environment.
> > > > So I'd like to reflect this fact in the
> package
> > > names,
> > > > e.g.
> > > >
> > > > > package org.apache.webbeans.jpa;
> > > > for all generic JPA things, SPI interfaces
> etc
> > > >
> > > > > package org.apache.webbeans.jpa.se;
> > > > for SE environments
> > > >
> > > > > package org.apache.webbeans.jpa.ee;
> > > > for the standard J2EE environment, we could
> also add
> > > > > package
> org.apache.webbeans.jpa.ee.openejb;
> > > > for OpenEJB (Geronimo) SPI implementation or
> > > > > package
> org.apache.webbeans.jpa.ee.jboss;
> > > > for JBoss SPI implementation.
> > > >
> > > > I think there are other areas too where we
> could use a
> > > > similar package naming schema.
> > > >
> > > > LieGrue,
> > > > strub
> >
> >
> >
> >


      

Re: JPA and SPI thoughts

Posted by Arash Rajaeeyan <ar...@gmail.com>.
it would be great if SE and EE could be separated,
so we can have a more light weight module that can be used in SE projects
then we may use web-beans to build a lightweight RCP platform too.
and it helps to make a complete stack on top of it.

On Mon, Feb 2, 2009 at 7:58 PM, Mark Struberg <st...@yahoo.de> wrote:

> oops, I see a slight problem:
>
> On the one hand it would be very valuable to only have the SPI (the
> _interfaces_ themself) in the webbeans-impl and maintain separate modules
> for SE and various J2EE container. Otoh how would the tests be performed? So
> we imho at least have to keep the SE service providers in the impl module.
>
> so in the impl there could be a
> org.apache.webbeans.spi
> which contains only the interfaces
> plus a subpackage
> org.apache.webbeans.spi.se
> which contains the SE variant of the service providers
>
> and we could do an own module for e.g.
> webbeans-geronimo
>
>
> WDYT?
>
> Btw, can you please review my EntityManagersManager?
> I'm still confused about the part 'has same scope as the object it is in'
> though...
>
> I did not add the EntityManagersManager definition to the WebBeansFinder
> because this will only be used by the SE JPA service provider.
>
> LieGrue,
> strub
>
> --- Mark Struberg <st...@yahoo.de> schrieb am Mo, 2.2.2009:
>
> > Von: Mark Struberg <st...@yahoo.de>
> > Betreff: Re: JPA and SPI thoughts
> > An: openwebbeans-dev@incubator.apache.org
> > Datum: Montag, 2. Februar 2009, 16:55
> > yup, that would be a good idea!
> >
> > LieGrue,
> > strub
> >
> >
> >
> > --- Gurkan Erdogdu <gu...@yahoo.com> schrieb
> > am Mo, 2.2.2009:
> >
> > > Von: Gurkan Erdogdu <gu...@yahoo.com>
> > > Betreff: Re: JPA and SPI thoughts
> > > An: openwebbeans-dev@incubator.apache.org
> > > Datum: Montag, 2. Februar 2009, 15:51
> > > Hi ;
> > >
> > > Is it reasonable to add another maven module for SPI
> > i.e
> > > *webbeans-spi* and add all the SPI specific codes into
> > it?
> > > Therefore, we are able to collect all SPI specific
> > codes
> > > into one location and it is easy to manage.
> > >
> > > WDYT?
> > >
> > >
> > >
> > >
> > > ________________________________
> > > From: Mark Struberg <st...@yahoo.de>
> > > To: openwebbeans-dev@incubator.apache.org
> > > Sent: Monday, February 2, 2009 4:07:56 PM
> > > Subject: JPA and SPI thoughts
> > >
> > > Hi!
> > >
> > > First, the @PersitenceContext is _very_ preliminaryt.
> > It
> > > currently holds only 1 EntityManager for the app - but
> > at
> > > least we now can implement the most simiple JSF + JPA
> > > implementations which is about 75% of all use cases.
> > >
> > > What I may do quickly is to add a Map with
> > > key=unitname+name, obj=ThreadLocal for the
> > EntityManager.
> > >
> > >
> > > Another suggestion (mostly obvious, but I like to have
> > such
> > > things written down and agreed upon anyway):
> > >
> > > There are (will be) many parts which are different
> > between
> > > operating in a J2EE and SE environment.
> > > So I'd like to reflect this fact in the package
> > names,
> > > e.g.
> > >
> > > > package org.apache.webbeans.jpa;
> > > for all generic JPA things, SPI interfaces etc
> > >
> > > > package org.apache.webbeans.jpa.se;
> > > for SE environments
> > >
> > > > package org.apache.webbeans.jpa.ee;
> > > for the standard J2EE environment, we could also add
> > > > package org.apache.webbeans.jpa.ee.openejb;
> > > for OpenEJB (Geronimo) SPI implementation or
> > > > package org.apache.webbeans.jpa.ee.jboss;
> > > for JBoss SPI implementation.
> > >
> > > I think there are other areas too where we could use a
> > > similar package naming schema.
> > >
> > > LieGrue,
> > > strub
>
>
>
>

Re: JPA and SPI thoughts

Posted by Mark Struberg <st...@yahoo.de>.
oops, I see a slight problem:

On the one hand it would be very valuable to only have the SPI (the _interfaces_ themself) in the webbeans-impl and maintain separate modules for SE and various J2EE container. Otoh how would the tests be performed? So we imho at least have to keep the SE service providers in the impl module.

so in the impl there could be a 
org.apache.webbeans.spi
which contains only the interfaces
plus a subpackage 
org.apache.webbeans.spi.se
which contains the SE variant of the service providers

and we could do an own module for e.g.
webbeans-geronimo


WDYT?

Btw, can you please review my EntityManagersManager?
I'm still confused about the part 'has same scope as the object it is in' though...

I did not add the EntityManagersManager definition to the WebBeansFinder because this will only be used by the SE JPA service provider.

LieGrue,
strub

--- Mark Struberg <st...@yahoo.de> schrieb am Mo, 2.2.2009:

> Von: Mark Struberg <st...@yahoo.de>
> Betreff: Re: JPA and SPI thoughts
> An: openwebbeans-dev@incubator.apache.org
> Datum: Montag, 2. Februar 2009, 16:55
> yup, that would be a good idea!
> 
> LieGrue,
> strub
> 
> 
> 
> --- Gurkan Erdogdu <gu...@yahoo.com> schrieb
> am Mo, 2.2.2009:
> 
> > Von: Gurkan Erdogdu <gu...@yahoo.com>
> > Betreff: Re: JPA and SPI thoughts
> > An: openwebbeans-dev@incubator.apache.org
> > Datum: Montag, 2. Februar 2009, 15:51
> > Hi ;
> > 
> > Is it reasonable to add another maven module for SPI
> i.e
> > *webbeans-spi* and add all the SPI specific codes into
> it?
> > Therefore, we are able to collect all SPI specific
> codes
> > into one location and it is easy to manage.
> > 
> > WDYT?
> > 
> > 
> > 
> > 
> > ________________________________
> > From: Mark Struberg <st...@yahoo.de>
> > To: openwebbeans-dev@incubator.apache.org
> > Sent: Monday, February 2, 2009 4:07:56 PM
> > Subject: JPA and SPI thoughts
> > 
> > Hi!
> > 
> > First, the @PersitenceContext is _very_ preliminaryt.
> It
> > currently holds only 1 EntityManager for the app - but
> at
> > least we now can implement the most simiple JSF + JPA
> > implementations which is about 75% of all use cases.
> > 
> > What I may do quickly is to add a Map with
> > key=unitname+name, obj=ThreadLocal for the
> EntityManager.
> > 
> > 
> > Another suggestion (mostly obvious, but I like to have
> such
> > things written down and agreed upon anyway):
> > 
> > There are (will be) many parts which are different
> between
> > operating in a J2EE and SE environment. 
> > So I'd like to reflect this fact in the package
> names,
> > e.g.
> > 
> > > package org.apache.webbeans.jpa;
> > for all generic JPA things, SPI interfaces etc
> > 
> > > package org.apache.webbeans.jpa.se;
> > for SE environments
> > 
> > > package org.apache.webbeans.jpa.ee;
> > for the standard J2EE environment, we could also add
> > > package org.apache.webbeans.jpa.ee.openejb;
> > for OpenEJB (Geronimo) SPI implementation or
> > > package org.apache.webbeans.jpa.ee.jboss;
> > for JBoss SPI implementation.
> > 
> > I think there are other areas too where we could use a
> > similar package naming schema.
> > 
> > LieGrue,
> > strub


      

Re: JPA and SPI thoughts

Posted by Mark Struberg <st...@yahoo.de>.
yup, that would be a good idea!

LieGrue,
strub



--- Gurkan Erdogdu <gu...@yahoo.com> schrieb am Mo, 2.2.2009:

> Von: Gurkan Erdogdu <gu...@yahoo.com>
> Betreff: Re: JPA and SPI thoughts
> An: openwebbeans-dev@incubator.apache.org
> Datum: Montag, 2. Februar 2009, 15:51
> Hi ;
> 
> Is it reasonable to add another maven module for SPI i.e
> *webbeans-spi* and add all the SPI specific codes into it?
> Therefore, we are able to collect all SPI specific codes
> into one location and it is easy to manage.
> 
> WDYT?
> 
> 
> 
> 
> ________________________________
> From: Mark Struberg <st...@yahoo.de>
> To: openwebbeans-dev@incubator.apache.org
> Sent: Monday, February 2, 2009 4:07:56 PM
> Subject: JPA and SPI thoughts
> 
> Hi!
> 
> First, the @PersitenceContext is _very_ preliminaryt. It
> currently holds only 1 EntityManager for the app - but at
> least we now can implement the most simiple JSF + JPA
> implementations which is about 75% of all use cases.
> 
> What I may do quickly is to add a Map with
> key=unitname+name, obj=ThreadLocal for the EntityManager.
> 
> 
> Another suggestion (mostly obvious, but I like to have such
> things written down and agreed upon anyway):
> 
> There are (will be) many parts which are different between
> operating in a J2EE and SE environment. 
> So I'd like to reflect this fact in the package names,
> e.g.
> 
> > package org.apache.webbeans.jpa;
> for all generic JPA things, SPI interfaces etc
> 
> > package org.apache.webbeans.jpa.se;
> for SE environments
> 
> > package org.apache.webbeans.jpa.ee;
> for the standard J2EE environment, we could also add
> > package org.apache.webbeans.jpa.ee.openejb;
> for OpenEJB (Geronimo) SPI implementation or
> > package org.apache.webbeans.jpa.ee.jboss;
> for JBoss SPI implementation.
> 
> I think there are other areas too where we could use a
> similar package naming schema.
> 
> LieGrue,
> strub


      

Re: JPA and SPI thoughts

Posted by Gurkan Erdogdu <gu...@yahoo.com>.
Hi ;

Is it reasonable to add another maven module for SPI i.e *webbeans-spi* and add all the SPI specific codes into it? Therefore, we are able to collect all SPI specific codes into one location and it is easy to manage.

WDYT?




________________________________
From: Mark Struberg <st...@yahoo.de>
To: openwebbeans-dev@incubator.apache.org
Sent: Monday, February 2, 2009 4:07:56 PM
Subject: JPA and SPI thoughts

Hi!

First, the @PersitenceContext is _very_ preliminaryt. It currently holds only 1 EntityManager for the app - but at least we now can implement the most simiple JSF + JPA implementations which is about 75% of all use cases.

What I may do quickly is to add a Map with key=unitname+name, obj=ThreadLocal for the EntityManager.


Another suggestion (mostly obvious, but I like to have such things written down and agreed upon anyway):

There are (will be) many parts which are different between operating in a J2EE and SE environment. 
So I'd like to reflect this fact in the package names, e.g.

> package org.apache.webbeans.jpa;
for all generic JPA things, SPI interfaces etc

> package org.apache.webbeans.jpa.se;
for SE environments

> package org.apache.webbeans.jpa.ee;
for the standard J2EE environment, we could also add
> package org.apache.webbeans.jpa.ee.openejb;
for OpenEJB (Geronimo) SPI implementation or
> package org.apache.webbeans.jpa.ee.jboss;
for JBoss SPI implementation.

I think there are other areas too where we could use a similar package naming schema.

LieGrue,
strub