Технология Enterprise JavaBeans (EJB)
Использование EJB позволяет упростить процесс разработки КИС за счет того, что многие функции реализуются контейнерами. Кроме того, EJB можно использовать многократно, причем для повторного использования не требуется перекомпиляция всего проекта. Версии. EJB 1.0. Это начальная версия, в рамках которой поддерживались stateful и sfafe/ess-компонент, с которыми можно было работать через удаленный… Читать ещё >
Технология Enterprise JavaBeans (EJB) (реферат, курсовая, диплом, контрольная)
EJB представляет собой высокоуровневый подход к построению распределенных приложений масштаба предприятия, основанный на модели серверных компонентов (server component model) для Java.
Данный подход позволяет изменять архитектуру сервера, расширяя или ограничивая его функциональные возможности в зависимости от решаемых задач путем добавления или удаления компонент.
Краткая история. Фирма Sun Microsystems Inc. анонсировала технологию EJB в 1996 г., а в 1998 г. была представлена первая реализация (версия 1.0). В 2006 г. появилась версия EJB 3.0, которая трансформировалась в настоящее время в версии EJB 3.1, EJB 3.2. Новые версии имеют большее число расширений и более тесно интегрируется с другими технологиями Java.
Версии. EJB 1.0. Это начальная версия, в рамках которой поддерживались stateful и sfafe/ess-компонент, с которыми можно было работать через удаленный интерфейс. В качестве желательной опции рассматривались компоненты, имеющие состояния.
EJB 1.1. В данном релизе в качестве обязательных появились компоненты с состоянием и XML-дескриптор (deployment descriptor).
EJB 2.0. В данном релизе в дополнение к удаленному интерфейсу появился локальный интерфейс, который могли использовать компоненты, работающие в том же контейнере. Появился новый тип компонентов — компоненты, управляемые сообщениями The Message-Driven Bean (MDB), которые могли принимать асинхронные сообщения. Для компонентов с сохранением была определена возможность сохранения состояния средствами контейнера. Появился язык Enterprise JavaBeans Query Language (далее — EJB QL), похожий по структуре на SQL и предназначенный для поиска компонентов.
EJB 2.1. В рамках данного релиза появилась поддержка работы с вебсервисами, расширились возможности EJB QL и в дескрипторе развертывания вместо DTD стала использоваться XML schema.
Можно заметить, что основные различия между версиями состоит в наращивании возможностей.
EJB 3.0. Данный релиз радикально отличается от предшествующих и определяет фактически новую компонентную модель. Основное отличие состоит в том, что пользователь не должен ничего знать о домашнем интерфейсе (Ноте Interface). В рамках данной спецификации используется идея Plain Old Java Objects (POJO). Идея состоит в том, что программист пишет только ту часть кода, которая реализует бизнес-логику. Для того чтобы определить, каким именно способом реализуется бизнес-код, используется механизм аннотаций. Например, если требуется определить интерфейс как локальный, то достаточно описать интерфейс обычным способом и вставить строку аннотацию @Local. Механизм аннотаций позволяет очень существенно упростить процесс разработки.
Таким образом, речь идет о двух разных компонентных моделях и разных философиях разработки компонентом.
Использование EJB позволяет упростить процесс разработки КИС за счет того, что многие функции реализуются контейнерами. Кроме того, EJB можно использовать многократно, причем для повторного использования не требуется перекомпиляция всего проекта.
EJB компоненты хорошо сопрягаются с веб-сервисами и CORBA. Архитектурная модель EJB включает в себя следующие элементы (рис. 6.10):
- • ЛЖ-контейнер;
- • EJB-контейнер;
- • веб-контейнер;
- • клиент;
- • БД.
Рис. 6.10. Архитектурная модель EJB
Одним из побудительных мотивов создания EJB-технологии были сложности CORBA. Однако эволюция технологии EJB привело к тому, что эта технология стала казаться разработчикам чрезмерно сложной, в частности:
- • чрезмерно тяжеловесная модель программирования, требующая работы с несколькими интерфейсами;
- • необходимость непосредственного взаимодействовать с Java Naming Directory Interface (JNDI);
- • необходимость работать с непомерно сложным XML DD.
Эти недостатки устранены в EJB3.0, где используется только один бизнес-интерфейс вместо home и remote интерфейсов, минимизируется использование DD (англ, dynamic document — динамический документ) за счет использования аннотаций. Кроме того, используется новый механизм для сохранения состояния для компонентов-сущностей (Entity Beans').
Одной из новых черт EJB 3.0 является использование Java Persistence API (JPA) для реализации сохранения состояния.