Архитектура
Oleg (обсуждение | вклад) (→Бизнес слой) |
Oleg (обсуждение | вклад) (→Транспортный слой) |
||
Строка 2: | Строка 2: | ||
== Транспортный слой == | == Транспортный слой == | ||
− | Самый нижний - '''транспортный слой (transport layer)'''. Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал: | + | Самый нижний - '''транспортный слой (transport layer)''' (бэкэнд). Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал: |
#Прямые соединения с явно указанными хостами; | #Прямые соединения с явно указанными хостами; | ||
#Автоматическое подключение по общему списку; | #Автоматическое подключение по общему списку; |
Версия 00:02, 11 марта 2012
Физически ПО будет иметь следующие слои архитектуры:
Содержание |
Транспортный слой
Самый нижний - транспортный слой (transport layer) (бэкэнд). Обеспечивает транспорт различных данных между узлами в соответствии с протоколами. Будет организован в виде отдельного демона/сервиса с описанным протоколом взаимодействия с ним. Транспортный слой должен реализовать следующий функционал:
- Прямые соединения с явно указанными хостами;
- Автоматическое подключение по общему списку;
- Автоматическое подключение по списку доверенных узлов;(собственно что-то вроде "5 подключений, 3 из них к доверенным узлам"). Такой механизм усложнит разрушение сети путем вброса адресов к нодам-пустышкам.
- Обмен публичными мастер-ключами;
- Обмен публичными транспортными ключами;
- Обмен списком хостов с белыми адресами.
Бизнес слой
Над транспортным слоем находится - бизнес слой (business layer). Будет обеспечивать всю бизнес логику работы приложения. Представлен в виде плагина к транспортному слою
Слой БД
Также бизнес слой будет использовать - слой БД (DB layer). Этот слой будет обеспечивать хранение всех транзитных данных, данных узла и данных пользователей. Представлен в виде набора библиотек и embedded БД.
Слои GUI
Самым верхним слоем будет - слой интерфейса пользователя (GUI layer). Этот слой будет предоставлять интерфейс пользователю для управления программой. Это будет некий фронтэнд, который будет подключатся к бэкэнд (бизнес слой) по сети. Могут быть реализации для любой платформы и ОС, включая и вэб интерфейс.