Главная » Java, Web » Создание компонентов EJB

0

В этой части главы будет подробно рассмотрена работа с компонентами EJB.

Компоненты EJB-сущности

Компонент EJB-сущности — это объект, который существует постоянно, вне зависимости от работы программы. Она может создать компонента EJB-сущности, а затем может быть прервана и запущена вновь, но созданный компонент EJB-сущности будет существовать все это время без перерыва. После того как программа будет запущена вновь, она сможет найти ранее созданный компонент EJB и использовать его в дальнейшей работе.

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

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

Компоненты EJB-сессий простым языком

Компоненты EJB-сессий не являются постоянными. Это их первое отличие от компонентов EJВ-сущностей. Компоненты EJB-сессий, как правило, не могут быть поделены между несколькими клиентами. Тем не менее, существует возможность использования компонента EJB несколькими клиентами посредством меток (handles) компонентов EJB. Компоненты EJB-сессий используются при необходимости решения распределенных задач, требующих работы с конкретным клиентом. Каждый компонент EJB-сессии используется при выполнении отдельной задачи для конкретного клиента. Клиент может работать с несколькими компонентами EJB-сессий. Задачи могут быть распределены таким образом, что соответствующие им компоненты EJB будут располагаться на различных компьютерах и самостоятельных виртуальных машинах Java.

Можно провести аналогию между функционированием компонентов EJB- сессий и обращающихся к ним клиентам с тем, как работают браузеры и Web-серверы. Web-cepeep располагается в определенном месте на определенной машине. К нему осуществляют доступ различные браузеры, расположенные в различных местах. Каждый сервер предназначен для того, чтобы выполнять определенный набор действий (передавать определенный набор информации). Браузеры могут соединяться с произвольным числом серверов для получения необходимой информации. Конечно, задачи, решаемые серверным компонентом EJB-сессий могут быть более специфичны, чем задачи предоставления информации, решаемые Web-сервером. Они более связаны с программированием. Например, это могут быть определенные вычисления. Компоненты EJB могут также включать в себя методы представления произведенных вычислений, то есть методы отображения полученных результатов. Клиент обращается к компонентам EJB, вызывая их методы. Примером такой задачи может служить банковское приложение. Учет всех транзакций производится в одном центре. Java-приложение — аналог банкомата. Это приложение обращается к серверному компоненту EJB-сессии, который работает на центральном сервере и который производит операции со счетом, вычисляя его баланс, меняя текущий баланс и тому подобное в соответствии с теми операциями, которые будут указаны клиентом. Компонент EJB-сессии не имеет первичного ключа. Компонент EJB-сессии не используется для разделения и совместного использования несколькими клиентами. К нему нет необходимости обращаться повторно при новом запуске клиентского приложения.

Интерфейсы серверных компонентов EJB

Здесь будут более подробно рассматриваться интерфейсы серверных компонентов EJB.

Удаленный интерфейс (Remote Interface)

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

Домашний интерфейс (Home Interface)

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

Имплементация интерфейсов

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

Удаленный интерфейс должен быть имплементирован, так как он зависит от решаемых компонентом EJB задач.

Далее в настоящей главе будут рассмотрены описанные здесь задачи и способы их решения более подробно.

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

По теме:

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