My question is pretty straightforward: What are the features of an application that force the developer to exploit OSGI-like system? What are the cases, when such a utility is unneeded?
+2
A:
Use OSGI if you want some of:
- a very modular code structure (extreme case : each install has a different set of modules/plugins)
- to start/stop/upgrade a module without stopping the rest of the application
KLE
2009-10-13 07:44:21
If you happen to write a Web-Browser in Java, would you use OSGI?
Bubba88
2009-10-13 07:49:07
@Bubba88 As a technical person, the constraints are generally given to me, I don't choose them in my job. If I was writing this for fun, I could choose ; then I would choose according to "do I want to learn OSGI?". So my answer would be **yes**, because OSGI is a very promising technology that has already gained wide adoption.
KLE
2009-10-13 07:55:15
@Bubba88 - yes OSGi is a great fit for a web browser! Browsers need an extensible architecture with support for plugins that may be contributed by third parties at a later time; that's exactly what OSGi gives you.
Neil Bartlett
2009-11-12 13:26:32
+4
A:
I just posted the following link to another question (What does OSGi solve), but I think here it is an even better fit. Hal Hildebrand wrote a blog about why and when he thinks OSGi is helping your development/product.
The core essence of the (pretty long) post is that it helps especially when dealing with long running, complex enterprise projects. In particular in the long run, the benefit of having an enforced structure will pay out, but read for yourselves
Mirko Jahn
2009-10-20 16:30:17