Главная » Java, JavaBeans » Инфраструктура Enterprise JavaBean

0

Создатели Серверов и Контейнеров EJB реализуют инфраструктуру EJB. Инфраструктура обеспечивает удаленное взаимодействие объектов, управление транзакциями и безопасность приложения. Спецификация EJB оговаривает требования к элементам инфраструктуры и определяет Java Application Programming Interface (API); она не касается вопросов выбора платформ, протоколов и других аспектов, связанных с реализацией.

На Рис. 2.1 показаны различные элементы инфраструктуры EJB. Он должна обеспечивать канал связи с клиентом и другими Компонентами EJB. Хотя спецификация этого не требует, желательно, чтобы этот канал обеспечивал безопасность передаваемых данных, особенно при работе в Internet. Инфраструктура должна также обеспечить соблюдение прав доступа к компонентам EJB.

Рис. 2.1 Компоненты, Контейнеры и Сервера EJB.

В общем случае необходимо гарантировать сохранение состояния Компонентов в Контейнерах. Инфраструктура EJB обязана предоставить возможности для интеграции приложения с существующими системами и приложениями – без этого нельзя говорить о пригодности приложения для функционирования в корпоративной информационной сети. Все аспекты взаимодействия клиентов с серверными Компонентами должны происходить в контексте транзакций, управление которыми возлагается на инфраструктуру EJB. Для успешного выполнения процесса поставки Компонентов инфраструктура EJB должна обеспечить возможность взаимодействия со средствами управления приложениями (hooks).

Контейнер

Контейнер, возможно, является наиболее важной концепцией архитектуры EJB – именно он в наибольшей степени облегчает работу разработчика. Такие объектные технологии, как CORBA или RMI, освобождают прикладного программиста от кодирования деталей удаленного взаимодействия – поиска объектов, упаковки и пересылки данных (маршалинга) и т.п. Контейнер делает следующий шаг в направлении упрощения работы – он берет на себя такие нетривиальные аспекты создания распределенных систем, как управление транзакциями, обеспечение безопасности и сохранение состояния объектов.

После того, как компонент EJB подготовлен для поставки, он помещается в стандартный архивный файл Java – файл ejb-jar. Этот файл может содержать один или несколько Компонентов EJB. Он содержит интерфейсы, классы и Дескриптор Поставки для каждого Компонента.

Enterprise Bean Provider должен обеспечить для каждого Компонента следующее:

•                 Remote-интерфейс Компонента, который содержит доступные для клиента бизнес-методы.

•                 Ноте-интерфейс Компонента, который позволяет клиенту создавать и находить Компоненты EJB.

•                 Собственно класс Компонента, который содержит реализацию функций Компонента.

•                 Дескриптор Поставки. Deployer использует этот дескриптор на стадии поставки для работы с информацией, которая не является частью кода классов Компонента, но определяет его поведение во время работы. В спецификации EJB 1.0 дескриптор представляет собой результат стандартной Java-сериализации экземпляра класса

javax.ejb.deployment.SessionDescriptor или

javax.ejb.deployment.EntityDescriptor. Этот подход в спецификации EJB 1.1 объявлен устаревшим; вместо этого используется дескриптор в формате XML. Подробно о дескрипторе говорится несколько позже в этой главе.

Под процессом "поставки" Компонента понимается его установка его ejb-jar-файла в Контейнер EJB. Процесс поставки включает в себя:

•                 Проверку, что все составные части Компонента соответствуют друг АРУГУ-

•                 Регистрацию Компонента в Naming Service.

•                 Обеспечение доступа к Компоненту через коммуникационную систему Сервера EJB.

•                 Реализацию управления транзакциями и отслеживание профилей безопасности.

В Контейнере может быть установлено любое число Компонентов EJB. Контейнер EJB предоставляет как среду выполнения для своих Компонентов, так и инструменты для выполнения процесса поставки. Эти инструменты для Inprise EJB Container рассматриваются в 10-ой главе.

Источник: Руководство программиста Enterprise JavaBeans

По теме:

  • Комментарии