Before talking about distribution, I will talk a little about OSGi.
This platform was primarily intended to work on mobile device. Therefore, it has been design to be light and focusing on the principal (KISS Principle).
Every developer who had used Java programming more than just some Hello World tests, will understand the Jar Hell and the fun with the Class-path.
OSGi has too primary goals, first its modular system which allow to manage module (they call it Bundle) life-cycle, module version management and module dependencies. It’s particularly important for applications who need to run with small memory to only load what is necessary.
The second important goal of the core of OSGi is its service registry, once again focus on the minimum and just allow a module to register its services on the registry in a really purely manner. (more…)