The first thing you need, if you're going to do enterprise OSGI, is a starting template for a modular project.

5 minutes, right? We've all done this before. Right click in the IDE > new > project > yada yada

Not So Fast

True, that will do the trick in a non-OSGI world. But then there's all the other stuff like

  • Maven,
  • Hudson
  • m2Eclipse files
  • Foundational dependencies such as Spring
  • Testing dependencies (Groovy, mocks, etc)
  • yada

As I add each of the many pieces of functionality that make up my standard template project, it somehow seems to break one of the previous, and I'm back to square one - making up my own wizards and blowing any chance at this 5 minute thing.

I'm the first to admit that I'm really fussy about this step. I've seen project after project that fails because the setup becomes too gangly to be workable when it goes to a bigger team.

But this is pretty out there. I have many days in getting this first OSGI template project to pass all the tests that I would normally give it.

Why OSGI In The First Place?

I've already written and abandoned several blogs on that subject - they get to ramble on and become unreadable, so I never publish them. Other bloggers who I respect deeply have fallen into that same pit.

This is why OSGI may never become popular.

  • It's a cerebral affair.
  • It's not for sissies.
  • The thinking that goes into justifying the higher up front costs just isn't normal. 
  • The tooling just isn't there yet. Very helpful, but not all integrated painlessly