After 21 months of sporadic work, I’ve finished the application for my “Thesis”. Today I’m proud to announce the release of Blaapps Application Framework version 0.5.0.

I’ve done lots of work transforming rudder Application Server, a previous project, into an Application Framework.

Blaapps Architecture

The Kernel of Blaapps is based on core Subsystems. Two of them are the most important:

  • Deployer
  • Messaging

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
  • Persistence

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.