Являются ли серверы приложений (с EJB) единственным способом взаимодействия клиент / сервер Java EE?

Представьте себе Java-приложение ERP клиент / сервер, обслуживающее до 100 одновременных пользователей, как веб-клиентов, так и клиентов Swing. Для настойчивости мы можем использовать Persistence API и Hibernate. Но когда дело доходит до взаимодействия клиент / сервер, действительно ли у нас есть альтернатива использованию AS с EJB для снижения затрат на программирование удаленного взаимодействия?

Добавление EJB-компонентов и сервера приложений только для удаленного взаимодействия кажется очень тяжелым решением. Существует также стандартный способ использования RMI, но кто в настоящее время хочет все кодировать самостоятельно ...

Я знаю, что вы получите множество функций бесплатно с AS в дополнение к части удаленного взаимодействия. И, может быть, это правильный путь. Но есть ли на самом деле какие-либо другие (низкие затраты на программирование) альтернативы AS для взаимодействия клиент-сервер для корпоративного приложения?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
436
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать облегченные фреймворки для удаленного взаимодействия. В этом разделе Spring есть несколько вариантов.

Если вы спросите меня одним словом для обоих, я предложу два. Шов или пружина. Мне лично нравится Seam, но для облегченного удаленного взаимодействия у Spring есть более жизнеспособные решения и поддержка. Опять же, если ваша AS - JBoss, подумайте о Шов.

Сервер приложений - довольно тяжелое решение. В зависимости от ваших требований я бы попытался убедиться, что вы можете работать в простом контейнере сервлетов (например, Tomcat). Я считаю, что удаленное управление намного проще с Spring-удаленное взаимодействие вместо полного EJB. Spring-remoting представляет собой абстракцию от фактического используемого метода удаленного взаимодействия. Гессен имеет хорошую репутацию легковесного протокола.

Наличие какой-то серверной инфраструктуры (AS или контейнера сервлетов) - это хорошо, поскольку вам не нужно так много думать обо всех проблемах низкого уровня (установление соединения, многопоточность, ...).

Ответ принят как подходящий

Лично я считаю, что Seam является окончательным решением проблемы, которой у меня нет, но помимо этого, есть много вариантов, и для большинства из них используется Spring:

Преимущество методов удаленного взаимодействия на основе HTTP заключается в том, что они легко подключаются к моделям безопасности Spring. Кроме того, вы получаете доступ к таким вещам, как перехватчики.

Другие вопросы по теме