Проект "Свободные голосования"
http://gplvote.andyhost.ru/forum/

Многоступенчатая разработка
http://gplvote.andyhost.ru/forum/viewtopic.php?f=25&t=449
Страница 1 из 1

Автор:  Андрей [ 20 май 2013, 12:45 ]
Заголовок сообщения:  Многоступенчатая разработка

Все чаще в среде IT встречаю мысль что для продвижения продукта нужно делать НЕ сразу максимально развитый продукт, а хотя-бы какой-то с минимумом функциональности. Много думал на предмет того, каким образом это можно использовать для нашей системы что-бы потом ее можно было только дописывать, а не переписывать полностью на каждом этапе.

Пришел примерно к такому варианту (в общем-то, почти совпадающим с тем что есть для p2p варианта, который делает Юра). Единственное, что я здесь несколько абстрагировал среду передачи. В ней есть только абстрактные пакеты. Возможно, на третьем этапе нужно будет повесить сюда логику анализа пакетов для избежания DoS. Но изначально для простоты, хранилище ничего не анализирует. Весь анализ на стороне клиента.

Система представляет из себя модульную конструкцию:

1. Клиентский модуль. На нем реализуется вся логика работы системы и интерфейс с пользователем. Этот модуль никак не меняется между этапами. Идет только стандартное развитие логики и интерфейса. Клиентский модуль лишь запрашивает пакеты по определенным критериям у модуля связи, отправляет ему исходящие пакеты, хранит свои промежуточные данные, сформированные на основании пакетов и выдает их пользователю в удобном виде.

2. Модуль связи. Обрабатывает отправки пакетов от клиентского модуля и доставляет ему пакеты по запросам.


ЭТАП 1: Работа с одним сервером

В этой ситуации модуль связи реализует взаимодействие только для одного сервера. На него отправляются все исходящие пакеты и запрашиваются входящие.

ЭТАП 2: Работа с распределенной сетью серверов

Здесь модуль связи реализует взаимодействие с распределенной сетью серверов. У серверов должен появиться функционал, анонсирующий IP адреса других серверов и функционал для извлечения пакетов из сети, а не только с одного сервера.

ЭТАП 3: Работа с p2p сетью

В принципе, отличия от этапа 2 совсем не большие. Появляется отдельное приложение-хранилище, которое может запускаться как на самом клиенте, так и на отдельном сервере. Модуль связи может обращаться либо к локальному хранилищу, либо к удаленному, если локально оно не установлено.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/