Java Platform, Enterprise Edition (Java EE) 8 Учебник по 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.
Сервер и контейнеры:
Сервер Java EE: часть времени выполнения продукта Java EE. Сервер Java EE предоставляет EJB и веб-контейнеры.
Контейнер EJB: управляет выполнением Enterprise-бинов в приложениях Java EE. Enterprise-бины и их контейнеры работают на сервере Java EE.
Веб-контейнер: управляет выполнением веб-страниц, сервлетов и некоторых компонентов EJB в приложениях Java EE. Веб-компоненты и их контейнер работают на сервере Java EE.
Клиентский контейнер приложения: управляет выполнением клиентских компонентов приложения. Клиентские приложения и их контейнер запускаются на клиенте.
Контейнер апплетов: управляет выполнением апплетов. Состоит из веб-браузера и подключаемого Java Plug-in-а, работающих совместно на клиенте.
Назад | Вперёд | Содержание |