Hi Mark,

Thanks for this brief exposition and the answers to some of my questions.

David


Mark Struberg wrote:
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