Разработка распределенных приложений с использованием EJB 3
О курсе
Цель курса: по окончанию курса слушатели смогут самостоятельно разрабатывать приложения в компонентной архитектуре JEE – EJB3.X
Как Java кардинально изменила наши представления о разработке программного обеспечения, так же технология EJB изменила представления о разработке надежных и масштабируемых корпоративных систем. Курс покажет общую архитектуру EJB, принципы построение систем с использованием этой технологии. Будут рассмотрены модели компонентов, мониторы компонентных транзакций. Будет дано определение EJB и архитектура распределенных объектов. Различия в стандартах EJB 1.1, 2.0, 3.X Соглашения между компонентом и контейнером. Удаленный и локальный пользовательские интерфейсы. Типы EJB компонент. Особенности размещения EJB на JBoss, Weblogic и других серверах. Конфигурация дескрипторов размещения и обеспечение безопасного доступа к EJB компонентам. Основы постоянства. Транзакции в распределенных системах. Построение Web приложений с использованием компонент EJB
Предварительные требования к курсу
- Пожалуйста, обратите внимание, что этот курс имеет следующие предварительные условия, которые необходимо выполнить, прежде чем к нему можно будет получить доступ.
-
Программирование на Java (уровень 1).
-
Программирование на Java (уровень 2).
Требования
- знание языка Java, SQL, работа с серверами приложений
- опыт работы в среде IntelliJIDEA, Eclipse, JDeveloper, NetBeans
Целевая аудитория
- профессиональные разработчики Java
- аналитики
- руководители проектов
- желающие переводить свои приложения в многозвенную архитектуру
Программа обучения
• Необходимость использования мониторов компонентных транзакций. История развития 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 на основе бизнес компонент.
Расписание занятий
| Дата | Статус | Формат | Место проведения | Стоимость |
|---|---|---|---|---|
| 23.11.2026 | Очный
Очное обучение с применением дистанционных образовательных технологий: Обучение в аудитории Учебного центра или обучение в онлайн классе. Вы можете подключиться к занятиям из любой точки мира по сети Интернет. Вы присутствуете на вебинаре, работаете с удаленными/виртуальными лабораториями и консультируетесь с преподавателем в режиме он-лайн. | Виртуальный класс | 65000 ₽ |

