3 Answers
3

An application server is only Java EE 6 "Full Profile" certified if it implements all aspects of the huge Java EE API.

An application server is only Java EE 6 "Web Profile" certified if it implements at least the following aspects of the Java EE API:

Servlet 3.0 / JSP 2.2 / EL 2.2 / JSF 2.0 / JSTL 1.2

EJB 3.1 Lite (support for Local containers only, i.e. no EARs)

JPA 2.0 / JTA 1.1

CDI 1.0

Bean Validation 1.0

JBoss 6 is only "Web Profile" certified, even though it also implements a lot of other Java EE aspects like JMS, EJB 3.1 Full, JAX-RS, etc, because it does not implement the entire Java EE API yet. If JBoss 6 offers exactly what you needs, then I wouldn't worry about this certification. It's not an evidence that it's production-ready or something.

See also:

...if you want full Java EE 6 API compliance, as far as I know glassfish is the only one application server that is fully compliant. Also other application servers will not be fully compliant very soon.
–
Piotrek DeOct 4 '11 at 14:28

Hmm... I have this information from conference about 3 months ago so it may be outdated (or maybe even speaker had outdated information) ;)
–
Piotrek DeOct 4 '11 at 14:37

3

@PiotrekDe: JEUS 7 was already certified in Jan 2010 (but not in final release yet). WAS 8 is finished in June 2011 (but it was already scheduled far long before). So the speaker had outdated information or is a Glassfish fan ;)
–
BalusCOct 4 '11 at 14:51

Can I use JBoss 7 in development and also in production with all EE 6 features (I need JMS, EJB 3.1, JSF 2.1, CDI...) or I have to wait for later releases of JBoss 7?

It depends on whether you associate any value with a certificate. JBoss 7 is not Java EE6 certified, because it has not yet been run against the Java EE 6 Full Profile TCK (technology compatibility kit), not that it doesn't implement any of the features required by Java EE 6. According to this post in the JBoss forums, a later 7.x (most likely 7.1) release of JBoss 7 will undergo the certification process.

If not, what is the option since JBoss 6.x is only Web Profile certified

You could wait for EAP 6 (which would include the certified JBoss 7.x release).

and what is explanation for "only Web Profile certified"?

JBoss 7 has passed the Web Profile TCK (which is a seperate TCK). The Web Profile specification outlined in JSR 316, states that the following components are required in a Web Profile compliant container:

WP.2.1 Required Components

The following technologies are required components of the Web Profile:

Servlet 3.0

JavaServer Pages (JSP) 2.2

Expression Language (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 theJava Platform (JSR-250) 1.1

Enterprise JavaBeans (EJB) 3.1 Lite

Java Transaction API (JTA) 1.1

Java Persistence API (JPA) 2.0

Bean Validation 1.0

Managed Beans 1.0

Interceptors 1.1

Contexts and Dependency Injection for the Java EE Platform 1.0

Dependency Injection for Java 1.0

WP.2.2 Optional Components

There are no optional components in the Web Profile.
Web Profile products may support some of the technologies present in the full Java EE Platform and not already listed in Section WP.2.1, “Required Components”, consistently with their compatibility requirements.

By passing the Web Profile TCK, and by also including the components required in the Full Profile (allowed by WP2.2), you can continue to build applications requiring the full profile, on JBoss 7.

If your application requires only the web-profile instead of the full profile, then you may use JBoss 7 as a Web Profile certified container. There is of course, JBoss EAP, for those who require an enterprise solution with paid support options; the community version does not have any such SLA-based support option from JBoss/Redhat.