I’ve done lots of work transforming rudder Application Server, a previous project, into an Application Framework.
The Kernel of Blaapps is based on core Subsystems. Two of them are the most important:
The Deployer reads components called Modules, and loads them into memory. Modules are like plugins, hot plug-gable extensions to the application.
Messaging brings the infrastructure for the inter-module comunication.
Other features which are usually needed for Application development are packaged as Kernel Modules. In this version, two modules are included:
Remote helps you to publish objects into a RMI Registry.
Persistence Is a JPA (Hibernate) wrapper.
As you can see, blaapps 0.5.0 is reinventing the wheel. There’s lots of plugin frameworks, and the EJB 3.0 standards helps you with persistence and remote objects. So why develop something like blaapps?
The first reason was that I wanted to learn how to do cool stuff, like Dependency Injection. Blaapps contains «only» 1800 lines of code, so it’s easier to learn from blaapps than from a real Application Server.
The second one is that I wanted something fast for my developments. Blaapps is very limited, but it starts in few seconds.
What’s next? Once I present my Thesis and became an official engineer, I’ll start with blaapps 0.6.0. There’s already a Milestone planning which will focus on making easier the building of GUIs.