Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Вниз

Общий вопрос по структуре программы   Найти похожие ветки 

 
Empleado ©   (2007-02-26 11:00) [0]

Добрый день. Возник вопрос по архитектуре программы с сокетами.
Буду благодарен, если вы выскажите ваши мысли, соображения, поправки, укажите на подводные камни, подскажите на что надо обратить особое внимание, что не описано в книгах, предложите иной вариант.
(ПС. Просьба камнями не кидаться :)) - первый раз в жизни буду делать сетевую фиговину. Книжку Indy in Depth уже читаю...)

Дано:
Организация с несколькими удаленными офисами, имеющих разного рода приложениями, БД, и т.д.

Необходимо:
Написать программу-синхронизатор, который способен обмениваться данными между офисами.
Особенности:
- возможность работы на ОЧЕНь медленных часто рвущихся линиях;
- теоретически, синхронизируемые данные могут быть любыми - данные из БД, файлы внутреннего документооборота, и т.д.;
- частичная синхронизация баз данных (отдельные таблицы, а иногда и выборка из таблиц, например: не отправлять цены покупки, а только цены продаж);
- задачи удаленного администрирования серверов синхронизации, установленных в удаленных оффисах;
- возможность расстановки приоритетов, контроль и отчетность;
и т.д. и т.п.

Исходя из моих знаний по сетям и их приложений, набросал небольшую схемку будущей программы. Мои мысли лежат вот тут:
http://empleado.hotbox.ru/SynchServerArch.jpg (102 Kb)

Несколько комментариев к мыслям:
- Schema 1 - несколькими .ехе; Schema 2 - одним .ехе;
- реализовать на базе TCP; используя сжатие; с возможностью докачки файлов;
- свой собственный протокол обмена данными с идентификацией конечных пользователей-приложений, принимающих/отправляющих данные;
- организация очередей данных со строгой последовательностью, учитывая установленные приоритеты;
- если брать Schema 1, то как лучше организовать обмен между слоями 2 и 3? Через сокеты или файлами в спец. отведенной директории? Склоняюсь к файлам, т.к. все равно все сделанное надо будет хранить в логах;
- возможность криптинга (например, если траффик не идет через VPN);
- реализовать как сервис, с соответствующим интерфейсом управления;

Вопросы:
Какая из схем, на ваш взгляд, имеет место быть, и какую из них проще реализовать?
(Честно говоря, у меня еще куча вопросов по реализации, но пока остановлюсь на этом)

Заранее спасибо.
Всего доброго.


 
S@shka ©   (2007-02-26 13:08) [1]


> возможность расстановки приоритетов, контроль и отчетность;

Мне кажется одна только вот эта задача, по расстановке приоритетов - может быть достаточно трудоемка (конкретизировать!)


> задачи удаленного администрирования серверов синхронизации,
>  установленных в удаленных оффисах;

VNC поставь или RemoteAdmin )


> теоретически, синхронизируемые данные могут быть любыми
> - данные из БД, файлы внутреннего документооборота, и т.
> д.;

Если кто то эти данные выгружает в определенный вид - то без разницы что передавать.


> - возможность работы на ОЧЕНь медленных часто рвущихся линиях;

Кто ж их рвет? )))


> http://empleado.hotbox.ru/SynchServerArch.jpg


ссылка не работает


 
empleado ©   (2007-02-26 13:32) [2]


> S@shka ©   (26.02.07 13:08) [1]
>ссылка не работает

Вроде работает (проверил, закачивает с сайта, не из кэша).
Попробуй сделать "save as" по ссылке и сохранить на диск, не открывая сразу в браузере.

"Особенности" были даны, чтобы иметь представление о назначении сервера синхронизации.
Пока о конкретных способах реализации каждой задачи речь не идет.
В данный момент интересует структура и принципы, чтобы сделать следующие шаги.
Спасибо


 
S@shka ©   (2007-02-26 13:42) [3]

Выбираю схему номер 1

Развивать будет гораздо легче


 
Empleado ©   (2007-02-27 11:14) [4]


> Выбираю схему номер 1

Теотетически, схема 1 мне кажется более гибкой (расширяемость, управление).
С другой стороны, не слишком ли много будет "лишних" межпроцессовых операций + сложнее реализация?...

>all
Интересно мнение и опыт тех, кто делал подобное.
Спасибо



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.039 c
1-1187007182
Dmitry_177
2007-08-13 16:13
2007.10.28
Куда сохранять настройки?


2-1191918318
Riply
2007-10-09 12:25
2007.10.28
Внутренняя механика работы NtOpenFile.


1-1186853373
JanMihail
2007-08-11 21:29
2007.10.28
Как определить запущенные приложения в Windows?


15-1191183624
SergejSim
2007-10-01 00:20
2007.10.28
Приглашаем добровольцев на Легендарный проект TTD


2-1191334323
Sergl
2007-10-02 18:12
2007.10.28
Кнопка на форме в процессе выполнения программы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский