2010-06-29 3 views
1

Я пытаюсь понять, что может сделать JBoss AS в проекте по сравнению с автономной архитектурой?Каковы преимущества архитектуры приложений JBoss AS?

Приложение для моей модели - это прочная вещь, начиная, бегая и останавливаясь в целом и исключительно на хосте. Он имеет хранилище базы данных и связывается с пользователем и другими серверами, требуя кластеризации. У этого есть веб-часть. Это просто стандартное приложение.

JBoss для меня - это оболочка для (в общем) нескольких приложений, предоставляющая мое приложение с некоторыми стандартными сервисами. Эта оболочка также является твердой вещью - «получить все или ничего», что-то можно включить/отключить (повлиять на ваше приложение непредсказуемо или повлиять на другую часть JBoss) или заменить (очень тяжело и уже довольно хак) с разными версии или другого модуля.

Автономное приложение для меня - это нечто вроде кусков с клеем среди них (весна, если хотите) с проводкой IoC. Мы можем получить все, что могли бы с JBoss, но отдельно. Весна или другой клей служат здесь, как сервер приложений, но он тоньше, и мы по-прежнему можем заменить детали или даже самую пружину (проводка IoC прямолинейна с точки зрения кодирования).

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

Итак, почему кто-то все еще выбирает JBoss - какие преимущества?

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

+0

Эти два варианта не являются взаимоисключающими. Мы развертываем приложения Spring в контейнере JBoss. – skaffman

ответ

2

Мне кажется, что то, что вы описываете, - это классический выбор между лучшими в породе (собирая все части и склеивая их вместе с собой) по сравнению с интегрированным стеком (JBoss написал все части и объединил их для вас) , Это дебаты, которые бушуют на вечность. Если лучший из породы работает для вас, то придерживайтесь его.

JBoss - контейнер J2EE. Взгляните на спецификацию J2EE, если вы не знакомы с ней. В основном процесс сообщества Sun создавал структуру разработки, которая содержит компоненты, которые могут вас заинтересовать при создании приложений с большим масштабом. J2EE содержит несколько подпараметров, таких как Servlets, EJB, JTA, JMS и целый ряд других технологий суп-алфавита. Если вы не используете ни одну из этих технологий, вам не нужен контейнер J2EE. Если вам просто интересно использовать сервлеты и JSP, вам лучше использовать контейнер сервлета, такой как Tomcat, Jetty, Resin и т. Д.

Предоставление таких возможностей предприятия, как масштабируемость, поддержка транзакций, управление пользователями федерации и т. Д. сложно. Контейнер J2EE обеспечивает стандартный уровень этих функций. Если вы можете найти их в другом месте до уровня, который удовлетворит ваше удовлетворение, тогда вам будет больше силы.

0

Я бы сказал, что единственной причиной использования JBoss является необходимость доступа к службам Java EE (например, сообщениям, управляемым контейнером транзакциям и тому подобным).

Имейте в виду, что JBoss (примерно описан) Услуги Tomcat plus Java EE (да, да, я знаю, это очень упрощенный подход, просто несите меня).Я упоминаю об этом, как я бы сказал, ваше решение:

  • Если вам нужно только IoC и некоторые другие capabilites вы можете получить с Spring и Tomcat, пойти с этим
  • Если приложение требует служб приложений Java EE, использовать JBoss

Имейте в виду, что вы всегда можете начать с базовой системы (Spring + Tomcat) и перейти к JBoss, если потребуется позже. Ничто не запрещает это. И, вероятно, начиная с этого подхода покажет вам, действительно ли вам нужны службы Java EE, или вы переработали решение.

+0

Я думал, что мы можем получать сообщения без JBoss, какие-то транзакции, управляемые контейнерами. Что такое услуги JEE, кроме того? Почему они тесно связаны друг с другом и почему это выгодно, как кто-то думает, если они выбирают это решение? – seas

+0

Да, вы можете получить услуги (например, Messaging) без JBoss, но я лично считаю, что если вы начнете их использовать, лучше использовать контейнер, который поддерживает их из коробки (проще в обслуживании и настройке). Об услугах здесь (http://java.sun.com/javaee/technologies/index.jsp) есть список того, что предоставляет JEE по умолчанию. Такие вещи, как настойчивость, обмен сообщениями ... По умолчанию Tomcat предоставляет небольшое подмножество (Servlets, JSP). –

1

Вы также можете выбрать, работаете ли вы в JBoss. Если вы довольны услугами JBoss, вы можете использовать их или развернуть некоторые другие, если вам не нравится тот, который JBoss предоставляет вам.

Начиная с минимальной конфигурации JBoss и создавая собственную конфигурацию, вы должны установить настройки, в которых у вас нет служб, которые вам не нужны. Лично мне нравится знать, что моя AS работает, поэтому я предпочитаю начинать с минимальной конфигурации, добавляя только необходимые части.

Смежные вопросы