After studying Eclipse plugin development, I became interested in OSGi and Spring DM. I wanted to try Spring DM so badly But I'm wondering if it's worth it. Do you think that OSGi has a future ? Which field do you think OSGi is more adapted to ?
Of course we are biased... OSGi has a pretty bright future IMHO. We are seeing strong adoption in the server world, its all over in Eclipse-land and there is renewed interest in its original domain of residential gateways, settop boxes, .. (i.e., embedded). Many enterprises are basing their architectures on OSGi. will it take over the world? What will happen with Jigsaw? Will it branch out into other languages? Who knows. I certainly believe that the technology and approach are sound.
When I look back to ten years ago when OSGi was very new and think about how we prepared for the future (we now call it the present!), here's what comes to mind: We didn't bet our farm on some newfangled framework called OSGi. But we did bet that making our applications modular and relying on a clean separation between our business logic and our dependency injection details was a good idea. This meant that as OSGi evolved, porting our applications was pretty easy. If OSGi had withered up and died, we could have moved our well-structured application to some other more successful framework, or we could have rolled our own.
I thin the same holds true now as we contemplate the next ten years. Don't bet your farm on OSGi. Bet it on well-structured, highly modular, and decoupled architecture. Then OSGi (or Jigsaw or SpringDM or whatever) becomes more of a deployment detail. I write code all day long that runs on OSGi. But I spend a very very tiny portion of my time actually being concerned with OSGi per se.