Wonderful tutorial about OSGi. Solves a few mysteries (to me) about Eclipse plug-ins.

In summary,

  • OSGi is a Java-based architecture for developing/deploying modular components. Such components should be able to be deployed without restarting the container.
  • These components are known as “bundles”.
  • Eclipse plug-ins are based on OSGi bundles, so every plug-in is a bundle. Eclipse uses Equinox, which is the reference implementation of the OSGi Service Platform version 4.
  • A bundle needs to have an “Activator”, which implements start/stop methods to handle the bundle life cycle. A bundle also needs to have a manifest, which describes the bundle and points to the Activator.
  • OSGi also helps to manage dependencies through package visibility. Bundles specify which packages to export, so implementation packages can be hidden from bundle clients.

Leave a Reply