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

StackOverflow https://stackoverflow.com/questions/415841

Вопрос

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

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

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

Это было полезно?

Решение

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top