Подтвердить что ты не робот

Определение контейнера Java

Я читал\слышал много раз о контейнерах java, таких как контейнер сервлетов, однако, похоже, я не могу найти хорошее определение того, что контейнер находится в корпоративном java-мире.

Кто-нибудь знает о хорошем определении контейнера java предприятия?

4b9b3361

Ответ 1

Обращаясь в общем случае к шаблону контейнера (из которого корпоративный Java-контейнер можно рассматривать как специализацию), книга "Структурные шаблоны сервера" M.Volter и др., предлагает следующее:

[КОНТЕЙНЕР обеспечивает] среду исполнения, которая отвечает для добавления технических проблем к КОМПОНЕНТАМ... Концептуально, это обертывает КОМПОНЕНТЫ, тем самым давая клиентам иллюзию тесно интегрированные функциональные и технические проблемы.

Примеры таких технических проблем включают безопасность, управление транзакциями, протоколирование и т.д.

Ответ 2

Обычными контейнерами в Java EE являются контейнер сервлетов и контейнер EJB, и я рассматриваю их как примеры контейнеров IoC (Inversion of Control). Ключевыми аспектами являются:

  • В вашем коде нет основного() или "ждут здесь логики запроса" - контейнер запускается и настраивается сам, а затем в конечном итоге инициализирует ваш код и доставляет запросы
  • Ваш код может быть одним из многих аналогичных классов (сервлетов в контейнере сервлетов, EJB в контейнере EJB), чьи экземпляры управляют контейнерами жизненного цикла.
  • Запросы доставляются на ваш сервлет или EJB через некоторый протокол, определенный контейнером, используя ресурсы (например, HTTP-порты), контролируемые контейнером, и, возможно, со значительной инфраструктурной уловкой (посмотрите на очереди HTTP-запросов, балансировку нагрузки EJB и т.д..)
  • Значительная добавленная стоимость от таких функций, как управление транзакциями и управление безопасностью - поскольку контейнер вызывает ваш код, он имеет хорошие возможности для реализации этого неинтрузивно.
  • Основная функциональность контейнера - это очень много IOC, контейнер вызывает ваш код в соответствующие моменты времени, однако контейнер также будет предоставлять полезные API, которые ваш код может вызвать (например, для получения сервлетов или контекстов EJB.

Ответ 3

Контейнеры Java EE

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

http://download.oracle.com/javaee/5/tutorial/doc/bnabo.html

Ответ 4

Ключевым понятием контейнера является инверсия элемента управления, где компоненты приложения внутри контейнера могут свободно сочетаться с другими компонентами приложения, а также ресурсы на более низком уровне, от которых они зависят. Для Java эти ресурсы обычно такие, как соединения с базой данных, сетевые подключения, JNDI и т.д.

Различные уровни контейнеров поддерживают разные спецификации, например, контейнер web/servlet, такой как tomcat, не поддерживает некоторые спецификации уровня приложения, такие как EJB3, поэтому tomcat не может объединить ejb для инъекции в ваше приложение.

Ответ 5

Он отвечает за поддержание отдельных компонентов на стороне сервера, включая сервлеты Java, страницы сервера Java и лица сервера Java.

Ответ 6

"Контейнеры - это интерфейс между компонентом и низкоуровневой платформой, поддерживающей компонент. Перед тем, как веб-компонент может быть запущен корпоративный bean или клиентский компонент приложения, он должен быть собран в Java EE и развертывается в его контейнере". вот мой источник: http://docs.oracle.com/javaee/1.4/tutorial/doc/Overview3.html

Ответ 7

Контейнер - это среда исполнения, которая приносит динамизм. Он создает HTTP-ответ, преобразует HTTP-запрос в объект и создает и управляет жизненным циклом сервлета.

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

Контейнер, который управляет каждой спецификацией Java EE, известен как контейнер предприятия Java. Например. стеклянная рыба, JBoss и т.д. (BTW Tomcat не является контейнером EE, это веб-контейнер)

Ответ 8

Контейнер - в контексте разработки Java относится к части сервера, который отвечает за управление жизненным циклом веб-приложений. Веб-приложения определяют требуемое управление жизненным циклом с помощью контракта, представленного в формате XML. Веб-контейнер не может быть доступен клиенту напрямую. Скорее, сервер управляет веб-контейнером, который, в свою очередь, управляет кодом веб-приложения.

Ref- https://www.techopedia.com/definition/4252/container-java