Has anyone deployed a corporate application in OSGi and found it useful?
I can see the benefits, forced modularity, good dependency definitions etc. But these seem to be mainly build related improvements.
Has anyone found it useful to dynamically replace an existing module? We tend to split our application by process and to be honest, it’s not that difficult to startup a new instance of the app with updated libraries. Would OSGi be useful for this?
How reliable is the replacing of a module? It strikes me that if you have a very busy process with lots going on, replacing a running module is fraught with danger.
I have just blogged about why we didn’t go with OSGi
In a nutshell, I believe the foundations of OSGi are solid but it wasn’t built for mass application development. It introduces friction into the development/deploy process that is already fraught with challenges. I’d like to see the OSGi spec leads focus more on the developer/user persona of OSGi to make it invisibile to the development process. Also I’m appalled that the JVM still doesn’t have a transparent module standard.