Задать вопрос

Java desktop client — server, какие выбрать технологии?

Есть клиентское приложение, есть сервер.
Клиент на javafx, его задача отображать и редактировать данные полученные с сервера.
Сервер работает как с БД ( Используя ORM Hibernate ), так и с неким оборудованием.

Смотрел похожий вопрос: Технологии используемые для разработки сервера на java в трехзвенке , но там больше уклон на Веб клиент.

Изначально они общались на голом сокете, сериализуя объекты.
В данный момент они общаются между с собой с помощью RMI.
Смотрел в сторону Spring Hessian, HTTPInvoke - в принципе, аналоги RMI, обернутые в HTTP протокол.
Смотрел protobuf, protobuf rpc - совершенно не то.

Вопрос состоит именно в способе передачи, в идеале объекты, полученные из ORM, должны без лишних заморочек передаваться на клиент, с возможностью авторизации, групп доступа и обратной связью с клиентом.
Какие технологии / фреймворки посоветуете?
  • Вопрос задан
  • 2849 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 2
Enterprise Java Beans как раз и решают подобную задачу.

Это накладывает определённые требования на передаваемые по сети сущности. Например, они должны реализовывать интерфейс Serializable (это, впрочем, зависит от используемого транспорта).
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Расскажу свою историю. Сначала использовали RMI, но задолбались: куча интерфайсов, классов, врапперов и т.д. Потом стали использовать XML-RPC через http, немного облегчилась задача, но не кардинально. Теперь просто используем http/https и jsonrpc и json как передачу данных. Если данных нужно много гонять, то рекомендую пристально посмотреть на protobuf.

А еще сейчас активно смотрю в сторону java/scala akka actors akka.io/, ну и в сторону scala собственно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы