Архитектура
Oleg (обсуждение | вклад) (→Бизнес слой) |
Oleg (обсуждение | вклад) |
||
(не показаны 6 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
Физически ПО будет иметь следующие слои архитектуры: | Физически ПО будет иметь следующие слои архитектуры: | ||
− | == Транспортный слой == | + | --- TODO (в процессе редактирования) --- |
+ | |||
+ | == Back-end == | ||
+ | === Транспортный слой === | ||
Самый нижний - '''транспортный слой (transport layer)'''. Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал: | Самый нижний - '''транспортный слой (transport layer)'''. Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал: | ||
#Прямые соединения с явно указанными хостами; | #Прямые соединения с явно указанными хостами; | ||
Строка 10: | Строка 13: | ||
#Обмен списком хостов с белыми адресами. | #Обмен списком хостов с белыми адресами. | ||
− | == Бизнес слой == | + | === Плагины к транспортному слою === |
− | Над транспортным слоем находится - '''бизнес слой (business layer)'''. Будет обеспечивать всю бизнес логику работы приложения. Представлен в виде плагина к транспортному слою ( | + | ==== Плагин распределенной системы голосования ==== |
+ | ===== Бизнес слой ===== | ||
+ | Над транспортным слоем находится - '''бизнес слой (business layer)'''. Будет обеспечивать всю бизнес логику работы приложения. Представлен в виде плагина к транспортному слою | ||
+ | ===== Слой БД ===== | ||
+ | Также бизнес слой будет использовать - '''слой БД (DB layer)'''. Этот слой будет обеспечивать хранение всех транзитных данных, данных узла и данных пользователей. Представлен в виде набора библиотек и embedded БД. | ||
+ | ==== Любой другой плагин на основе транспортного слоя ==== | ||
+ | |||
+ | == Front-end == | ||
+ | === Слои GUI === | ||
+ | Самым верхним слоем будет - '''слой интерфейса пользователя (GUI layer)'''. Этот слой будет предоставлять интерфейс пользователю для управления программой. Это будет некий исполняемый файл, который будет подключатся к back-end по сети. Могут быть реализации для любой платформы и ОС, включая и вэб интерфейс. | ||
− | == | + | = Новый вариант архитектуры = |
− | + | ||
− | + | [[Файл:Gplvote-common.jpg]] | |
− | + | ||
[[Category:Распределенная система]] | [[Category:Распределенная система]] |
Текущая версия на 11:25, 13 марта 2012
Физически ПО будет иметь следующие слои архитектуры:
--- TODO (в процессе редактирования) ---
Содержание |
Back-end
Транспортный слой
Самый нижний - транспортный слой (transport layer). Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал:
- Прямые соединения с явно указанными хостами;
- Автоматическое подключение по общему списку;
- Автоматическое подключение по списку доверенных узлов;(собственно что-то вроде "5 подключений, 3 из них к доверенным узлам"). Такой механизм усложнит разрушение сети путем вброса адресов к нодам-пустышкам.
- Обмен публичными мастер-ключами;
- Обмен публичными транспортными ключами;
- Обмен списком хостов с белыми адресами.
Плагины к транспортному слою
Плагин распределенной системы голосования
Бизнес слой
Над транспортным слоем находится - бизнес слой (business layer). Будет обеспечивать всю бизнес логику работы приложения. Представлен в виде плагина к транспортному слою
Слой БД
Также бизнес слой будет использовать - слой БД (DB layer). Этот слой будет обеспечивать хранение всех транзитных данных, данных узла и данных пользователей. Представлен в виде набора библиотек и embedded БД.
Любой другой плагин на основе транспортного слоя
Front-end
Слои GUI
Самым верхним слоем будет - слой интерфейса пользователя (GUI layer). Этот слой будет предоставлять интерфейс пользователю для управления программой. Это будет некий исполняемый файл, который будет подключатся к back-end по сети. Могут быть реализации для любой платформы и ОС, включая и вэб интерфейс.