The rewrite has been three years in the making with the first release candidate code previously delayed several times. JBoss CTO Sacha Labourey said in a recent Red Hat blog posting that the JBoss division has rebuilt part of the application server around more of an "enterprise Lego block" approach. The 5.0 version is also built around Java Management Extensions, a way of providing more embedded tooling and agents into the application server for managing its specific parts and their interactions with applications.
With the re-engineering, JBoss Application Server may take on distinct personalities, since the core microkernel has been stripped down to essentials. Different personalities can be combined with the microkernel and plugged into version 5.0, such as a basic POJO or plain old Java objects approach that kept applications based on entry-level Java modules. Or it could take on an Open Services Gateway initiative profile that treats a large library of Java software as components to be combined in unpredictable ways for instant applications.
"This investment will have a drastic impact on the overall JBoss Enterprise Middleware offering... and its ability to adapt to market changes," said Lebourney in his blog.
The application server relies on Sun's Java Virtual Machine, and core middleware services, such as security; persistence, or the ability to store Java software objects and call them up again; transaction management, and clustering. The core services have been componentized into more of a Lego block approach. They can be pulled together and plugged in as needed.
Labourey cited a comment by JBoss 5.0 project leader Dimitris Andreadis, who said one example of the upgrade to subsystems is the replacement of the aging JBoss MQ with JBoss Messaging 1.4, which supports clustered queues out of the box along with automatic failover when a server fails. Messages from the failed server are redistributed to other application servers on the cluster.
Messages being used by the application server on one node of a cluster can be repeated in the memory of other computers so that they can be found there, rather than searching for them on disk. The changes are a performance enhancement for version 5.0, Andreadis said.