I wanted to start a conversation regarding the long term architecture of
Rave. I'm primarily interested in how Rave will ultimately be able to be
deployed.

Currently, as you know, Rave is built and deployed as a series of three web
apps, ROOT (mostly Shindig), portal (main rave features) and wookie (I'm
not counting demogadgets). This model has it's advantages since all you
have to do upgrade is replace a war file since it's all self contained.
However, this model also has some drawbacks.

In a perfect world it would be great if Rave could support multiple
deployment models. My personal preference would be to see Rave be able to
be deployed modularly in an OSGi container (Rave services advertised as
OSGi services, etc). This would give a lot of freedom for interacting with
Rave programmatically, for scaling, for incremental upgrades and supporting
plug-n-play services (JPA vs JCR for example).

In looking at the system it wouldn't be horribly difficult to convert it to
deploy modularly into an OSGI container but I also realize there are going
to be people who want a standard WAR distribution. I didn't have any
brilliant ideas of how to structure things to support both as different
build options but I wanted to raise the idea anyway and see if others had
any thoughts. Do others see a need to have a more modular deployment model
in their use of Rave? Have there been other discussions around this already?

Thanks,
Chris

Reply via email to