![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| CMYK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 22.11.2008 Где: ЮГ Репутация: нет Всего: нет |
Подскажите пожалуйста какая длжна быть архитектура клиента, если например, приходит сообщение, пусть будет h1, исходя из этого сообщения клиент понимает, что ему ножно выполнить долгосрочную или не очень задачу, при этом в процессе выполнения задачи он должен принимать дополнительные сообщения. Так вот сколько и на, что нужно выделить потоки?
|
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
Если речь идет о том, что приходит сообщение извне и что-то делается в ответ - это все же не клиент, а наверное сервис или сервер.
приложение в ходе выполнения задания только может при необходимости запрашивать дополнительную информацию (например, у других приложений) Это сообщение отредактировал(а) COVD - 17.10.2009, 18:50 |
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: нет Всего: 62 |
CMYK
Standalone сервис номер1 -- висит на приемке сообщений. Все что он делает:
Standalone сервис номер2 -- обрабатывает очередь сообщений Что умеет он:
Можно еще сервис3, который будет мониторить буфер обмена2 и сообщать результаты обработки куда надо. Получится весьма масштабируемое решение. Можно еще сервис4, который будет проверять консистентность трех предыдущих и бороться за их живучесть (рестартовать и т.п.), а так же следить за состоянием буферов обмена (переполнение, дубликаты и т.п.) и предпринимать какие-то действия на этот счет (сообщать куда надо, чистить и т.п.). Совершенству нет предела Это сообщение отредактировал(а) Maksym - 17.10.2009, 19:00 |
|||
|
||||
| CMYK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 22.11.2008 Где: ЮГ Репутация: нет Всего: нет |
Я наверно не полностью описал задачу.
Попробую так. Мне нужно организовать передачу данных между приложениями например: есть приложение которое думает там себе чего то, выполняет разные задачи. Захотелось ему подключиться к интернету (первое что пришло в голову), это приложение отправляет команду другому приложению которое отвечает за подключение\отключение к интернету и выводу различной информации об этом подключении на экран. Допустим потом захотелось ему вычислить площадь круга и еще выполнить несколько задач, для этого также есть отдельные модули которые выполняют эти задачи (один модуль на выполнение какой то определенной цели). Я так подумал подходит сервер клиент к такой ситеме. Поэтуму мне нужно узнать какая должна быть архитектура такого клинта, чтобы можно было дать задание, а при необходимости дать еще дополнительное задание. Может быть есть другие технологии которые лучше адаптированы к такому подходу? |
|||
|
||||
| CMYK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 22.11.2008 Где: ЮГ Репутация: нет Всего: нет |
И еще.. почему именно такой подход.. мне нужно время от времени добавлять новые модули которые выполняют задачи и чтобы не перекомпилировать прогу я подумал, что так будет рациональней. И потом.. все эти модули не всегда будут нужны, а только по требованию и их может накопиться приличное колличество.
|
|||
|
||||
| Maksym |
|
|||
![]() . ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1456 Регистрация: 19.8.2005 Где: Odessa, Black Sea Репутация: нет Всего: 62 |
Да, похоже я зря старался Сервер-клиент в данном случае не совсем то. Нужна шина, на которой будут регистрироваться и висеть твои сервисы, через нее же они будут предоставлять свои услуги. Ты просто говориш шине: "Хочу интернет, вот логин, пароль", "Хочу пдф, вот данные для него", а шина знает где искать нужный сервис, как в него впихнуть входные данные, как вернуть результат. На энтерпрайзном уровне аналогичная технология это ESB. |
|||
|
||||
| CMYK |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 22.11.2008 Где: ЮГ Репутация: нет Всего: нет |
От чего же зря? Это тоже интересно. Шина значит и ESB. буду разбираться, спасибо за помощь. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 11 Всего: 43 |
|
|||
|
||||
| CMYK |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 50 Регистрация: 22.11.2008 Где: ЮГ Репутация: нет Всего: нет |
Я тоже так думаю |
||||
|
|||||
| firedrago |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 22.9.2005 Репутация: нет Всего: 3 |
мое мнение, для подобных задач, надо прекращать изобретать велосипеды..... ведь много умных дядек сидят и делают разные фреймворки.... почему бы не строить подобные программы например основываясь на OSGI, наделал кучу плагинов и включаешь/выключаешь их когда надо... сделал например один интерфэйс для соединений сделал плагин например на основе Apache Mina и включил его когда надо.... надоела Mina, взял другой фреймворк, подогнал под свой интерфэйс и все.... я использую Eclipse RCP и очень доволен — большую часть работы за меня уже давно сделали, остается только бизнес логика....
Это сообщение отредактировал(а) firedrago - 18.10.2009, 11:38 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Работа с сетью | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |