The screencast below brings up many different approaches of modularity systems in Java. Hmmm. I never even considered anything beyond OSGi.

  • OSGi
  • JSR 277
  • JSR 294
  • NetBeans Modules
  • Maven
  • SMS
  • Jigsaw

Jaroslave Tulach, the guy who wrote the netbeans module system is interviewed here, it's a great discussion.


API as Bridge

Another interesting concept discussed here is almost orthogonal to the issue. This is the question of building bridges between similar APIs as a way of allowing multiple approaches to co-exist.

In other words, instead of re-writing NetBeans Modules to incorporate OSGi as well, Jaroslav Tulach wrote a bridge API to accomplish the same task, leaving his original module system intact.

Eclipse Bundles Inside NetBeans

This probably won't get everyone else as excited as it did me, but you get about 16+ minutes into the screencast and you're staring at a whole screen full of eclipse jars (bundles) inside the NetBeans codebase.

I almost fell out of my chair.

Jaroslav's Note To Self

My sick sense of humor found the wrap up to this presentation particularly amusing. Jaroslav concluded that a standard approach was necessary, that too many implementations are a problem.

Good conclusion, Jaroslav. Move NetBeans, and everything else to OSGi. Then the deed is done....