Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

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

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

Сервисы контейнера

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

Процесс сборки включает в себя указание настроек контейнера для каждого компонента в приложении Java EE и для самого приложения Java EE. Настройки контейнера адаптируют базовую поддержку, предоставляемую сервером Java EE. Она включает такие сервисы, как безопасность, управление транзакциями, API имён и каталогов Java (JNDI) и удалённое подключение. Вот некоторые из основных моментов.

  • Модель безопасности Java EE позволяет настроить веб-компонент или Enterprise-бин так, чтобы к системным ресурсам обращались только авторизованные пользователи.

  • Модель транзакций Java EE позволяет вам определять отношения между методами, составляющими транзакцию, так что все методы в этой транзакции рассматриваются как единое целое.

  • Службы поиска JNDI предоставляют унифицированный интерфейс для нескольких сервисов имён и каталогов предприятия, чтобы компоненты приложения могли получить доступ к этим службам.

  • Модель удалённого подключения Java EE управляет связью между клиентами и Enterprise-бинами на низком уровне. После создания Enterprise-бина клиент вызывает его методы, как если бы они находились на одной виртуальной машине.

Поскольку архитектура Java EE предоставляет настраиваемые сервисы, компоненты в одном и том же приложении могут вести себя по-разному в зависимости от того, где они развёрнуты. Например, Enterprise-бин может иметь параметры безопасности, которые позволяют ему определённый уровень доступа к данным базы данных в одной производственной среде и другой уровень доступа к базе данных в другой производственной среде.

Контейнер также управляет неконфигурируемыми сервисами, такими как жизненные циклы Enterprise-бинов и сервлетов, пул подключений к базе данных, персистентность данных и доступ к API платформы Java EE (см. API Java EE 8).

Типы контейнеров

Процесс развёртывания устанавливает компоненты приложения Java EE в контейнеры Java EE, как показано на рисунке 1-5.

Рисунок 1-5. Сервер и контейнеры Java EE

Диаграмма взаимодействия клиент-сервер, показывающая сервлеты и веб-страницы веб-слоя и Enterprise-бины слоя бизнес-логики.

Сервер и контейнеры:

  • Сервер Java EE: часть времени выполнения продукта Java EE. Сервер Java EE предоставляет EJB и веб-контейнеры.

  • Контейнер EJB: управляет выполнением Enterprise-бинов в приложениях Java EE. Enterprise-бины и их контейнеры работают на сервере Java EE.

  • Веб-контейнер: управляет выполнением веб-страниц, сервлетов и некоторых компонентов EJB в приложениях Java EE. Веб-компоненты и их контейнер работают на сервере Java EE.

  • Клиентский контейнер приложения: управляет выполнением клиентских компонентов приложения. Клиентские приложения и их контейнер запускаются на клиенте.

  • Контейнер апплетов: управляет выполнением апплетов. Состоит из веб-браузера и подключаемого Java Plug-in-а, работающих совместно на клиенте.


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)