Сервер приложений - использовать или не использовать? - PullRequest
6 голосов
/ 04 июня 2009

Обычно мы используем WebLogic или JBoss для развертывания наших приложений. Я понимаю, что при использовании решений с открытым исходным кодом, таких как Spring, вы можете разработать свое приложение и запустить его в простом контейнере сервлетов, таком как Jetty. Так что вопрос в том, зачем вообще беспокоиться о сервере приложений?

Ответы [ 7 ]

4 голосов
/ 04 июня 2009
  • Расширенные функции - как транзакции, интеграция безопасности, пулы, высокопроизводительные очереди, кластеры.
  • Производительность (у weblogic есть горячая JVM)
  • эксплуатационный и административные интерфейсы.

за этим ... я не знаю?

В большинстве случаев ЯГНИ .

3 голосов
/ 04 июня 2009

Никто не был уволен за использование WebLogic или WebSphere в корпоративной среде. Для крупного бизнеса и менеджеров важны не только технологические аспекты. Эти серверы приложений предлагают полнофункциональные консоли администрирования, которые легко использовать даже неопытным администраторам. Кроме того, службы поддержки легче найти. Компания, которая использует компоненты с открытым исходным кодом, должна инвестировать в опытных разработчиков, чтобы все настроить и выполнить техническое обслуживание. Серверы приложений широко используются в компаниях (например, в банках), которые не имеют никакого отношения к программному обеспечению. Для них имеет смысл покупать все (лицензия на программное обеспечение, установка / настройка, услуги поддержки) у одного поставщика.

2 голосов
/ 04 июня 2009

Если вам нужно спросить, вы не можете себе этого позволить.

Серьезно, полноценные серверы приложений имеют больше функций, и вам придется решить, стоят ли они того, например, Tomcat или Jetty. Я не думаю, что это подходящее место, чтобы попытаться объяснить все причины, но вот одна: серверы приложений могут упростить упаковку функциональности и сервисов в транзакции. Больше причин дано здесь .

1 голос
/ 04 июня 2009

Функции кластеризации, отработки отказа и синхронизации сеансов в WebLogic и JBoss все еще делают их полезными в больших центрах обработки данных.

JBoss использует Tomcat в качестве веб-интерфейса, конечно, так что это не то или другое.

Я видел, как люди добавляли OpenEJB и ActiveMQ в Tomcat и получали все функции сервера приложений Java EE. Линия довольно размыта.

Сервер Spring DM построен на Tomcat. Будет интересно посмотреть, сможет ли он начать отвлекаться от рынка приложений Java EE.

Мне нравится Spring - это мой предпочтительный фреймворк, но я могу вам сказать, что некоторым приятно знать, что Java EE - это стандарт, который реализуется несколькими поставщиками серверов приложений. Если вы не используете специфичные для поставщика расширения, теоретически ваш код может быть перемещен из WebSphere в WebLogic в JBoss без изменений. Это нравится некоторым крупным IT-магазинам. Они уклоняются от весны, потому что это не стандарт. Это детище Рода Джонсона и его команды. Если вы решили, что вам не нравятся их вещи, вам больше некуда идти.

В разработке находится новый стандарт Java IoC / DI. Род Джонсон и Боб Ли работают над этим. Может быть, это начнет успокаивать страх, который там есть.

0 голосов
/ 25 июня 2009

Сервер приложений - это архитектурное решение. Вы должны использовать его, если вы будете думать о различных повторно используемых модулях вашего приложения. Если вы не возражаете, что ваши сервисы должны быть реализованы через стек HTTP, поэтому EJB должен быть вашим вариантом по умолчанию. С AS у вас уже есть упакованное решение для решения лучших практик в архитектурном плане. Вы можете использовать очереди, темы, jms и т. Д. Из коробки, и это все стандарты Java EE. Но я думаю, что вы должны продумать все ваше приложение в этом архитектурном гудении - так, чтобы можно было судить о решении AS.

0 голосов
/ 04 июня 2009

Несколько причин, большинство из которых могут относиться или не относиться к конкретной необходимости.

1) Поддержка. Многим предприятиям нравится иметь контракт на поддержку с поставщиком, который разработал сервер. С открытым исходным кодом вы в значительной степени «по своему усмотрению».

2) Полная поддержка Java EE / EJB. Хотя я сам не нахожу это особенно полезным, эти функции широко используются в коммерческих приложениях. Если они вам нужны, альтернативы действительно нет. Если они вам не нужны, это пустая трата времени.

3) Хорошие административные консоли. Tomcat имеет консоль администратора, которая позволит вам добавлять и удалять приложения. Насколько я знаю, это все, что касается. Это есть в WebSphere (хотя и не очень упрощенно), но вы также можете изменить размеры пула соединений, источники данных, размеры пула потоков, изменить конфигурацию ведения журнала (очень высокая степень детализации) и активировать профилирование памяти и JVM. В основном без перезапуска сервера приложений. Предположительно, кластеризацию относительно легко настроить. Возможность установки файла .EAR также заметно отсутствует в tomcat, и если вам нужно установить несколько взаимосвязанных приложений, становится очень трудно управлять ими всеми.

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

0 голосов
/ 04 июня 2009

Некоторым людям нравится иметь поддержку EJB (спецификация Java EE) «на всякий случай»

...