Какой клиент-серверный коммуникационный подход? - PullRequest
5 голосов
/ 14 июля 2011

В основном мне нужно двунаправленное соединение клиент-сервер (Java), когда клиент вызывает методы на сервере, но также необходимо получать «обратные вызовы», если происходят определенные события на сервере. Сами методы имеют довольно сложные параметры ввода и вывода, и в дальнейшем было бы неплохо включить аутентификацию в систему. Какой подход будет соответствовать моим требованиям? Я уже создал прототип с RMI, но я прочитал, что существует ряд проблем, особенно для "обратных вызовов", когда c / s находятся в разных сетях. Кроме того, я хотел бы избежать технологии, связанной с JAX, потому что мои сложные структуры данных в параметрах.

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Задумывались ли вы об использовании JMS. В рамках этой архитектуры сервер и клиент регистрируются в очереди или теме и могут отправлять сообщения друг другу. Это включает sych и асинхронное поведение приложения.

Пожалуйста, ознакомьтесь с JMS здесь:

http://java.sun.com/developer/technicalArticles/Ecommerce/jms/index.html

И действительно хорошая реализация ActiveMQ:

http://activemq.apache.org/

0 голосов
/ 14 июля 2011

Мне очень повезло с использованием CometD для обратных вызовов для веб-приложений.

...