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 >
