JBoss AS 6 Released: Interview with Shelly McGowan
JBoss has recently released version 6 of its Application Server. InfoQ had an interview about this release, with Shelly McGowan who is the Principal Software Engineer on the JBoss AS team, that lead v6 in its' final milestone releases.
InfoQ: The highlight for this release is the support for the Java EE 6 Web Profile Spec. Would you like to tell us a little bit about why this is important to people that will be using the JBoss AS?
Shelly: JBoss AS 6 is our latest major community release. It was always a goal of AS 6 to target compliance of the Java EE 6 Web Profile specification. In doing so, we provide assurance to those migrating applications that the features and behaviors defined in the technology specifications that make up the Java EE 6 platform behave accordingly. We targeted the technologies of the Web Profile specification as these are of most interest for the class of applications being developed by our community. In a recently published report on the most popular Java EE standards used the most, the top 5 (JPA, JSP, EJB3, JSF, CDI) are required components of the Java EE Web Profile. In addition to these required components of the Java EE 6 Web Profile, AS 6 provides optional certified components: RESTEasy 2.1.0, an implementation of the JAX-RS 1.1 specification, HornetQ 2.1.2, an implementation of the JMS 1.1 specification, and JBoss Web Services CXF stack which is an implementation of the JAX-WS 2.2 specification. JBoss expert group members were instrumental in championing the Web Profile specification in addition to leading two key specifications that are part of it; namely, JSR-299: Contexts and Dependency Injection for the Java EE Platform led by Gavin King and JSR-303: Bean Validation led by Emmanuel Bernard. The reference implementation of each of those specifications WELD 1.1 and Hibernate Validator 4.1.0 are included in the Web Profile. There have been more than 17,000 downloads of 6.0.0.Final already. Many of our community users have started migrating their applications to take advantage of these new features.
InfoQ: Could you give us a short list of the main features of this release and the key additions from the earlier versions? Also a short mentioning of the new APIs?
Shelly: The main feature in this final milestone release was completing the implementation of the JBoss Injection framework. This piece was significant in meeting the requirements of the Resources, Naming and Injection of the Java EE 6 Platform specification. Jaikiran Pai led the implementation of this key component which the details can be found in the Injection in AS 6 and SwitchBoard component community documents.
Available since the CR1 milestone release but important to note, Infinispan v4.2.0, an open source data grid platform, was integrated in JBoss AS 6 and is the default distributed cache provider. Infinispan exposes a JSR-107 compatible Cache interface in which you can store objects. Paul Ferraro, the JBoss AS Clustering lead, put together an overview of Infinispan with AS 6 that can be read here. Mod_Cluster support is included out-of-the-box, which allows JBoss as 6 servers to dynamically discover and register to front-end apache httpd servers.
Support for IPv6 was also added in this final phase.
InfoQ: How good is backwards compatibility and what would be the biggest changes for people that are already using JBoss AS 5?
Shelly: Its expected that portable applications migrating from JBoss AS 5 to JBoss AS 6 are deployable without problems. Backward compatibility with JBoss-specific features is ensured in our Enterprise offerings but not always in the upstream project releases such as this one. One of the changes that users may note when moving to AS 6 is that there is stricter validation during deployments. We noticed that the specifications have tightened up in some areas and have been implemented as such.
InfoQ: How would the performance of a production system running JBoss AS 6 compare to one running version 4 or 5? How does it compare to other containers and application servers?
Shelly: I don't have available performance comparisons of AS 6 against production systems running on other versions AS or comparisons to other application servers. Red Hat recommends that customers deploy our enterprise releases, like JBoss Enteprise Application Platform, in production. What I can say about performance is that there have been somewhat noticeable improvements between JBoss AS 5 and 6. Boot performance has improved in JBoss AS 6 with a mean boot time of 15sec. The improvements are seen in part due to the deferring the deployment of the management console applications that ship with the AS rather will be provided "on-demand" and are available when desired as well as lazy deployment of the Timer Service. Microcontainer (v 2.2) enhancements including the implementation of the new annotation scanning library provided noticeable improvements in application deployment time. As Ales Justin writes in his article: “The main goal or idea behind this library is very simple: unify all of JBossAS component scanning into a single-pass scan. Instead of doing the resource scanning for every component, we just do it once, properly delegating the work to various container components. Another goal was to also enable usage of pre-indexed information, so that there would actually be no need for the scanning itself; e.g. one could pre-index all of jar's annotations during the build. ”
InfoQ: How does JBoss AS 6 fit in the whole of the JBoss Enterprise Middleware strategy?
Shelly: JBoss AS is the upstream community project for JBoss Enterprise Application Platform which in turn is the foundation for the whole JBoss Enterprise Middleware stack. The next version of the JBoss Enterprise Application Platform will achieve a number of goals :
- continuing our long commitment to Enterprise Java standards – achieving Java EE Web Profile certification with AS 6 was a first step and you'll see us extend that to the full Java EE 6 stack
- improving our capabilities in large-scale operational environments – with a new domain model, improved performance and scalability and improved modularity
- improving the ease of use for both development and operational environments
The first of these goals was largely addressed by JBoss AS 6, the other two are the focus of the next major revision – JBoss AS 7. While we were finishing up the AS 6 release, development work had already begun on Jboss AS 7 including an alpha version released to the community last October. The compliant technologies of AS 6 will now be integrated with the new, lightweight AS 7 architecture and, combined, will be the application server for our next Enterprise release, codenamed “Lancer”, and is expected to be made available towards the end of Calendar Year 2011.
InfoQ: What is the support roadmap for version 5 and what are the plans for version 7?
Shelly: There's a lot of exciting on-going development with AS 7. The team is looking for feedback as we work to address the goals above. We'll continue with rapid release cycles to ensure we get early feedback on features as they are developed.
For those who need a fully supported, stable platform for running large-scale, business critical applications – JBoss Enterprise Application Platform (EAP) 5 has been available for over a year and we're currently working on the 3rd maintenance release. JBoss EAP 5 fully supports the Java EE 5 Platform Specification. A few weeks ago, JBoss Enterprise Portal Platform, 5.1 release was also released. JBoss AS 7 will form the basis for our next enterprise version, JBoss EAP 6.
InfoQ: Shelly, do you have anything else to add?
Shelly: I would like to encourage developers interested in the Web Profile features to try out AS 6.0.0.Final release. [It's easily accessible from our Download page: http://www.jboss.org/jbossas/downloads.html. The discussions continue in our vibrant community forums and I welcome those who haven't done so already to join us.
Shelly McGowan is a Principal Software Engineer on the JBoss Application Server development team leading JBoss AS 6 in its' final milestone releases. She led the Java EE 6 Web Profile certification and is involved with other certification and compliance programs related to the JBoss Enterprise middleware platform offerings and was recently assigned the Specifications & Standards Compliance lead to formally oversee those efforts. In addition, Shelly maintains other open source community projects. Prior to joining JBoss four years ago, Shelly was a member of technical staff on the Java EE development team at Sun Microsystems, Inc.