Какой Подход К Взаимодействию Клиент-Сервер?


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

2 5

2 ответа:

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

Пожалуйста, взгляните глубже на JMS здесь:

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

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

Http://activemq.apache.org/

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