Этапы создания EJB-проектов

Процесс разработки подразделяется на 5 этапов (6-ой этап, предусмотренный спецификацией EJB - этап администрирования). С каждым этапом сопоставлены вполне конкретные обязанности (роли):

· Поставщик Сервера (Server Vendor))

· Поставщик Контейнера (Container Vendor)

· Разработчик Компонента (Bean Provider)

· Сборщик Приложения (Application Assembler)

· Установщик EJB (EJB Deployer)

Создание Серверов EJB и Контейнеров EJB (первые две роли) - проблема поставщиков инструментальных средств (BEA, INPRISE, Oracle, Sun и др.) При создании проектов прикладных разработчиков касаются вопросы, относящиеся к оставшимся трем ролям.

Bean Provider - это специалист в той прикладной области, в которой создается данный проект. Его задача - реализация необходимой заказчику функциональности системы. Такой разработчик, в общем, не должен быть специалистом ни в области сетевых технологий, ни в области управления транзакциями, ни в области взаимодействия с конкретными СУБД. Технология EJB и рассчитанные на взаимодействие с ней инструментальные средства (например, Borland JBuilder) позволяют автоматически генерировать «скелет» создаваемого компонента. Разработчику остается только дописать код необходимых методов.

Кроме этого, Разработчик Компонента может потребовать выполнения определенных условий на последующих этапах разработки. Например, он может обращаться к методам стандартного Java-интерфейса доступа к СУБД (JDBC), но при этом не указывать URL конкретного драйвера - на этом этапе создания компонента этот URL либо может быть еще просто неизвестен, либо компонент должен уметь работать с любым драйвером. В этом случае Разработчик резервирует место под URL конкретного драйвера в специальной структуре описания создаваемого компонента - так называемом Дескрипторе Развертывания (Deployment Descriptor), а в код компонента помещает команды извлечения конкретного URL из Дескриптора, которые выполняются в процессе работы программы. Указание реально используемого URL должно быть выполнено (без этого Компонент нельзя будет поместить в Контейнер) на любой из последующих стадий разработки - обычно на стадии Развертывания (Deployment).

Application Assembler, как и Bean Provider, является специалистом в прикладной области, и его задача - использовать готовые Компоненты либо для создания готового приложения, либо для создания новых, «укрупненных» Компонентов. На этой стадии обычно создается код для взаимодействия компонентов, например, с сервлетами, JSP или друг с другом. Любая информация, помещенная в Дескриптор Развертывания Разработчиком Компонентов, может быть дополнена или переопределена.

Delpoyer отвечает за присутствие всей необходимой информации в Дескрипторе Поставки и за ее корректность. Его не интересует код компонентов - его задача обеспечить их функционирование в данной операционной среде, определить права доступа к Компонентам и правила выполнения транзакций (кроме случая, когда компоненты сами управляют транзакциями), обеспечить взаимодействие с конкретными СУБД, разместить компоненты в нужные Контейнера. Вообще, под процессом развертывания приложения понимается совокупность всех действий по настройке системы в конкретной операционной среде, после которых клиент может приступить к работе с ней.

Важное место в технологии EJB занимают вопросы администрирования