Aleksa and I gave talk at the Spring in Finance Exchange in London on Friday 10th October. We took a large Java EE web application (a huge 22MB WAR file) and deployed it in the dm Server. And it worked!
But that was just a small preview of things to come.
Shared Libraries WAR
Next, we deployed the application in the shared libraries WAR model. In short, this allows you to share the libraries from your applications amongst other applications running in the dm Server. Imagine that you have three large applications, two of them are using Hibernate 3 and one is using Hibernate 2 (oh, the humanity!). You can install two independent versions of the Hibernate classes in the dm Server. This means that the memory footprint of the dm Server running the three applications is significantly smaller than the footprint of Tomcat or any other application server in the same situation.
Shared Services WAR
Shared libraries solve some Java EE deployment problems, but do not address the situation where you need to access some of the services exposed from other bundles in the dm Server. If you wish to do that, you have to deploy your application as shared services WAR. In this model, you split your application into its “services” bundle and keep the web module as simple as possible. The important consequence of this deployment model is that you can import (and export) other services from your application’s “services” bundle.
For more interested readers, check out the video podcasts on the Skills Matter site.