You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Rick McGuire <ri...@gmail.com> on 2009/06/08 21:25:21 UTC

Implementing the JEE6 Web profile.

I've been starting to look at what might be required to implement the 
JEE6 Web Profile stack on Geronimo.  The Web Profile is a fairly small 
subset of the JEE6 definition oriented around writing web applications.  
This profile defines the minimal set of services the server must provide 
to be compliant, but additional services can also be available on the 
server without harming compliance levels.  In fact, it appears that you 
can be compliant just by implementing the full JEE stack, but that 
somewhat defeats the purpose of allowing smaller service environments to 
be created. 

The required components in the Web Profile are:

    * Servlet 3.0
    * JavaServer Pages (JSP) 2.2
    * ExpressionLanguage (EL) 2.2
    * Debugging Support for Other Languages (JSR-45) 1.0
    * Standard Tag Library for JavaServer Pages (JSTL) 1.2
    * JavaServer Faces (JSF) 2.0
    * Common Annotations for Java Platform (JSR-250) 1.1
    * Enterprise JavaBeans (EJB) 3.1 Lite
    * Java Transaction API (JTA) 1.1
    * Java Persistence API (JPA) 2.0 

Some of these components are at the same level that Geronimo currently 
uses, others are the latest levels defined in JEE6.  I've taken a first 
stab at pulling all of this together so we can get a handle on what work 
we need to do directly (e.g., creating new spec jars for the new API 
levels) and what components we might need to hunt down from other 
sources...such as a Servlet 3.0 compliant container.  The wiki page for 
this roadmap can be found here:

http://cwiki.apache.org/confluence/display/GMOxDEV/Road+map+for+JEE6+Web+Profile

This is just a first pass, if you find anything inaccurate or have 
additional information that can be added for any of these items, please 
make the updates.  The Servlet and JSP-related sections could really use 
some fleshing out.  I'm not sure I quite have a clear picture on how 
Geronimo consumes the different pieces today in all of the combinations.

I've also created a couple of Jiras for some items that we can start 
doing now to prepare for the web profile:

1)  Create an OpenJPA 2.0 plugin to allow the newer version of OpenJPA 
to be experimented with 
(https://issues.apache.org/jira/browse/GERONIMO-4680)
2)  Create a plugin group using the existing Geronimo versions of these 
components.  This will allow a non-compliant Web profile server to be 
created using the JEE5 components that would be an excellent vehicle for 
playing around with this feature set.

Rick