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 existing Java
application framework for component based OSGi environment. Adaptation, as
opposed to migration, eliminates the necessity of modularizing or redesigning
the existing framework. This is particularly important when existing software
platform and the associated programming model is mat... (more)
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 ... (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)
Last week the OSGi website[1] published the early draft of the OSGi R4.2
specification[2]. Reason enough to have a short look at what is covered in
the upcoming release.
First of all one has to notice that this is not a minor release as the
version number may suggest. Release 4.2 is actually way more significant than
the R4.1 release last year. At some points I would even say it is more
important than the R4 release, because with that one usage becomes way more
easier, especially for none OSGi experts. But first things first. What is
actually in the new draft?
Core design chang... (more)