I admit it: “Using OSGi for the first time isn’t as fun as any of the hip
new scripting languages.” Actually, it can be quite painful – especially
in the beginning. You’re forced to think about things you actually don’t
want to – or better put – you thought you don’t want to. The good news
is that there is tooling support (like: BND, maven-bundle-plugin or Eclipse
PDE) that can help you getting around most of the time. Unfortunately, there
is still the remaining bit, that keeps nagging your brain with the “what
could possible have gone wrong”. The one thing that bothered me most about
it is that in many cases the steps you need to figure out what’s wrong are
the same. It is simple, repetitive work you have to do, mostly only using
basic OSGi know how. Also surprisingly simple, there is no tool at hand that
can help you going through the necessary steps – well, till ... (more)
Migration of software systems to the OSGi platform is gaining momentum with
wide acceptance of the OSGi technology as the dynamic module system for Java.
This transition is of special interest when it comes to popular Java
application frameworks, which attract a growing number of Java developers
around the world. Although the technical merits of the OSGi platform are
broadly recognized, the migration of existing application frameworks is slow
due to significant redesign and re-implementation efforts involved. We
present an alternative lightweight approach - an adaptation of exist... (more)
Versioning in software is as old as software itself. So, one should assume we
are able to handle versions pretty good right? Well, you can’t be more
wrong. Versions at the moment – and this holds true for ALL programming
languages and concepts I know off – haven’t even remotely been done right
till now. You ask why? Well, that’s easy to explain…
Currently, versions can only be considered as simple timestamps with a
sophisticated syntax. You might be able to read intentions from the provider
but further than that they are useless. The syntax of a version theme might
indicate some... (more)
After some less OSGi technology centric posts I am now getting back to the
meat and will highlight the problems involved with dynamic imports. In well
designed OSGi applications the “DynamicImport-Package” header is obsolete
should be. Unfortunately not every code is OSGi aware. Actually it is not the
missing OSGi awareness that is the core of the problem. It is more the notion
of making wrong assumptions on the visibility of classes and the misuse of
context class loaders in 90% of the cases I saw. But what is the problem in a
concrete example?
Well, a common example is JAXB. Y... (more)
It feels like recently extenders became extremely fashionable among the OSGi
community. Eclipse is using an extender like pattern to track their
plugin.xml configurations and Spring DM introduced the plain osgi extender
together with a special web extender. It seems like everyone has one lately,
but what is all the buzz about and how should or could you use one - and even
more important, when should you use one. As always in software development
there is no clear black and white answer to this, but this blog post at least
tries to shade some light on this topic to help you making... (more)