Pax Web Extender WAR is an extender bundle that makes possible to deploy WAR files into OSGi.
How does it work
First you should have a war file compliant with Servlet specs. As the war file will have to be deployed as a bundle the war file must have the necessary OSGi manifest headers (take a look what is required and how you can easily add them). Once you have this preconditions you just have to deploy your bundle in your preferred OSGi framework. Of course, what you need more is that pax web extender war bundle to be installed together with an http service (preferred Pax Web).
Detailed way of working
Once installed the war extender will watch over the bundles that get started / stopped.
Once your war bundle gets deployed and started, the war extender will parse your web.xml and registers all elements with http service. If the http service is Pax Web then most likely that you will get a fully working web application. If the http service is a standard one some of the elements will not be registered as standard http service only supports servlets and resources.
Once your war bundle gets stopped all the prior registered elements will be unregistered.
- with no/minimum modifications to your war you can deploy it into an osgi framework
- you do not depend on any OSGi api
- you do not have to keep track of http service availability
- you do not have to register/unregister your servlets/resources/filters/listeners
- easy to use