You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by David Leangen <ap...@leangen.net> on 2020/06/22 02:13:00 UTC

Question about composition with James

Hello!

I have a question about the James architecture, and how it relates to how James components are composed.

It is my understanding that there are already some basic concepts that are well-known, like SMTP Server, IMAP Server etc. (Or if you prefer, MTA etc.)

So why is it that these are not packaged as “stand-alone” servers? When an application is deployed, why is the functionality composed at the Guice component level instead of composing it at the application component level?


Wouldn’t it be easier for both developers and operators alike to work at this higher level of abstraction?


An example that was pointed out to me was Haraka: https://haraka.github.io/. That seems to me like a good level of abstraction, and it could be composed (or not) at this level with, for example, an IMAP server.

Or is there something important that I am missing?


Cheers,
=David