Должен ли я использовать Tomcat или полный контейнер Java EE?

Мне нужно разработать слой веб-сервиса поверх существующего приложения. На самом деле меня больше всего интересует поддержка WS-Security и JMS, возможно JTA.

Какой сервер лучше использовать для этого? Было бы мудрым решением использовать облегченный Tomcat (с которым у меня есть опыт) или мне лучше выбрать сервер, реализующий полный стек Java EE, такой как JBoss AS, WebLogic или даже GlassFish?


person Cuga    schedule 10.05.2009    source источник
comment
Обратите внимание, что с 2009 года многое изменилось для будущих читателей. См. более свежую Почему люди выбирают tomcat, а не сервер приложений, совместимый с java EE?   -  person David Blevins    schedule 05.07.2012


Ответы (4)


Как правило, если вы не знаете, что пытаетесь использовать именно службы Java EE, вам лучше использовать только Tomcat. Среда Java EE очень тяжеловесна; J2EE был разработан с учетом действительно больших сред, таких как eBay. (Я написал первый курс Sun по архитектуре J2EE; я долго следил за этими аргументами.)

Но тогда вы говорите «JMS», что является исключительно сервисом Java EE.

person Charlie Martin    schedule 10.05.2009
comment
А переход с Tomcat на полный стек JEE относительно прост. - person skaffman; 07.08.2009

Вы можете поэкспериментировать с JBoss и посмотреть, как он может работать с тем, что вы хотите, однако, если вы хотите остаться с Tomcat, вы можете взглянуть на Spring Framework и посмотреть, будут ли у него нужные вам функции, поскольку он — это способ получить Java EE без контейнера Java EE.

Это зависит от того, хотите ли вы поэкспериментировать с некоторыми идеями и посмотреть, что сработает для вас, или просто сделать что-то одно и придерживаться его, несмотря ни на что.

Я склонен экспериментировать, пока не почувствую себя комфортно, зная достаточно, чтобы принять наилучшее решение.

Лично я бы выбрал Tomcat и Spring, но раньше я использовал Spring.

Было бы полезно, если бы вы могли привести пример использования некоторых из упомянутых вами функций, чтобы узнать, может ли быть лучший ответ.

person James Black    schedule 10.05.2009

Если вам не нужно что-то в стеке Java EE, чего Tomcat не предлагает, я бы использовал Tomcat.

Кроме того, вы всегда можете изменить позже, если решите использовать элементы из стека Java EE, если не кодируете специально для контейнера.

person Stephane Grenier    schedule 10.05.2009

Я думаю, вам следует начать использовать контейнер Java EE с полным стеком. Конечно, вы можете присоединить функциональность Java EE к Tomcat, но когда вы объединяете JMS, JTA, WS и т. д., вы создаете сервер Java EE самостоятельно. JBoss, Glassfish, JonAS и т. д. — все они предлагают уже протестированное и (надеюсь) более стабильное решение, чем ваше :)

person Dimitri De Franciscis    schedule 07.08.2009