Hi Vinicius,
Most, if not all of what you are looking for is implemented in an Open
source project (Apache 2.0 licence) called dysoweb:
http://forge.objectweb.org/project/showfiles.php?group_id=304
Dysoweb is an OSGi platform (Apache Felix) embedded in a servlet
context that can serve servlet requests to servlets, filters and jsp
pages packaged in OSGi bundles.
The idea is to have a modular and dynamically upgradable web
application.
(Sparse) Documentation is here:
http://dysopedia.requea.com
Lot of the dysoweb code deals with servlets, filters, jsp and taglibs
in an OSGi environment like felix, but if you are looking at just
embedding felix in a servlet context, this is pretty straight forward.
Feel free to look at the code in DysowebServlet.java:
startFelix(ServletContext ctx, String prefix)
Pierre Dubois
Requea
www.requea.com
06 82 27 46 32
----------------------------------------------------------------------
From: "Vinicius Carvalho" <[email protected]>
Date: January 6, 2009 1:28:46 PM CEST
To: [email protected]
Subject: Felix inside web container
Hello there!
After reading the books and the many help got here we started our
project,
but there's just one piece of the osgi architecture that I still
don't get
it.
I have a background on JEE development, and since the Felix is a
registry
one could make an analogy just like JNDI, I know there's much more
to the
OSGi platform than only a simple registry, but looking that way,
inside a
web container, why would I need my servlets to be registered as
services as
well? On a MVC model, the servlets purpose is solely to act as a
controller
right?
I was imagining putting the Felix inside a servlet context, much
like Spring
app do. And my servlets would consume services provided by the
Felix, I
would create some special servlets front ends to install bundles,
list them,
update, and the application would only consume the services. Since I
have
not seen this approach anywhere I'm guessing I'm doing something
terrible
wrong ;). Would this be a good approach? Has anyone tried this before?
Best regards