Does OSGi Increase Complexity?
Is overcoming the learning curve of OSGi today, worth modularity tomorrow?
“There is a stark difference between complexity brought on by
lack of tooling and platform support versus complexity associated
with an ill-conceived idea,” writes Kirk Knoerschild in his
latest blog post.
In his opinion, the major problem with OSGi is not the
complexity of the OSGi framework, but the limited enterprise-class
tooling and platform support, which can sometimes make OSGi
difficult to implement.
A new technology always takes time to learn, therefore, it is
bound to feel difficult at first. But, if OSGi becomes more widely
adopted, it seems logical that the tooling and platform support (in
addition to the supporting documentation, tutorials and blog posts,
by Ian Skerrett) will increase, and more support will of course
make it easier for newcomers to get to grips with OSGi.
The question Knoerschild poses is whether the struggle of
overcoming the hurdles of today, is worth the gain of a modular
architecture tomorrow. It seems this is a matter of personal
Knoerschild sees a correlation between OSGi, and more widely
adopted technologies such as Spring, Hibernate and Hudson. All of
these technologies are, arguably, challenging to implement, but
their benefit in terms of creating flexible software systems is
Modularity has its benefits, it just requires learning new
concepts, tools, and design paradigms. “OSGi does not increase
complexity;” he concludes “the very benefit of modularity is that
it helps us manage complexity.”