[Cosmo-dev] breaking the ui into separate webapps

Brian Moseley bcm at osafoundation.org
Tue Nov 7 11:02:31 PST 2006


here's an a idea that i proposed on the design list yesterday. i
wonder what everyone else thinks about this. i'm not yet convinced
that we should do it, but i like the idea a lot and wonder if there
are any holes that i haven't found.

if we break the admin, browsing and pim/"item" parts of the ui into
three separate webapps, we avoid the problem of how to link between
the functional areas - we don't have to (tho we could link them all
from the snarf home page).

also, we don't have to implement any sort of server-wide toggle for
turning the calendar and browser on and off (different users have
asked for both of these); admins can just undeploy whichever apps they
don't want. in fact, one could deploy all of the ui webapps and have
just a protocol server. heck we could even split the protocols into
separate webapps, so that one serves only caldav, or only atom.

this would require us to package the service apis (and several others)
in a cosmo-core.jar which would be included in each of the webapps.
the webapps would  all have access to the same database through j2ee.

it would also require us to set up single sign-on in the snarf bundle
so that users don't have to log into each ui webapp separately. and
we'd have to share some components, like the login page, between the
apps.

assuming all uis and protocols were broken out, the url space would look like:

http://example.org:8888
  /dav
  /webcal
  /atom
  /cmp
  /pim
  /home
  /admin

componentizing the uis and protocols like this would help clarify the
source code as well - we wouldn't have multiple security
configurations in one place, each web.xml would be much simpler, etc.

the cost would be a more complex source code structure (a subproject
for each webapp) and some maven magic to make sure that shared
resources (things related to login, for example) get put in the right
place.

thoughts?


More information about the cosmo-dev mailing list