geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gurkan Erdogdu <cgurkanerdo...@gmail.com>
Subject Re: Webapp Annotation processing for 299
Date Thu, 20 Aug 2009 15:01:35 GMT
I want to give brief introduction about current implementation in the view
of integration points

Brief Summary About Current Situation
---------------------------------------------------------
Currently we bootstrap OpenWebBeans via ServletContextListener. It supports
following containers

- Java Web Containers like Jetty, Tomcat etc.
- Tomcat Embeddable OpenEJB Container

If developer wants to use OWB functionality in his application, it has to
configure its "web.xml" to include some OWB specific classes. For EJB
functionality, we use embeddable Tomcat OpenEJB container. To use EJB
functionality, developer must annotate their EJB classes with OWB specific
"Interceptor" class.

How OWB Boots Currently(From integration point of view)
-------------------------------------------------------
1* Web Container calls OWB specific context listener's "application started"
method
2* OWB container scans related classes from the artifacts (if
META-INF/beans.xml, or WEB-INF/beans.xml exists. beans.xml is a marker for
deployment)
3* If developer configures OWB to use EJB functionality, for each scanned
class, it asks OpenEJB to learn whether it is an EJB class or not (Using EJB
Plugin that is written accroding to the OpenEJB)
4* If it is an EJB class, it creates EJB bean and register it with the OWB
container otherwise if it is a Java EE defined Managed Bean Class, it
creates a "Managed Bean" and register it with the OWB container.

Developer Responsibility to Use OWB
--------------------------------------------------------
1* Add servlet context listener to his web module's "web.xml"
2* Annotate EJB classes with OWB interceptor
3* Configure OWB container to use EJB functionality
4* Configure some OWB specific parameters (For example : if use JMS
injections, specify ConnectionFactory JNDI name)

Current Problems
-----------------------------------------------------
1* Currently we just support "WAR" module with embeddable EJB.
2* Developer requires to update WAR/EJB module metadata files to use OWB.
3* Standalone EJB JAR,RAR, EAR not supported
4* Injections into "Managed Beans" class not well supported. (For example :
@Resource, @WebServiceRef, @EJB, @PersistenceUnit,@PersistenceContext.)

How Could We Integrate with Geronimo
---------------------------------------------------------
1* Geronimo looks for deployment. If it contains "beans.xml", it
automatically registers OWB servlet context listener with WAR's web.xml at
deployment time
2* Automatically registers OWB EJB interceptor with EJBs at deployment time
(If module is EJB module or EAR module containing EJB modules)
3* Support EJB JAR, EAR, RAR modules
4* Write EJB Plugin for Geronimo
5* Supports injections for Managed Beans

I hope this helps a bit more

Thanks;

--Gurkan

2009/8/20 Rick McGuire <rickmcg@gmail.com>

> Gurkan Erdogdu wrote:
>
>> >>>We'd be interested in any details about what integration work might be
>> needed to add this to Geronimo.
>> It is a really fascinating thing that you support us to finish
>> implementation and pass TCK :) We really need a help.
>>
> I think there is a great willingness to help you with this, but I was
> looking form something more specific, such as the actual areas/functions
> where integration assistance is needed.
> Rick
>
>
>> Thanks;
>>
>> --Gurkan
>>
>> 2009/8/20 Rick McGuire <rickmcg@gmail.com <mailto:rickmcg@gmail.com>>
>>
>>    Gurkan Erdogdu wrote:
>>
>>        Hi;
>>
>>        Thanks for kicking discussion David.
>>
>>        As you may already know Java EE 6 will be planned to release
>>        on  November. Do you have any plan or roadmap  to integrate
>>        JSR-299 with Geronimo?
>>
>>    We have a tentative roadmap for implementing the Web Profile at:
>>
>>
>> http://cwiki.apache.org/confluence/display/GMOxDEV/Road+map+for+JEE6+Web+Profile
>>
>>    For the JEE6 plans, the web profile did not include JSR 299, which
>>    I guess has changed recently.  We'd be interested in any details
>>    about what integration work might be needed to add this to Geronimo.
>>    Rick
>>
>>
>>        We are working hard to implement full specification but it has
>>        some parts that requires to integrate with Java EE server tightly.
>>
>>        Thanks;
>>
>>        --Gurkan
>>
>>        2009/8/20 David Blevins <david.blevins@visi.com
>>        <mailto:david.blevins@visi.com> <mailto:david.blevins@visi.com
>>        <mailto:david.blevins@visi.com>>>
>>
>>
>>           I've been talking with Gurkan of OpenWebBeans over on the
>>        OpenEJB
>>           list and it seemed like a good idea to kick the thread over
>>        here
>>           as well.
>>
>>           The long and short of it is that we'll need to scan 299 managed
>>           beans at deploy time exactly as we do for JSF.
>>
>>           Wanted to point him at the JSF scanning code, but can't
>>        remember
>>           the details.  Anyone remember?  An svn link is fine.
>>
>>
>>           -David
>>
>>
>>
>>
>>
>>
>>        --        Gurkan Erdogdu
>>        http://gurkanerdogdu.blogspot.com
>>
>>
>>
>>
>>
>> --
>> Gurkan Erdogdu
>> http://gurkanerdogdu.blogspot.com
>>
>
>


-- 
Gurkan Erdogdu
http://gurkanerdogdu.blogspot.com

Mime
View raw message