OSGi Equinox in a Servlet Container


This page display the list of articles called « OSGi Equinox in a Servlet Container« . Articles will :

  • explain step by step how use OSGi Equinox in a Servlet Container with the provided basic sample sample.http which register a servlet as an HTTP OSGi service.
  • show you the benefit to use OSGi in the Web Application.
  • show you the 2 problems coming from OSGi Equinox in a Servlet Container and how I fix that with patch 323707.
  • show you how we could use OSGi Equinox in a Servlet Container to manage Documentary Collection in a Electronic Document Management WEB application. On other words Documentary Collection is managed with an OSGi bundle that we can start/stop (with OSGi console) to register/unregister it to the Documentary Collections.
Step Extrait
[step0] Introduction of OSGi Equinox in a Servlet Container[step *] articles.
[step1] Explain how use Equinox in a Servlet Container with the provided bridge.war and show the sample sample.http in action with WTP Dynamic Web project.
[step2] Explain how bridge WEB application works (explains the content of the web.xml which use BridgeServlet) and explains how sample.http works.
[step3] Explain how use Target Platform to compile your custom bundle (sample.http, sample.http2…) with the bundles JARs coming from bridge/WebContent/WEB-INF/eclipse/plugins folder (and not coming from the Eclipse IDE).
[step4] Explain the ServletBridge patch 323707 to use directly bundles from the workspace + can host resources (JSP, Servlet, Javascript, HTML…) in the bridge webapp.
[step5] Explain use Equinox in Servlet Container to enjoy OSGi for an another features (different from HTTP services). Transform bridge WEB Application to have (a simple) Electronic Document Management WEB application which manage Documentary Collection (OSGi bundle) that we will able to start/stop (with OSGi console) to register/unregister it to the Documentary Collections. The Collection bundle doesn’t works.
[step6] Fix problem in order to Collection works, by using Fragment-Host: system.bundle; extension:=framework.