EXERCISE EXERCISE

Структура сервера FossDocMail

Сервер FossDocMail состоит из почтового сервера FossMail, обеспечивающего транспортный уровень, и сервера приложений FossDocMail, построенного на базе сервера FossDoc, который обеспечивает управление системой и взаимодействие с интерактивными клиентами.

Основные функции почтового сервера FossMail:

  • Доставка сообщений и отчетов
  • Формирование отчетов о доставке сообщений
  • Маршрутизация сообщений
  • Ведение базы данных конвертов сообщений
  • Архивация сообщений
  • Работа с автоматизированными рабочими местами
  • Ведение очереди сообщений на отправку
  • Настройка алгоритма передачи сообщений
  • Защита от дублирования сообщений
  • Обмен адресными книгами

Основные функции сервера приложений FossDocMail:

  • Формирование структуры организации
  • Управление пользователями системы
  • Работа с интерактивными клиентами
  • Работа с Web-клиентами
  • Хранение сообщений клиентов в СУБД
  • Работа с почтовыми сообщениями
  • Шифрование и подпись сообщений
  • Работа с адресными книгами
  • Формирование групп рассылки
  • Разграничение и делегирование прав доступа
  • Работа с почтовыми сообщениями подразделений

На рисунке ниже показана схематическая структура сервера FossDocMail.server_structure

Движение почтовых сообщений в FossDocMail

Для понимания работы системы рассмотрим формирование и движение почтовых сообщений внутри сервера. В системе существуют два типа пользователей: «Интерактивный клиент» — это клиенты, использующие для приема/передачи сообщений клиентское место FossDocMail или работающие через Web и «Автоматизированные рабочие места» — это клиенты системы, пересылающие между собой различную технологическую информацию, например, файлы, которые генерируются прикладными процессами, или уже готовые сообщения, сформированные при помощи библиотеки обработки конвертов.

Движение почтовых сообщений интерактивных клиентов

Интерактивные клиенты создаются и управляются при помощи программы администратора сервера приложений FossDocMail. Все сообщения интерактивных клиентов хранятся в Хранилище сообщений, что позволяет получать доступ к почте с любого рабочего места, используя, в том числе, и Web-доступ. Интерактивные клиенты могут иметь несколько типов адресов. В зависимости от типа адреса клиента и типа адреса получателя сообщения маршрут движения сообщения различный.

Типы адресов интерактивных клиентов.

  1. внутренний почтовый адрес FossDocMail;
  2. почтовый адрес FossMail;
  3. адрес типа SMTP, как клиенты интернет почты;
  4. адрес типа name@gmail.com;
  5. все типы адреса.

fossdoc_adresВнутренний почтовый адрес FossDocMail у интерактивного клиента есть всегда. Такие клиенты могут отправлять и получать сообщения только в пределах одного сервера FossDocMail. Отправить почту на адрес типа FossMail или SMTP, или получить почту от такого адресата они не могут. Почтовые сообщения создаются внутри сервера приложений FossDocMail и помещаются в хранилище сообщений, а пользователям пересылаются только ссылки на них. Сообщения таких клиентов не проходят через почтовый сервер FossMail. Отчеты о доставке и прочтении сообщений не предусмотрены. Этот тип адреса FOSSDOC.

fmail_adresВо втором случае клиенты имеют тип адреса FMAIL. Этот адрес включается в глобальную адресную книгу системы и доступен пользователям любого почтового сервера (включение в глобальную адресную книгу можно запретить в настройках  системы). Сообщение, сформированное таким пользователем, отправляется сервером приложений FossDocMail от его имени на почтовый сервер FossMail. Копия сообщения помещается в хранилище сообщений сервера приложений FossDocMail. Далее почтовый сервер FossMail отправляет это сообщение на другой почтовый сервер FossMail или возвращает на сервер приложений FossDocMail, если это сообщение имеет адресата, обслуживаемого этим же сервером. Информация о сообщении записывается в базу данных конвертов сообщений сервера FossMail, а само сообщение может быть заархивировано в архиве сообщений сервера FossMail. Этот тип адреса FMAIL.

smtp_adres
В третьем случае вместо почтового сервера FossMail в качестве транспортного уровня используется Internet mail сервер, который работает по стандартному протоколу SMTP/POP3. В этом случае сообщение не проходит через почтовый сервер FossMail.

Этот тип адреса SMTP.

 

 

Четвертый вариант предусматривает, что пользователь самостоятельно, при наличии у него соответствующих прав, может подключить свои внешние почтовые ящики типа name@gmail.com. В этом случае сервер приложений FossDocMail самостоятельно будет забирать почту, находящуюся в этих почтовых ящиках и помещать ее в хранилище сообщений, а также отправлять почту от имени таких почтовых ящиков.

Учитывая то, что все сообщения интерактивных пользователей, как полученные, так и отправленные, хранятся в хранилище сообщений сервера приложений FossDocMail, а не на рабочем месте пользователя, существует возможность доступа к этим сообщениям через Web-приложения. Пользователи, работающие через Web-доступ, обслуживаются Web-сервером сервера приложений FossDocMail.

Движение почтовых сообщений автоматизированных рабочих мест

Клиенты типа «Автоматизированные рабочие места» создаются и управляются при помощи программы администратора FossMailДанные клиенты имеют только один тип адреса — FossMail.

Автоматизированные рабочие места предназначены для автоматической доставки файлов, порождаемых прикладными задачами. Т.е. если скопировать в определенную папку файл, то он может быть отправлен через систему FossDocMail другому автоматизированному месту или интерактивному пользователю. Алгоритм отправки таких файлов описывается языком скриптов и обрабатывается  интерпретатором сценариев, которые входят в поставку FossDocMail. В результате выполнения скрипта формируется почтовое сообщение с вложенными файлами, которое при помощи клиентской программы TcpFoss передается на почтовый сервер. Принятые с почтового сервера сообщения, содержащие внутри себя файлы, распаковываются и файлы раскладываются в назначенные каталоги. В качестве упаковщика/распаковщика сообщений также может использоваться библиотека обработки конвертов, которая встраивается в прикладные программы.

Сообщения, передающиеся между автоматизированными рабочими местами, не попадают в сервер приложений FossDocMail, а обрабатываются только почтовым сервером FossMail. Они также могут архивироваться и информация о них записывается в базу данных конвертов сообщений.

Информация об адресах этих пользователей может содержаться в глобальной адресной книге, но в списке пользователей сервера приложений FossDocMail она отсутствует.

Хранилища в FossDocMail

В FossDocMail используется две независимые таблицы СУБД для хранения информации. В одной из них — «Хранилище сообщений», которая принадлежит серверу приложений FossDocMail, хранятся все сообщения интерактивных пользователей, во второй — «База данных конвертов», которая принадлежит почтовому серверу FossMail, хранится информация о конвертах сообщений и отчетах о доставке всех сообщений, прошедших через почтовый сервер FossMail. Архив сообщений организован в виде *.zip файлов, которые формируются в автоматическом режиме, а ссылки на хранимые в них сообщения находятся в базе данных конвертов. Поиск и просмотр сообщений прошедших через почтовый сервер FossMail обеспечивается при помощи  программы FmStat.

В качестве СУБД для «Базы данных конвертов» (сервер FossMail) используется MS SQL или MS SQL Express. Для «Хранилища сообщений» (сервер приложений FossDocMail) может быть использован MySQL или MS SQL, в том числе и MS SQL Express. В инсталляционную поставку сервера приложений FossDocMail включается MySQL, но выбор варианта использования СУБД остается за администратором системы.

Требования к аппаратным и программным средствам

Требования к аппаратным и программным средствам зависят от таких параметров:

  • количество обрабатываемых сообщений почтовым сервером FossMail;
  • количество интерактивных клиентов;
  • объем сообщений интерактивных клиентов, которые хранятся в базе сообщений сервера  приложений FossDocMail.

Требования, приведенные ниже, будут носить рекомендательный характер, т.к. в каждом конкретном случае они могут уточняться в зависимости от реальных условий эксплуатации системы.

Серверные приложения

Для работы системы FossDocMail сервер должен удовлетворять следующим требованиям к аппаратной и программной части.

Количество интерактивных клиентов

Память

Процессор

Диск

100

4 ГБ

Intel Core i3

До 100 ГБ дискового пространства

200

8 ГБ

Intel Core i5

200 ГБ, желателен быстрый диск

500

16 ГБ

Intel Core i7, Intel Xeon

RAID 10 500 Гб

700

24 ГБ

Intel Xeon (2 процессора)

RAID 10 1 Тб

Более 700

32 ГБ

Intel Xeon (4 процессора)

RAID 10 1 Тб, SSD рекомендован

Для машины-сервера рекомендуется использовать 64-разрядную операционную систему Windows Server 2008 или более новые выпуски.

Интерактивный клиент и автоматизированное рабочее место

минимум

рекомендуется

ЦПУ

Intel Pentium 4 2.6 ГГц Intel Pentium 4 2.6 ГГц

ОЗУ

512 Мб 1024 Мб

НМЖД

100 Мб 100 Мб

ОС

Microsoft Windows XP SP3 для интерактивного клиента

и Microsoft Windows 7 для АРМ-а

Microsoft Windows 7 и более новые выпуски

 Выбор базы данных

Как было сказано выше, возможно использование нескольких типов СУБД, но при выборе MS SQL Express есть  ограничения по объему базы в 10 ГБ и по объему оперативной памяти, которая используется в работе (до 1,5 ГБ). Возможно использование Microsoft® SQL Server® 2012 Express з пакетом обновлений 1 (SP1)

Выбор операционной системы

Технически сервер FossDocMail может работать на любой операционной системе, начиная с Windows XP SP3 и заканчивая современными серверными системами. Однако сервера баз данных могут требовать серверную ОС для своей работы. Мы рекомендуем 64-разрядную операционная система Windows Server.

Режим FileStream для вытеснения файлов из базы на диск

Microsoft SQL Server 2008 R2 и более поздние редакции имеют режим FileStream, который позволяет автоматически вытеснять из базы данных сообщений файлы на файловую систему. Т.е. все вложенные в сообщения файлы могут быть вытеснены. Таким образом, в оперативной памяти база будет занимать меньше места, что позволит поднять производительность системы. Бекап базы в этом случае содержит полные данные — файлы включаются в него автоматически, вам не нужно думать о них отдельно.