Jboss или Tomcat

Я работаю в команде инфраструктуры (серверы Jboss 4.02 / Tomcat 5.5 / Weblogic 8.1) в моей компании ... некоторые из Java-приложений weblogic перемещаются на серверы jboss / tomcat. Итак, каковы критерии, которые нам нужно учитывать, будем ли мы нужно пойти на jboss или tomcat? какой вариант лучше?

Заранее спасибо, Ракеш


person user749432    schedule 12.05.2011    source источник


Ответы (4)


Основное отличие, безусловно, заключается в том, что JBoss является сервером приложений и поддерживает полный стек Java EE, тогда как Tomcat является механизмом сервлетов и поддерживает только небольшая часть API, определенных в Java EE.

Итак, вашими основными критериями должны быть: какие API-интерфейсы (интерфейс, бизнес-логика, постоянство, сторонние, ...) вам нужны?

Вы не должны принимать это легкое решение. Тот факт, что вы задаете вопрос, указывает на то, что у вас, вероятно, не было возможности поиграть с обоими и ознакомиться с концепциями, лежащими в основе стеков Java Enterprise (Java EE против Spring против DIY).

Я бы посоветовал потратить время на оценку обеих систем - похоже, вы можете использовать обе.

  • Если вам не нужно много, вам, вероятно, лучше будет Tomcat, который небольшой и простой в использовании, но может быть кошмаром для настройки, если вам нужны расширенные функции.
  • JBoss AS поставляется с полным и зрелым стеком. Все в порядке и работает отлично - цена, которую вам придется заплатить, состоит в том, что он намного больше и требует больше времени для запуска / остановки / повторного развертывания.

Но опять же: это серьезное решение, которое сильно повлияет практически на все ...

person jan groth    schedule 13.05.2011

И Tomcat, и JBoss очень легко установить - просто разархивируйте файл и запустите его с помощью сценария. И Tomcat, и JBoss имеют отличную поддержку таких продуктов, как IDE, инструменты мониторинга и т. Д.

Но в случае миграции JBoss - лучший выбор. Скорее всего, вашим веб-приложениям требуются источники данных JNDI и транзакции JTA - эти вещи встроены в JBoss 4+, тогда как вам придется перенести их на Tomcat 5.x с большими усилиями. Вы, старые WAR, без проблем найдете источники данных JTA и JNDI на JBoss. Tomcat действительно может добавлять эти функции, но JBoss прекрасно упаковывает их в систему. Таким образом, даже если у вас нет EJB или JMS, JBoss по-прежнему является хорошим выбором, потому что многим приложениям действительно нужны JTA и JNDI.

Но, конечно, если вы найдете файлы EAR для своих приложений, Tomcat не будет работать. И тогда JBoss красиво развернет файлы EAR.

person Jay Meyer    schedule 12.05.2011
comment
Источники данных JNDI работают на Tomcat, включая пул соединений. Если вы просто используете локальные транзакции, вы можете обойтись без JTA, см. Spring DataSourceTransactionManager. Я не говорю, что это всегда лучшее решение, но, безусловно, возможно. - person Philippe Marschall; 25.04.2012

JBOSS использует Tomcat в качестве механизма сервлета / JSP, поэтому это JBOSS и Tomcat или WebLogic.

Ответ зависит от того, используют ли исходные приложения службы EJB или JMS. Если это так, вы должны использовать JBOSS, потому что Tomcat не поддерживает EJB (если вы не добавляете OpenEJB) или JMS (если вы не добавляете что-то вроде RabbitMQ или OpenJMS).

Если вы не используете EJB, а имеете только JSP, источники данных JNDI и JDBC, вы можете развернуть свои приложения как файлы WAR на Tomcat и полностью передать весь стек Java EE.

person duffymo    schedule 12.05.2011
comment
версия tomcat в jboss - это ветвь версии 6.0, называемая jboss web, поэтому в некотором смысле это другая сущность, чем tomcat, хотя и полученная из того же источника. - person leonigmig; 20.01.2012
comment
@duffymo - Вы уверены, что Tomcat не поддерживает JMS? Я видел приложения, работающие в Tomcat с ActiveMQ в качестве поставщика JMS. Разве это не то же самое, что Jboss 7, использующий HornetQ в качестве поставщика? - person ziggy; 04.03.2012
comment
Не обошлось и без ActiveMQ. Tomcat без каких-либо украшений - это просто механизм сервлета / JSP. Но да, вы даже можете добавить OpenEJB и ActiveMQ и сделать его полноценным сервером приложений Java EE. - person duffymo; 04.03.2012

Я думаю, вам следует подумать о том, чтобы начать с разных входных данных:

  • какие требования к приложениям?
  • каковы производственные ограничения?
  • какой продукт подходит административной команде?

Просто напишите матрицу с двумя продуктами и этими критериями, и ваш выбор будет сделан !!! Jboss намного тяжелее Tomcat, но может ли предложить некоторую добавленную стоимость при установке приложения? У вас есть Nagios / Tivoli или другая инфраструктура управления SNMP? в этом случае вы можете легко найти адаптеры SNMP, предоставляющие собственные MIB для управления вашим сервером JBoss ... JMX Beans в старых выпусках - очень удобный способ администрирования такого инструмента

HTH Джером

person romje    schedule 17.02.2012