Итак, давайте уж определяццо с архитектурой более-менее четко.
Что там решили?
Есть демон (Win32:service). Демон получает от некоего абстрактного клиента ссылку на имплементацию интерфейса, скажем, IDaemonix2JanusDB. Ему (демону) абсолютно экзистенциально какая там база данных, это уже проблемы клиента -- предоставить ему конкретную реализацию интерфейса к какой-то конкретной БД. Правильно? Пошли дальше.
Наш сервис (демон) тоже имеет интерфейс общения с клиентом, ибо нафик он нужен иначе. Итак, клиент может сообщить сервису что ему надо срочно синхронизить указанную БД с кывтоффским веб-сервисом указанными форумами..
Если предположить что отправляемые сообщения лежат в отдельной таблице клиента то получаеться, больше никаких указаний демону давать не надо. Всё? Я что-то забыл, чувствую...
Здравствуйте, Mr.Chipset, Вы писали:
MC>Итак, давайте уж определяццо с архитектурой более-менее четко. MC>Что там решили? MC>Есть демон (Win32:service). Демон получает от некоего абстрактного клиента ссылку на имплементацию интерфейса, скажем, IDaemonix2JanusDB. Ему (демону) абсолютно экзистенциально какая там база данных, это уже проблемы клиента -- предоставить ему конкретную реализацию интерфейса к какой-то конкретной БД. Правильно?
Нет. Это клиенту абсолютно пофигу какую БД держит демон. Напоминаю: Демон умеет только синхронизироватся и выполнять клиентские запросы типа "Дай мне пост такойто" или "дай инфу на юзера такогото". Демон — же держит инфу кому можно через него постить.
MC>Пошли дальше. MC>Наш сервис (демон) тоже имеет интерфейс общения с клиентом, ибо нафик он нужен иначе. Итак, клиент может сообщить сервису что ему надо срочно синхронизить указанную БД с кывтоффским веб-сервисом указанными форумами..
Можно и так но можно просто синхронизировать по таймеру либо органиовать внетаймерные синхронизации по событиям. Например по количеству ответов/оценок ждущих отправления.
MC>Если предположить что отправляемые сообщения лежат в отдельной таблице клиента то получаеться, больше никаких указаний демону давать не надо. Всё? Я что-то забыл, чувствую...
Демон рулит базой. Демон рулит аккаунтами клиентов. Клиент туп. Клиент умеет рисовать что-ть и просить демона о чем надо. То есть вся основная нагрузка на демон.
Здравствуйте, 0rc, Вы писали:
0rc>Скажи какие проблемы ты хочешь решить с помощью создания демона и RSDN@Linux? Т.е. что тебя не устраивает в существующем проекте?
1. Запустился демон
1.1 Ткнулись в интернет, нашли КЫВТ
1.2 Загрузили новые сообщения
2. Ждем
3. Синхронизация
3.1 Ткнулись в интернет, нашли КЫВТ
3.2 Загрузили новые сообщения
3. Ждем
4. Получили запрос от клиента
4.1 Запрос: Список форумов
4.1.1 Отдали список
Go to 2
4.2 Запрос: Сообщение № ххх
4.2.1 Отдали сообшение № ххх
Go to 2
...
5. Отключились.
Клиенту должно быть фиолетово насчет того, что и как делает демон. Клиенту надо получать списки форумов и сообщения и их отображать, а также отсылать сообщения и оценки демону.
M>1. Запустился демон
M> 1.1 Ткнулись в интернет, нашли КЫВТ
M>...
Ладно, убедили, убедили..
Попытка незаметного просовывания идеи с хранением БД у клиента не прошла...
Только послушайте, а не легче все-же базу то у клиента? Это ж всё будет тормозить жутко если за каждым сообщением к демону на поклон?
... << А писал я этот бред на RSDN@Home 1.1.4 stable rev. 510, под звуки тишины>>
Здравствуйте, Sheridan, Вы писали:
MC>>Есть демон (Win32:service). Демон получает от некоего абстрактного клиента ссылку на имплементацию интерфейса, скажем, IDaemonix2JanusDB. Ему (демону) абсолютно экзистенциально какая там база данных, это уже проблемы клиента -- предоставить ему конкретную реализацию интерфейса к какой-то конкретной БД. Правильно? S>Нет. Это клиенту абсолютно пофигу какую БД держит демон. Напоминаю: Демон умеет только синхронизироватся и выполнять клиентские запросы типа "Дай мне пост такойто" или "дай инфу на юзера такогото". Демон — же держит инфу кому можно через него постить.
Чё то я не пойму. А у кого БД то лижит? У клиента? У сервера? Или у каждого по своей БД?
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Чё то я не пойму. А у кого БД то лижит? У клиента? У сервера? Или у каждого по своей БД?
У сервера. Клиент обойдеца.
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, VladD2, Вы писали:
VD>>Чё то я не пойму. А у кого БД то лижит? У клиента? У сервера? Или у каждого по своей БД? S>У сервера. Клиент обойдеца.
А как отображать данные? За каждой мессагой просить демона или загружать всё в оперативку в начале? И то и то жуткий расход памяти.
Здравствуйте, Mr.Chipset, Вы писали:
MC>Здравствуйте, Mamut, Вы писали:
M>>
M>>1. Запустился демон
M>> 1.1 Ткнулись в интернет, нашли КЫВТ
M>>...
MC>Ладно, убедили, убедили.. MC>Попытка незаметного просовывания идеи с хранением БД у клиента не прошла... MC>Только послушайте, а не легче все-же базу то у клиента? Это ж всё будет тормозить жутко если за каждым сообщением к демону на поклон?
Давай пока не будем к клиенту бд прикручивать. Ели будет нужна — вот тогда и будем думать, а пока нет.
Здравствуйте, Mr.Chipset, Вы писали:
MC>А как отображать данные? За каждой мессагой просить демона или загружать всё в оперативку в начале? И то и то жуткий расход памяти.
Попросить демона не можно по и дее и список вернуть. Не вижу перерасхода... Демон выбрал — отослал, почистился. Клиент получил — нарисовал. Сейчас то и имееем. Рази што в одном флаконе...
День добрый !
А идею с JAVA обсуждали или нет ?
Почему бы не её ?
Получаем Linux,Mac OS, Windows. А также куча готовых библиотек в наличии, встроенная база данных и т.д.
А если в качестве клиента использовать Eclipse Rich Client, то по моему это лучшее решение.
== Для сервера ===
hsql — встроенная база данных
axis — web сервисы для сетевого обмена
hibernate — для объектно-ориентированной работы с базой данных и вообще абстрагирования от типа базы.
Также JAVA позволит писать плагины — источники данных более просто чем на C/C++. Пишешь класс, кладешь его в каталог сервера, может прийдеться конфиг поправить — и все.
== Для клиента ==
Eclipse Rich Client
Получаем отличный GUI + систему Internet Update + кучу плагинов.
P.S. И не надо говорит про тормознутость JAVA, во-первых это не правда, во-вторых это офтопик.
Здравствуйте, permjug, Вы писали:
P>День добрый ! P>А идею с JAVA обсуждали или нет ?
P>P.S. И не надо говорит про тормознутость JAVA, во-первых это не правда, во-вторых это офтопик.
Тормозит. А это оффтопик
... << А писал я этот бред на RSDN@Home 1.1.4 stable rev. 510, под звуки Stratovarius — Lord Of The Rings>>
Здравствуйте, permjug, Вы писали:
MC>>Тормозит. А это оффтопик P>ну ну а чего это вы на ассемблере не пишите ?
зналибы асм — писалибы.
И яву мы кстати незнаем.