source: mailjam/docs/src/overview.rst@ 28:78868a27630e

Last change on this file since 28:78868a27630e was 27:b1d527287347, checked in by Borja Lopez <borja@…>, 12 years ago

Added more information to the README file

Updated the architecture scheme so it fits the renaming of the project
to mailjam

Fixed the search path for configuration files. Now it searches on /etc
first, /usr/local/etc then.

Added more docs regarding the installation, configuration and running
of each component

File size: 2.2 KB
RevLine 
[16]1Overview of mailjam's architecture
[13]2==================================
3
4.. contents::
5
6Introduction
7------------
8
[16]9Mailjam has been designed following a **multi-component structure**. There is
[13]10**a daemon** that manage the mailing lists and members information in a storage
11backend and there are **different kinds of clients** (currently, three of them)
12that **interact with the daemon using a XMLRPC link**.
13
14This is the scheme of the architecture:
15
[16]16.. image:: /mailjam_architecture.png
17 :alt: Scheme of the architecture behind Mailjam
[13]18 :class: open_fancybox
19
[27]20This architecture works for small setups (everything running on a single server)
21but it works for bigger/larger installations with up to N mail servers, running
22each server its own :ref:`overview_mailjam_mta_client` (or multiple instances
23of it) to connect to N :ref:`overview_mailjam_daemon` servers (managed locally
24or remotely using up to N :ref:`overview_mailjam_cli_client` or
25:ref:`overview_mailjam_web_client` instances).
26
27.. seealso::
28
29 :doc:`The examples documentation <examples>` contains some useful examples
30 about different kinds of setups.
[13]31
[16]32.. _overview_mailjam_daemon:
[13]33
[16]34Mailjam daemon
[13]35--------------
36
37The daemon will perform all the operations regarding the management of the
38mailing lists and members. The daemon will save information of a given
39mailing list to the storage backend, and will read information of already
40saved lists from there too.
41
42It listens for incoming XMLRPC requests on a given tcp port, allowing clients
43to add/update/delete data from the backend.
44
[16]45.. _overview_mailjam_mta_client:
[13]46
47MTA client
48----------
49
50This client is attached to a given MTA, and is called but the MTA itself when
51emails for a mailing lists are received. The client performs some checks on the
52backend to tell the MTA what it has to do with the incoming emails.
53
[16]54.. _overview_mailjam_cli_client:
[13]55
56CLI client
57----------
58
59This is a shell-like interface that can be used to add mailing lists to a given
[16]60Mailjam server, edit such mailing lists information, add members, etc.
[13]61
[16]62.. _overview_mailjam_web_client:
[13]63
64Web client
65----------
66
67This is a small *webapp* that can be used to perform the same management
68operations you can achieve using the
[16]69:ref:`CLI client<overview_mailjam_cli_client>`.
Note: See TracBrowser for help on using the repository browser.