Главная » Java, Web » Архитектура серверных компонентов EJB

0

Часто общая архитектура приложений построена таким образом, что клиентское приложение работает на той или иной локальной машине. Средний уровень приложений, которые осуществляют функциональную логику приложений, выполняется на сервере, который работает совместно с сервером информационной системы предприятия, реализованном в виде сервера EIS (Enterprise Information Server). Сервер предприятия может включать в себя базы данных, прочие приложения, включая ранее использовавшиеся приложения,

Рис. 5.4. Архитектура приложения, использующего серверные компоненты EJB

созданные еще для устаревших систем, но не исчерпавшие актуальности, и т. п. Общую структуру приложения с использованием серверных компонентов EJB можно представить различными способами, например так, как показано на рис. 5.4.

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

Сервер компонентов EJB

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

Контейнер компонентов EJB

Контейнер серверных компонентов EJB — это система, в которой работают серверные компоненты EJB. Посредством контейнера происходит взаимодействие компонентов EJB с сервером компонентов EJB. Контейнер осуществляет проведение транзакций, обеспечивает безопасность, управление распределенными системами. Контейнер также предоставляет средства разработки кода серверных компонентов EJB для определенных условий. Контейнер предоставляет средства размещения компонентов EJB, средства управления приложением. Контейнер и сервер обеспечивают среду, в которой работают компоненты EJB.

Функционирование серверных компонентов EJB

В задачи разработчика компонентов EJB, который занимается созданием программного кода, входит разработка следующих интерфейсов и классов. В первую очередь, это удаленный домашний и/или локальный домашний интерфейсы. Домашний интерфейс содержит методы, которые использует клиент для создания экземпляров серверных компонентов EJB, нахождения необходимых компонентов EJB, уничтожения ненужных экземпляров серверных компонентов EJB. Он также создает удаленный или локальный интерфейс для компонентов EJB. Эти интерфейсы содержат методы, обеспечивающие функциональную логику компонента EJB. Клиент имеет доступ к этим методам посредством удаленного интерфейса. Также должен быть создан класс компонента EJB. Класс компонента EJB имплементирует функции компонента EJB. Созданные в классе компонента EJB методы доступны для клиента посредством удаленного интерфейса компонента EJB.

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

После того как компонент EJB инициализирован, клиент имеет доступ к методам самого компонента EJB. Доступ этот не осуществляется непосредственно, клиент никогда не имеет доступа к методам компонента EJB напрямую. Те методы, которые доступны клиенту, описываются в удаленном или локальном интерфейсе и реализуются в контейнере компонентов EJB. Если клиент посылает запрос, то этот запрос будет получен контейнером и передан экземпляру компонента EJB.

Источник: Будилов В. А. Интернет-программирование на Java. — СПб.: БХВ-Петербург, 2003. — 704 е.: ил.

По теме:

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