IBM WebSphere Application Server V8.0 Beta Announced
At present Java EE 6 compliant application servers are thin on the ground, with GlassFish, the reference implementation, still the only complete implementation. Two more products, both currently in beta, are however expected to ship this year - Red Hat's JBoss 6 and TmaxSoft's JEUS 7.
IBM is the latest vendor to publicly declare its hand, announcing the start of its beta program for the WebSphere 8 application server, which will be the version of WebSphere that ultimately supports the Java EE 6 specification. Full support is not available yet however, with IBM talking instead about support for "portions of key Java™ Enterprise Edition 6.0 specifications". Specifically:
- Enterprise JavaBeans 3.1
- Java Persistence API (JPA) 2.0
- JavaServer Faces (JSF) 2.0
- JavaServer Pages (JSP) 2.2
- Servlet 3.0
- Java EE Connector Architecture 1.6
- Contexts and Dependency Injection for Java (CDI)
Of the other major players, Oracle's WebLogic 12g and Fusion Middleware 12g are both expected to ship next year, though there's been little public comment from Oracle since the outline roadmap was announced in 2009.
Java EE 6 also introduced the concept of profiles, which define subsets of the full set of APIs designed to address particular problems. Part of the idea behind profiles is to lower the barrier to entry for potential Java EE vendors, allowing them to enter the market with less of the legacy Java EE stack coded. To date the only profile to be introduced is the web profile, which consists of the following APIs:
- A web tier comprising JSF 2, Facelets, JSP w.w, Servlet 3
- Dependency injection and context management through CDI, managed beans, and interceptors
- Data validation and constraints via Bean Validation
- A business logic tier provided by EJB 3.1 Lite
- Transaction management through JTA
- Data persistence via JPA 2.2
To date three implementations of this profile have been announced
- Caucho Resin 4.0.
- Apache Geronimo 3.0
- SIwpas – an open-source implementation based on Apache Tomcat 7 and using Apache libraries
Caucho's entry to the space is significant. Though Resin pre-dates Tomcat as a Servlet container, and is well known for good performance and scalability, Caucho have always been reluctant to enter the Java EE market. The web profile allows them to do this, as they explained in a blog post
With the Java EE 6 Web Profile, we finally feel confident that we can deliver a fully standards compliant version of Resin that is really on the mark in terms of features and usability. We believe the Web Profile enables us to create a very lightweight Java EE application server perhaps more compelling than any other server-side Java development option with a great "just-works-out-of-the-box" development experience.
Implementors of the web profile are free to extend it. Resin does, exposing a remoting layer using Caucho's Hessian technology (ie not RMI or SOAP), and providing a minimal, but very efficient JMS implementation along with support for message driven beans. The EJB 3.1 Lite container will also support asynchronous methods, scheduled methods and more.