Какой Подход К Взаимодействию Клиент-Сервер?
В основном мне нужна двунаправленная связь клиент-сервер (Java), где клиент вызывает методы на сервере, но также должен получить "обратные вызовы", если происходят определенные события на сервере. Сами методы имеют довольно сложные входные и выходные параметры, и в дальнейшем было бы неплохо включить аутентификацию в систему. Какой подход будет соответствовать моим требованиям? Я уже строю прототип с RMI, но я читал, что существует ряд проблем, особенно для "обратных вызовов", когда c/s находятся в разных сетях. Кроме того, я хотел бы избежать технологии, связанной с JAX, из-за моих сложных структур данных в параметрах.
2 ответа:
Вы думали об использовании JMS? В рамках этой архитектуры сервер и клиент регистрируются в очереди или разделе и могут отправлять сообщения друг другу. Это позволяет Сыч и асинхронного поведения приложения.
Пожалуйста, взгляните глубже на JMS здесь:
Http://java.sun.com/developer/technicalArticles/Ecommerce/jms/index.html
И действительно хорошая реализация ActiveMQ:
Мне очень повезло с использованием CometD для обратных вызовов для веб-приложений.