Hi David!

To explain this a bit more general:

OpenWebBeans has 3 different layers

1st layer is webbeans-impl aka our owb-core. This has almost no non-SE 
dependency (only one is the Servlet spec because we need this for Mock testing, 
etc).

2nd layer are our 'plugins' which are purely based on public specifications and 
are _not_ implementation specific. An example is webbeans-jsf which provides 
general JSF functionality but is not bound to MyFaces or Mojarra. Another one 
is webbeans-resource which provides the general infrastructure to access common 
EE resources like @Resource, @PersistenceUnit etc.

3rd layer is accessed via internal SPIs and contains implementation specific 
code. Switching between SPI implementations can be done via simple change them 
in openwebbeans.properties .

I hope this also answers why we do have a
JNDIServiceEnterpriseImpl which is for J2EE servers and a
JNDIServiceStaticImpl which usually only provide a read-only JNDI environment.

Some of those Services may need to be adopted slightly because Gavin in the 
meantime also introduced a SPI layer - seems they liked our idea after we 
talked with them about our plugin architecture a year ago ;)


Ad the TCKs
the modules
.) webbeans-tck and 
.) atinject-tck

are _not_ the official TCKs but only our module and setup to let them run with 
OpenWebBeans. The actual TCKs are both accessed via maven dependencies.

LieGrue,
strub

PS we are pretty frequently online in our IRC channel #openwebbeans at 
irc.freenode.net

--- On Wed, 1/13/10, David Ezzio <[email protected]> wrote:

> From: David Ezzio <[email protected]>
> Subject: Questions on using OWB to implement JSR 299 and JSR 330 for another 
> app server
> To: [email protected]
> Date: Wednesday, January 13, 2010, 5:10 PM
> All,
> 
> I am trying to understand the work that will be required to
> use
> OWB to implement JSR 299 and JSR 330 for an application
> server.
> I'll present my current understanding and ask some
> questions.
> 
> I've identified the following SPI interface packages and
> the
> implementing classes found in the OWB source.
> 
> webbeans-impl:  org.apache.webbeans.spi
> 
>     Interfaces and implementations:
> 
>         JNDIService
> 
>            
> JNDIServiceEnterpriseImpl
>            
> JNDIServiceStaticImpl
> 
>         LifeCycle
> 
>            
> StandaloneLifeCycle
>            
> EnterpriseLifeCycle
> 
>         TransactionService
> 
>            
> TransactionServiceJndiImpl
>            
> TransactionServiceNonJTA
> 
> webbeans-impl:  org.apache.webbeans.spi.conversation
> 
>     Interfaces and implementations:
> 
>         ConversationService
> 
>            
> JSFConversationServiceImpl
> 
> webbeans-impl: org.apache.webbeans.spi.deployer
> 
>     Interfaces and implementations:
> 
>         MetaDataDiscoveryService
> 
>            
> AbstractMetaDataDiscovery
>            
> EJBMetaDataDiscoveryImpl
>            
> MetaDataDiscoveryStandard
>            
> WarMetaDataDiscoveryImpl
> 
> webbeans-resource: org.apache.webbeans.resource.spi
> 
>     Interfaces and implementations:
> 
>         ResourceService
> 
>            
> ResourceServiceImpl
>            
> OpenEjbResourceServiceImpl
> 
> Questions:
> 
> 1. Have I identified all the SPI interfaces that need to
> be
> implemented?
> 
> 2. For an application server other than Geronimo, how
> useful is
> the code in the following modules likely to be?
> 
>     webbeans-jsf
>     webbeans-jms
>     webbeans-openejb
>     webbeans-geronimo
> 
> 3. For test driven development, I'm thinking of using the
> two
> TCKs for a test suite. Does this strategy seem reasonable?
> 
> 4. How useful will webbeans-porting be in implementing a
> TCK
> harness for another app server?
> 
> 5. I believe that webbeans-tck has been deprecated, and the
> TCK
> source is now found in the Geronimo repository. Is that
> correct?
> Is that its official residence?
> 
> 6. Is the atinject-tck the TCK for JSR 299? Is this the
> official
> residence of that TCK?
> 
> I would very much appreciate specific answers and perhaps,
> if
> necessary, a mini-tutorial of 2-3 paragraphs.
> 
> Thanks,
> 
> David
> 


 

Reply via email to