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

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

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

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


person MicSim    schedule 06.01.2009    source источник


Ответы (3)


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

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

person cletus    schedule 06.01.2009

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

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

person Adeel Ansari    schedule 06.01.2009

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

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

person Guillaume    schedule 06.01.2009