In 2008, I’ve started learning about OSGi. I like the technology because:
- it provides a nice way to componentize an application
- it has a clean class loader isolation which gets rid of problems introduced by the default hierarchical class loader structure of Java
- it forces you to properly design your applications
- it provides a highly dynamic environment where it is easy to add, update and remove components and component instance at runtime
- it is easy to enhance
Of course, there are a few hickups in practice. Not every software package can simply be used in OSGi, especially if it’s not prepared to handle the dynamics. Also, a few bugs in low-level components have made life a bit hard at times. But over all, it’s worth investing into.
It’s time for me now to contribute a few things to this environment. I’ll start with a package for handling the JAR Service Provider mechanism under OSGi and will publish more items later as time allows.
|An abstraction for the JAR Service Provider mechanism for both the plain Java and the OSGi environment.||2009-11-03|
|An OSGi bundle utility for Apache Ant with tasks to create bundles and convert JARs into bundles.||2010-11-18|