Целевая аудитория
Профессиональные разработчики Java, аналитики, руководители проектов, желающие переводить свои приложения в многозвенную архитектуру.
Начальная подготовка: знание языка Java, SQL, работа с серверами приложений. (курсы JV_0, JV_1), опыт работы в среде IntelliJIDEA, Eclipse, JDeveloper, NetBeans
Начальная подготовка: знание языка Java, SQL, работа с серверами приложений. (курсы JV_0, JV_1), опыт работы в среде IntelliJIDEA, Eclipse, JDeveloper, NetBeans
Программа
-
-
Необходимость использования мониторов компонентных транзакций. История развития CTM. Стандарты и спецификации EJB.
-
Краткое введение в протокол RMI. Реализация протокола различными разработчиками серверов приложений. Доступ к JNDI посредством RMI.
-
Стандарт EJB 2.X – краткий экскурс в историю
-
Стандарт EJB 3.
-
Общая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Два типа компонент – Сессионные и Управляемые событиями. Сущностные бины.
-
Порядок сборки, упаковки и отправки на сервер приложений модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
-
Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола.
-
Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Прокси объекты для доступа к бизнес методам. Локальные вызовы. Диаграмма состояния сессионных бинов.
-
Управление сессионным состоянием. Компоненты Singletons и компоненты с асинхронными методами. Возврат значения из асинхронного метода. Инъекции ресурсов сервера приложений в методы сессионных бинов. Бизнес транзакции и управление ими со стороны сервера приложений. Состояние транзакционного контекста. Использование XA источников данных в бизнес методах.
-
Методы управления доступом к компонентам. JAAS аутентификация и доступ к бизнес компонентам. Распределение ролей для выполнения различных методов. Методы и классы Interceptor, аннотация @AroundInvoke.
Доступ к ресурсам приложения и сервера из защищенных методов. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием.
-
Особенности конфигурации опций доставки компонент в контейнер Weblogic, JBoss.
-
Сущностные EJB. Файл persistance.xml. Создание модулей на основе соединений с базами данных с однофазным commit и на основе распределенных транзакций
-
Создание простейшего сущностного компонента на основе SQL запроса и таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс – аннотация @IdClass.
-
Конфигурация метаданных по таблицам и колонкам – аннотации @Table, @SecondaryTable. @Column. Связанные колонки – @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах Oracle - @Basic. Конфигурация больших объектов - @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
-
Определение методов жизненного цикла сущностной компоненты - @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
-
Конфигурация наследования в сущностных компонентах.
-
Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов – javax.management.Query.
-
Использование Façade-session компонент для доступа к локальным интерфейсам сущностных компонент. Фасадные компоненты и ADF DataControl. Быстрая разработка приложений с использованием JSP DataBinding
-
Компоненты, управляемые сообщениями (MDB). Аннотация @MessageDriven. Параллельные сообщения. Конфигурация Очередей и Топиков на различных серверах приложений. Механизмы повышения надежности хранения сообщений JMS. Различные типы хранилищ (Память, файл, база данных). Транзакции в MDB компонентах
-
Разработка полноценного WEB приложения для редактирования таблиц и осуществления навигации с использованием сущностных и сессионных компонент. Создание Бизнес компонент на основе EJB компонент. ORM TopLink и EJB компоненты.
-
Примеры разработки REST с использованием EJB компонент.
-