Написание настольного GUI-клиента для связи с сервером - PullRequest
2 голосов
/ 12 мая 2009

У меня есть Java-приложение, которое является длительным процессом (назовем его «сервером»). Я должен написать настольный графический интерфейс (скорее всего, на Swing), назовем его «клиентом», который может подключиться к этому приложению и:

  1. отображение обновлений статуса из приложения
  2. дает конкретные «запускаемые вручную» команды приложению

Каждое взаимодействие (поток разговоров) между клиентом и сервером будет коротким, но может включать несколько сообщений вверх и вниз. Какие есть варианты для реализации чего-то подобного? Скорость не является большой проблемой для меня; Меня больше интересует кое-что, где я могу развивать протокол разговора, не увязая в деталях. Опции, которые я сейчас имею в виду, это сокеты, RMI, JMS и JavaSpaces.

Ответы [ 5 ]

1 голос
/ 12 мая 2009

Возьмите пик на Apache Camel (Java). Он поддерживает все опции, которые вы упоминаете, а также учитывает правила при маршрутизации сообщений.

Установите либо автономно, либо в комплекте с Apache ActiveMQ (JMS-брокер).

0 голосов
/ 12 мая 2009

Я согласен с @Norbert Hartl. Apache имеет очень простую реализацию XMLRPC, которую вы можете использовать с Apache HTTPClient. В библиотеке также есть пример использования сервера для получения запросов XMLRPC.

0 голосов
/ 12 мая 2009

Если есть возможность расширить сервер с помощью RESTful API, это, вероятно, будет наиболее простым для использования клиентом. После простого указания API в терминах URL, вы можете легко переключить ваш клиент на другие языки, если это необходимо.

0 голосов
/ 12 мая 2009

Я решил эту проблему с сокетами, используя ObjectInputStream и ObjectOutputStream для команд сериализации.

Для протокола нужны разные объекты-команды (здесь может быть полезен шаблон команд). Все эти объекты должны быть сериализуемыми. Тогда вы можете просто отправлять / получать команды. ИМХО самый простой способ (как в технологическом плане, так и в реализации).

0 голосов
/ 12 мая 2009

Я много лет так делаю с XML-RPC . Мне нравится это, потому что это очень просто и заставляет вас работать в течение 15 минут. Это все http и простой XML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...