Нуждается ли приложение в сервере приложений? / Deciding Whether an Application Needs an Application Server

Имея архитектурные познания в j2ee, можно сделать весьма осмысленный выбор насчет сервера приложений. Нуждается ли Ваше приложение в нем? Поддерживаете ли вы JTA, JCA + EJB? Или Вам достаточно будет веб контейнера на подобии Tomcat.
Существует несколько реальных преимуществ в случае отказа от использования сервера приложений:
- Более низкие цены на лицензии в случае использования коммерческих продуктов.
- Более быстрый старт сервера, сохранение времени развертывания приложения.
- Более простое администрирование и не такой большой полигон для обучения программистов
Веб приложения, использующие всего лишь одну базу данных, вряд ли будут нуждаться в сервере приложений. Легковесные контейнеры предоставляют альтернативный подход разработки, отличающийся от использования EJB контейнера для управления бизнес объектами. Распределенные транзакции, JTA, двухфазовые коммиты - все это не нужно в случае использования одной базы данных.
Сервер приложений следует использовать в тех случаях, когда:
- Вам необходимы распределенные транзакции: например, если Вы используете более одной базы данных. Можно интегрировать сторонние реализации JTA, такие как JOTM, в веб-контейнер, но такое решение может оказаться намного более сложным, чем использование готовых решений, предоставляемых серверами приложений.
- Если Вы хотите использовать удаленное обращение к бизнес-объектам, EJB - хороший выбор. Однако, как альтернативу, можно использовать веб-сервисы
Хорошие веб-контейнеры предоставляют надежную поддержку отказоустойчивости и кластеризации, поэтому сервер приложений не обязателен в этом случае для масштабирования.
С использованием архитектуры без EJB, критическим местом серверов приложений является управление транзакциями, поэтому важно уяснить, подходит ли это под требования вашего проекта.
Хороший легковесный контейнер на подобии Spring работает одинаково хорошо в любой среде. Важно и то, что приложение может использовать преимущества реализаций JTA. Также следует помнить, что архитектура легковесных контейнеров не препятствует использованию всех преимуществ сервисов, предоставляемых серверами приложений.
Конец
Материалы, которые могут вас заинтересовать
- Weblogic. JMS. Отправка и прием сообщения на topic из клиента.
- В чем разница между application server и web server?
- Websphere + Jython. Сборник готовый функций для всевозможных операций по созданию j2ee ресурсов
- Как происходит вызов EJB?
- В чем разница между EJB 2.0 и EJB 3.0?
- Можно ли вызывать Runtime.gc() в EJB?
- Что такое deployment descriptor или дескриптор развертывания?
- Являются ли JavaBeans компонентами J2EE?
- Какие существуют компоненты в J2EE?







Отправить комментарий