Upayavira wrote:
Vadim Gritsenko wrote:
Well, we have briefly talked about the fact that we need to support
both scenarios. We need to be able to run the Cocoon servlet within
an OSGi framework, and this will probably be the default option, and
we also
I can not imagine who or in what environment will ever run this, and why.
You're saying that, as far as you're concerned, Cocoon should _just_ be
a servlet, and OSGi should be embedded and invisible?
(don't forget command line, portlet, or any other 3rd party environments too)
Yes, and I've not seen how it can be otherwise (i understand that it's possible
to use current osgi http service for an R&D process, i'm mostly talking about
production deployments).
Well, that's not the way that OSGi works.
:-)
You start a framework, you
start a servlet container bundle, then you start your servlet bundle,
all within the OSGi framework.
Replace 'you' with 'program', name this program CocoonOSGiServlet, and we have
something working. No need for servlet & servlet container bundle, though.
CocoonOSGiServlet will create Environment, and pass it on to the TreeProcessor
as usual, which can have mounts for different blocks - if blocks are used at all.
Remember, it is always easier to do small steps than one huge leap into unknown
:)
need to support running an OSGi framework within a servlet (and a
Cocoon servlet within that OSGi framework), for those that _must_ run
Cocoon in a servlet container, such as JBoss, etc.
This seems to me like the option used by most Cocoon users. IMHO, for
an average Cocoon user it should not even matter whether you buried
OSGi somewhere inside Cocoon or not.
This may be the way used my most Cocoon users at the moment, yes.
However, many Cocoon users just want to start Cocoon, they're not fussed
about a servlet container, that's just a complication. For those, the
OSGi approach will work.
It might go well while you are developing an app... As long as you can keep said
app isolated from other pieces you have to be integrated with (which is usually
not the case).
For the more aware, and perhaps constrained (e.g. by corporate
requirements for a specific servlet container), will require the ability
to run within a container.
Include here hosted apps: as long as there is no abundance of "OSGi hosting",
you will have to bundle your app as a war.
Include here integration with existing apps: as long as you have investments
into j2ee or some other technology not available under OSGi, you will prefer
using Cocoon as a servlet.
Forcing OSGi will limit applicability of Cocoon in many (imho, almost all)
environments.
To do it the other way brings up some issues that will need to be
resolved. We will need to write a servlet that will defer requests to
the OSGi framework.
Exactly my point. I never questioned this.
Vadim