Разработка распределенных приложений с использованием EJB 3
О курсе
Цель курса: Как Java кардинально изменила наши представления о разработке программного обеспечения, так же технология EJB изменила представления о разработке надежных и масштабируемых корпоративных систем. Курс покажет общую архитектуру EJB, принципы построение систем с использованием этой технологии. Будут рассмотрены модели компонентов, мониторы компонентных транзакций. Будет дано определение EJB и архитектура распределенных объектов. Различия в стандартах EJB 1.1, 2.0, 3.0 Соглашения между компонентом и контейнером. Удаленный и локальный пользовательские интерфейсы. Три типа EJB компонент. Особенности размещения EJB на OC4j и других серверах. Конфигурация дескрипторов размещения и обеспечение безопасного доступа к EJB компонентам. Основы постоянства. Транзакции в распределенных системах. Построение Web приложений с использованием компонент EJB
Категория слушателей: Профессиональные разработчики Java, аналитики, руководители проектов, желающие переводить свои приложения в многозвенную архитектуру.
Начальная подготовка: знание языка Java, SQL, работа с серверами приложений. (курсы JV_0, JV_1, JV_2)
Содержание курса:
- Необходимость использования мониторов компонентных транзакций. История развития CTM. Стандарты и спецификации EJB.
- Краткое введение в протокол RMI. Реализация протокола различными разработчиками серверов приложений. Доступ к JNDI посредством RMI.
- Стандарт EJB 2.X — краткий экскурс в историю
- Постоянство, управляемое контейнером. Разработка CMP компонент. Первичный ключ и установка связи с ресурсом. Поисковые методы и методы выборки. Краткое введение в язык EJBQL. Дескриптор развертывания CMP EJB компоненты и описание EJBQL.
- Постоянство, управляемое компонентой. Разработка BMP компонента. Реализация методов выборки и изменения данных. BMP и доступ к сложным структурам данных. Методы обратного вызова. Дескриптор развертывания для BMP компонента.
- Использование UML для визуальной разработки сущностных компонент. Реинжиниринг схемы базы данных.
- Стандарт EJB 3.
- Общая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Переносимость и миграция между спецификациями 2 и 3. Два типа компонент — Сессионные и Управляемые событиями. Сущностные бины.
- Порядок сборки, упаковки и отправки на сервер приложений модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
- Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола.Управление сессионным состоянием. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Методы управления доступом к компонентам. Распределение ролей для выполнения различных методов. Методы и классы Interceptor, аннотация @@AroundInvoke.
- Доступ к ресурсам приложения и сервера. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием.
- Особенности конфигурации опций доставки компонент в контейнер OC4j. Аннотация @StatefulDeployment и @StatelessDeployment
- Сущностные EJB3
- Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс — аннотация @IdClass.
- Конфигурация метаданных по таблицам и колонкам — аннотации @Table, @SecondaryTable. @Column. Связанные колонки — @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах Oracle — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
- Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
- Конфигурация наследования в сущностных компонентах.
- Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов — javax.management.Query.
- Компоненты, управляемые сообщениями (MDB)
- Жизненный цикл компоненты, конфигурирование компоненты для J2CA провайдера. Управление доступом к J2CA провайдеру OC4J
- Аннотация @MessageDriven. Параллельные сообщения. Конфигурация жизненного цикла и InterCeptor метода.
- Использование Facade-session компонент для доступа к локальным интерфейсам сущностных компонент. Фасадные компоненты и ADF DataControl. Быстрая разработка приложений с использованием JSP DataBinding
- Разработка полноценного WEB приложения для редактирования таблиц и осуществления навигации с использованием сущностных и сессионных компонент. Создание Бизнес компонент на основе EJB компонент. TopLink и EJB компоненты.
- Примеры разработки аплетов, сервлетов и JSP с использованием EJB компонент. Средство разработки Jdeveloper для автоматизации процесса разработки. Struts-based JSP на основе бизнес компонент.
Расписание занятий
Дата | Статус | Формат | Место проведения | Стоимость |
---|---|---|---|---|
04.11.2024 | Дистанционный
Дистанционное обучение (СДО): Самостоятельное изучение материалов программы. Оптимальный вариант для занятых людей, которые готовы учиться самостоятельно в свободное время в удобном для них темпе. Консультации преподавателей оказываются дистанционно (при необходимости). | Виртуальный класс | 65000 ₽ |