We’re working out the details for the Resin 4.0 architecture, planned around JavaOne 2009 based on the final releases of the JavaEE 6 specifications. Resin’s architecture is built from 5 main components: core, clustering, servlets, messaging, and php.
We’ve factored the core into a separate component because it is useful outside the Resin server and because the core component helps us focus on the core quality without distractions from the outer layer. The core is primarily made up of WebBeans (JSR-299) and OSGi and includes basic Resin capabilities like classloading, logging, and management (JMX). Because the core includes its own OSGi framework, you can use it as an OSGi deployment platform and use WebBeans as the assembly and configuration factory.
The clustering layer for Resin 4.0 will generalize from our session and load-balancing clustering capabilities. Currently, those capabilities are tied to the http/servlet layer, and we’d like to make those abilities more generally available.
Traditional servlet and HTTP capabilities are the first application slice of Resin 4.0. The set of specifications will be defined by the JavaEE Web Profile: Servlet, JSP, JSTL, and JSF.
Quercus, our PHP implementation in Java, is the second application slice of Resin 4.0. We’ll continue to improve performance and compatibility and also work on the PHP 5.3 features.
Messaging is the third application slice of Resin 4.0. We’ll be rewriting our JMS capabilities to use BAM/HMTP as the underlying transport. We hope to provide additional protocol drivers for BAM, including XMPP (Jabber), but the details are not yet set.