Jakub Korab
Tech, Opinion, and Doing Stuff

OSGi vs. JSR-277

February 06th, 2007

I checked out the OSGi presentation from the Parleys site http://www.bejug.org/confluenceBeJUG/display/PARLEYS/Spring+OSGi. Wow. I haven’t really spent any time thinking about this stuff in the past, but it seems that yet again the JSR process is trying to formalize something that doesn’t need it. OSGi seems to be a much lighter, more powerful model whereby you can switch bundles, the JSR-277 module equivalents, at runtime via an OSGi console or JMX. Check out http://www.osgi.org and http://en.wikipedia.org/wiki/OSGi for good synopses of the technology and what it can offer.

The huge advantage here is that the technology is stable, mature and available to use right now (there are a number of open-source implementations) rather than needing to wait for something that won’t be around until Java 7. All that and no new language structures.

There’s an interesting post by Peter Kriens from OSGi about how JSR-277 stacks up at
http://www.osgi.org/blog/2006/10/jsr-277-review.html

"The ambition level of JSR 277 is significantly lower than where the OSGi specifications are today, even way lower than we set out in 1998. In a way, for me the JSR 277 proposal feels rather toyish. "

It’s time to kick the tires on this one, and see where it might be useful.


Filed under: java, jsr-277, osgi | No Tag
No Tag
February 06th, 2007 13:27:00

An end to classloader nightmares

February 02nd, 2007

I have been going through some of the presentations from the Javapolis 2006 conference, and I stumbled upon a talk by Stanley Ho from Sun Microsystems about JSR-277 Java Modules – http://www.bejug.org/confluenceBeJUG/display/PARLEYS/JSR-277+Java+Module+System. The spec finally provides Java programmers the ability to programmatically enforce version dependencies within their code. No more classpath hell!! Woohoo! Once you have tried to work out which one of the 1000 xerces.jar files the classloader is loading a few times, it tends to lose its novelty.

One of the really cool things about it is the ability to instruct the classloader to load different versions of the same library (or module as it is now referred to) programmatically at runtime – loading different versions when you need them! Very powerful. Can’t wait to see an implementation.

It’s about time too…


Filed under: java, jsr-277 | No Tag
No Tag
February 02nd, 2007 17:34:00