On 2/1/07, David Woldrich <[EMAIL PROTECTED]> wrote:
Do I have your attention yet?  :)

Yes :-)


I understand there are architectural thingies in James to consider and
phoenix and whatnot.  I understand that there's a lot of time and
investment in the existing architecture.  And I'm not suggesting that
James should not be able to run standalone, but I would like to be able
to optionally deploy James to Geronimo as a plugin.  Has someone in the
know put any thoughts together on what it would take for this type of
deployment of James?

Yes, I have. Well not exactly, but it got your attention right? ;-)
We have an architecture which should lend itself well to james core
services being re-packaged for a whole range of deployment options. We
already have a sandbox fork which is deplyed in Springframework.

I posted this to the PMC list in q4 2004, when we were discussing what
to do about the closure of Avalon. Time has moved on since then but I
think it is still relevant:

       ... we slowly remove all trace of Avalon and Phoenix from James,
       refactoring it into a "james-phoenix" deployment project and
leaving "our"
       code as POJO's

       Then we market James as container agnostic, supporting massive
       extensibility/configurability, and invite container projects to create
       other deployment packagers for James, MX or EJB/JCA or
Geronimo or Pico or
       son-of-avalon, whatever. Let them compete to be the *best* container for
       James, not the *only* container for James because James will be the only
       sensible solution for proving a future proof mail framework.

       Thats the crux of it really, make James not standalone but embedable by
       design, any standalone distributions would be two things
James+deployment
       code.

       Encourage people to come in and contribute their "non-core" stuff, and
       focus our limited bandwidth on creating deployment options for
James, make
       james the ultimate chameleon, capable of being easily wrapped
to embed in
       any Java container you want.

       James should be easily extended anywhere, be that by adding
protocols, fast
       fail storage, mailets, seive whatever.
       Lets try to make James the R&D environment of choice for people who are
       experimenting with changing the nature of mail, and the
discerning admins
       choice for flexibility.
       I think we've suffered a little from our lack of willingness to deviate
       from design decisions in the face of requests from the real world, lets
       open up the whole of James so that anyone can implement
anything, even if
       it defies convention and breaks the rules.

Discussions with Dan Debrunner about a year later talked about
embedding James in Derby, as well as Derby in James, to produce a
mail-enabled database.
http://mail-archives.apache.org/mod_mbox/james-server-dev/200511.mbox/[EMAIL 
PROTECTED]

What showstoppers are there?
Lack of available effort, and a clear set of refactoring goals is what
has foundered the effort so far.
We'd probably have to re-structure the project to have james core and
a number of deployment options, and we'd need to create the deployment
options. Nothing fatal that I can see.


If there was ever an
official James bug day, I would love to get involved, make some new
friends, and (especially) do some work towards the James-As-Plugin end...

Thats a nice idea, but we're a pretty global bunch and tend not to
work regular hours.
OTOH we've got a whole bunch of stuff in JIRA which you're welcome to
pick from.
In return we need to sort out our lifecycle so that you get the warm
glow from seing your fixes released, rather than languish in svn for
months on end.

d.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to