Архитектура

Материал из Сервис Облачной Демократии
Перейти к: навигация, поиск

Физически ПО будет иметь следующие слои архитектуры:

--- TODO (в процессе редактирования) ---

Содержание

Back-end

Транспортный слой

Самый нижний - транспортный слой (transport layer). Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал:

  1. Прямые соединения с явно указанными хостами;
  2. Автоматическое подключение по общему списку;
  3. Автоматическое подключение по списку доверенных узлов;(собственно что-то вроде "5 подключений, 3 из них к доверенным узлам"). Такой механизм усложнит разрушение сети путем вброса адресов к нодам-пустышкам.
  4. Обмен публичными мастер-ключами;
  5. Обмен публичными транспортными ключами;
  6. Обмен списком хостов с белыми адресами.

Плагины к транспортному слою

Плагин распределенной системы голосования

Бизнес слой

Над транспортным слоем находится - бизнес слой (business layer). Будет обеспечивать всю бизнес логику работы приложения. Представлен в виде плагина к транспортному слою

Слой БД

Также бизнес слой будет использовать - слой БД (DB layer). Этот слой будет обеспечивать хранение всех транзитных данных, данных узла и данных пользователей. Представлен в виде набора библиотек и embedded БД.

Любой другой плагин на основе транспортного слоя

Front-end

Слои GUI

Самым верхним слоем будет - слой интерфейса пользователя (GUI layer). Этот слой будет предоставлять интерфейс пользователю для управления программой. Это будет некий исполняемый файл, который будет подключатся к back-end по сети. Могут быть реализации для любой платформы и ОС, включая и вэб интерфейс.

Новый вариант архитектуры

Gplvote-common.jpg

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты