JBoss AS 6.0.0.Final
The core architecture team of JBoss AS decided to take a different approach with AS 7.’
Dimitris is the Manager of the JBoss Application Server group in the JBoss Division of Red Hat. He has been a JBoss addict and contributor from the early JBoss days and joined JBoss in 2004. He became the Lead of the JBoss AS project for three years since 2006. Previously he spent seven years at Intracom and Motorola in the areas of NMS/OSS, designing reusable frameworks and distributed systems. Dimitris studied computer science at the Technological Educational Institute of Athens and received an M.Sc. by research from University College Dublin, Ireland.
JBoss Application Server (AS) 6.0.0.Final was released on December 28th, 2010. JBoss AS 6.0.0 Final is a fully certified implementation of the Java EE 6 Web Profile specification, but it also introduces new, non-EE 6 functionality too. In this interview, JAXenter speaks to Manager of the JBoss Application Server group, Dimitris Andreadis, on the release……
JAXenter: Why did the Application Server team decide to focus on the technologies that comprise the Web Profile, for the AS 6.0.0.Final release?
Dimitris Andreadis: The web profile is in large part the culmination of Red Hat innovation in the Java EE standards space and we believe it is well suited for modern web application development.
The Web Profile makes a good starting point on top of which you can layer additional Java EE technologies like JMS, JAX-WS, JAX-RS, etc., in order to create a runtime environment sufficient for a large class of applications. In addition, some of the remaining technologies in the Full Profile are legacy technologies, marked from removal in EE7.
For this reason we decided to focus our attention on rapidly delivering a set of EE standards that is most relevant to what developers are using today and in the near future. Also, since the concept of profiles is new to Java EE, shipping the Web Profile first is a good way to measure the community interest in the Web vs. the Full EE 6 profile so we can plan our next steps.
JAXenter: What are some non-EE 6 features included in this release?
Dimitris Andreadis: There are numerous improvements in JBoss AS 6.0 in almost all areas of the server, as most subsystems have been upgraded in relation to AS 5.1.
The clustering infrastructure has had some notable changes. We’ve replaced JBoss Cache with Infinispan which reduces the replication overhead and scales a lot better. Infinispan, however, is a lot more than a distributed cache. It’s a platform by itself designed for the creation of massive data grids for the cloud era. Moreover, we have included support for mod_cluster so that JBoss clusters can form dynamically behind an apache httpd server and exchange load-balancing and deployment information. JBoss should also work with IPv6 addresses.
There are many non-EE features introduced through EE components, like HornetQ replacing JBoss Messaging as the JMS provider, bringing with it capabilities like support for huge messages, advanced clustering scenarios and automatic message redistribution, as well as unmatched performance characteristics including an ultra-fast native persistence back-end. The feature list of HornetQ is impressive so better check out the specific project documentation.
Same goes for Hibernate, as our default JPA provider, or JBossWS as the Web Services provider which now bundles Apache CXF, replacing JBoss WS Native as the default back-end implementation.
JBoss AS6 includes the latest in terms of JBoss Microcontainer technologies and you will notice several improvements in the form of a reduced memory footprint and shorter boot times. Some subsystem are lazily started upon first usage, like the management consoles, so overall the server should feel somewhat lighter than AS 5.1.
But then, the notion of a lightweight server will be redefined with the introduction of the next generation of JBoss AS that the team is already working on.
JAXenter: Development began on AS 7 before AS 6 was final. What is the reason for having the development of these two releases overlap?
Dimitris Andreadis: To answer this question we need to provide a bit of background first. Historically, JBoss AS has been built in an additive fashion where new functionality was added to the server as the specs and the technologies evolved or contributions came from the community. We have rarely removed technologies and even in major refactorings, like in AS 5, we’ve managed to change the underlying kernel in a compatible way so we could keep most of the peripheral subsystems untouched. However, maintaining all these legacy technologies requires an increasing amount of abstractions and that adds up to the footprint of the server.
Moreover, while a lot of our existing users appreciate the configuration model of JBoss that provides access to literally every small detail in the server, there is a large group of users migrating to JBoss from other proprietary vendors that are used to a more traditional domain type model of configuration management. Satisfying both classes of users while improving the usability and manageability characteristics of the server, thus making JBoss AS more appealing to administrators and operations people, meant that we would have to make some serious changes to the underlying configuration and management infrastructure.
Based on the above, the core architecture team of JBoss AS decided to take a different approach with AS 7: start off with an improved re-incarnation of the jboss kernel (called Modular Service Container) and a small supporting set of libraries that implement the base runtime with the enhanced configuration and management capabilities, then sanitize and add back the services that are still relevant in order to create a leaner and faster server.
So this is a great clean-up act that was long due and a period of parallel development between the AS6 & AS7 streams was necessary in order to minimize the risks and validate the base assumptions of the new architecture.
JAXenter: What features are planned for the next release, AS 7, and when to expect it?
Dimitris Andreadis: The next major milestone for AS7 is a Beta release sometime in the spring timeframe. Whereas AS7 Alpha1 has been mostly about demonstrating the configuration/management features and the overall architecture, while integrating core services (like JNDI, JMS/HornetQ, JCA/IronJacamar, JTA/JBossTS, OSGi, initial Servlet/JBossWeb support etc), AS7 Beta is about presenting a more complete server that initially targets the Java EE 6 Web Profile, thus adding back support for EJB3, CDI, Clustering, etc.
So to conclude, the future is bright but the present is also compelling. AS 6.0 Final is out there, please go ahead and use it, tell us what you think and help us iron out any issues you may find by discussing them in the JBoss Forums. Upgrading from AS 5.1 should be relatively straightforward.
As always, a big thanks to the community that has been following closely and contributing to the development of AS6.