Разработка распределенных приложений с использованием EJB 3 — SynergyCom

Разработка распределенных приложений с использованием EJB 3

Код курса: IM-007 Продолжительность: 5 дней (40 часов)

Как Java кардинально изменила наши представления о разработке программного обеспечения, так же технология EJB изменила представления о разработке надежных и масштабируемых корпоративных систем. Курс покажет  общую архитектуру EJB, принципы построение систем с использованием этой технологии. Будут рассмотрены модели компонентов, мониторы компонентных транзакций. Будет дано  определение EJB и архитектура распределенных объектов. Различия в стандартах EJB 1.1, 2.0, 3.X Соглашения между компонентом и контейнером. Удаленный и локальный пользовательские интерфейсы. Типы EJB компонент. Особенности размещения EJB на JBoss, Weblogic  и других серверах. Конфигурация дескрипторов размещения и обеспечение безопасного доступа к EJB компонентам. Основы постоянства. Транзакции в распределенных системах. Построение Web приложений с использованием компонент EJB

Аудитория:
профессиональные разработчики Java, аналитики, руководители проектов, желающие переводить свои приложения в многозвенную архитектуру.

Начальная подготовка:
знание языка Java, SQL, работа с серверами приложений, опыт работы в среде IntelliJIDEA, Eclipse, JDeveloper, NetBeans.

  1. Необходимость использования мониторов компонентных транзакций. История развития CTM. Стандарты и спецификации EJB.
  2. Краткое введение в протокол RMI. Реализация протокола различными разработчиками серверов приложений. Доступ к JNDI посредством RMI.
  3. Стандарт EJBX – краткий экскурс в историю
  4. Стандарт EJB 3.
  5. Общая архитектура EJB Аннотации метаданных и дескрипторов доставки. Два типа компонент – Сессионные и Управляемые событиями. Сущностные  бины.
  6. Порядок сборки, упаковки и отправки на сервер приложений модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
  7. Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола.
  8. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Прокси объекты для доступа к бизнес методам. Локальные вызовы. Диаграмма состояния сессионных бинов.
  9. Управление сессионным состоянием. Компоненты Singletons и компоненты с асинхронными методами. Возврат значения из асинхронного метода. Инъекции ресурсов сервера приложений в методы сессионных бинов. Бизнес транзакции и управление ими со стороны сервера приложений. Состояние транзакционного контекста. Использование XA источников данных в бизнес методах.
  10. Методы управления доступом к компонентам. JAAS аутентификация и доступ к бизнес компонентам. Распределение ролей для выполнения различных методов. Методы и классы Interceptor, аннотация @AroundInvoke.

Доступ к ресурсам приложения и сервера из защищенных методов. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием.

  1. Особенности конфигурации опций доставки компонент в контейнер Weblogic, JBoss.
  2. Сущностные EJB. Файл persistance.xml. Создание модулей на основе соединений с базами данных с однофазным commit и на основе распределенных транзакций
  3. Создание простейшего сущностного компонента на основе SQL запроса и таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс – аннотация @IdClass.
  4. Конфигурация метаданных по таблицам и колонкам – аннотации @Table, @SecondaryTable. @Column. Связанные колонки – @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах Oracle — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
  5. Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
  6. Конфигурация наследования в сущностных компонентах.
  7. Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов – javax.management.Query.
  8. Использование Façade-session компонент  для доступа к локальным интерфейсам сущностных компонент. Фасадные компоненты и ADF DataControl. Быстрая разработка приложений  с использованием JSP DataBinding
  9. Компоненты, управляемые сообщениями (MDB). Аннотация @MessageDriven. Параллельные сообщения. Конфигурация Очередей и Топиков на различных серверах приложений. Механизмы повышения надежности хранения сообщений JMS. Различные типы хранилищ (Память, файл, база данных).  Транзакции в MDB компонентах
  10. Разработка полноценного WEB приложения для редактирования таблиц и осуществления навигации с использованием сущностных и сессионных компонент. Создание Бизнес компонент на основе EJB компонент. ORM TopLink и EJB компоненты.
  11. Примеры разработки REST с использованием EJB компонент.

Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.

Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.

Направления обучения

Поиск по сайту