views:

205

answers:

2

Was there concurrent technologies at that time? What was advantages of OSGi compared to other technologies and to native (pre 3.0) technology?

+3  A: 

Perhaps the major benefit of OSGi is the ability to have isolated separate bundles. This allows one bundle to hide its dependencies from the global classloader.

Many times when building a large system, one component will need a certain library, while another uses a different yet incompatible version of the same library. In this case picking one version of the library over the other breaks the other.

The separate classloaders for JARs and WARs were an early attempt and at allow some modularisation and management of dependencies for separate and isolated components. If you look at older versions of WebLogic etc you will notice they repackage commonly used libraries (eg Xerces) under the weblogic.* so as to not have a clash with a Xerces your app may wish to include.

With OSGI it is possible for each bundle to only expose a single package containing the interface to the core. Each bundle can then use their own libs without worrything about the classpath class problem described above.

mP
+2  A: 

Please visit the following site:

The Eclipse 3.0 platform: adopting OSGi technology

bhadra