info@lionsoft.ru Оставить заявку

Курс EJB 3.2, JPA 2.2


Курс "EJB 3.2, JPA 2.2 – технология разработки бизнес компонентов в Java EE8"


Курс рассчитан как на аудиторию, знакомую с основными принципами и моделью программирования Java Enterprise Edition, так и на начинающих изучение со спецификации Java EE8.
Длительность курса: 5 дня. Курс проводится в офисе компании заказчика или дистанционно. 
Стоимость - 5000 рублей в день с каждого слушателя. При большой группе возможны скидки. Максимальный размер одной группы 10-15 человек. 
В курсе "EJB 3.2, JPA 2.2 – технология разработки бизнес компонентов в Java EE8"основное внимание уделяется рассмотрению новой модели программирования бизнес-компонентов с применением новой спецификации Java Enterprise Edition 8, изучаются компоненты EJB 3.2, CDI 2.0, JPA 2.2, REST и SOAP web сервисы, работа с JSON: JSON-P, JSON-B, WebSocket 1.1, JMS 2.0, поддержка транзакций, безопасность Java EE приложений. 

Программа курса 

1. Введение в EJB

  • Использование EJB, компонентный подход к разработке программного обеспечения.
  • Типы EJB.
  • Преимущества применения EJB.
  • Когда применять EJB?

2. Нововведения Java EE8, сервер GlassFish 5 и Payara, архитектура.

  • История спецификации EJB, от EJB 2.0/2.1 к EJB 3.0 и EJB 3.2.
  • Сервер приложений GlassFish 5.
  • Новое в Java EE7: обновление спецификаций EJB и JPA, JSON, WebSocket, Concurrency Utilities, Batch processing, JMS 2.0.
  • Новые спецификации Java EE8: Java EE Security API 1.0, JSON-B 1.0.
  • Новое в Java EE8: обновление спецификаций: JSF 2.3, CDI 2.0, JPA 2.2, Bean Validation 2.0, JSON-P 1.1, JAX-RS 2.1, WebSocket 1.1, Servlet 4.0.
  • Профили в спецификации Java EE8: Full profile и Web profile, EJB 3.2 Lite.
  • Нововведения EJB 3.2.
  • Бизнес-интерфейсы, Local и Remote.
  • CDI - внедрение зависимостей и JNDI.
  • Callback (обратные вызовы) методы и Interceptors (перехватчики) вызовов бизнес методов.
  • Упаковка, конфигурирование и размещение Enterprise приложений.

3. EJB 3.2 Session Beans

  • Модель Session Beans: бизнес интерфейс и класс Session Bean.
  • Соглашения об именовании, глобальное именование (Global JNDI names).
  • Асинхронный вызов, встроенные контейнеры.
  • Применение аннотаций для создания Session Beans.
  • Stateless Session Beans, создание, вызов, область применения.
  • Singleton Session Beans, создание, вызов, область применения.
  • Stateful Session Beans, их отличия, активация и пассивация, создание, вызов, область применения.
  • Встраиваемый API контейнера.
  • Лабораторная работа.

4. Цикл жизни EJB, Callback и Interceptors

  • Цикл жизни Stateless Session Beans и Singletons.
  • Цикл жизни Stateful Session Beans.
  • Callback методы для Session Beans.
  • Interceptors (перехватчики) вызовов бизнес методов.
  • Лабораторная работа.

5. Клиенты для Session Beans

  • Использование Enterprise Session Beans в клиентах.
  • Синтаксис поиска ссылки на Bean в JNDI.
  • Выбор между Local и Remote доступом.
  • Local и Remote клиенты.
  • Вызов EJB из другого EJB.

6. EJB 3.2 Timer service

  • API для создания и управления EJB таймерами.
  • Создание EJB Timer: программный и декларативный способ.
  • Примеры приложений.

7. Работа с XML и JSON

  • API для работы с JSON: JSON-P и JSON-B.
  • Связывание данных и XML, спецификация JAXB 2.2.

8. Web-сервисы в Java EE8, новый API WebSocket 1.1

  • RESTful web-сервисы по спецификации JAX-RS 2.1.
  • Java API for WebSocket 1.1.
  • Введение в Web-сервисы по спецификации JAX-WS 2.2.

9. Java Persistence API 2.2

  • Модель POJO Persistence.
  • Краткая история спецификации Java Persistence API, нововведения JPA 2.2.
  • Базовые концепции Java Persistence API, Entities.
  • Конфигурирование JPA, Persistence Unit, persistence.xml, генерация схемы БД.
  • Требования к Entity (классам сущностей), первичные ключи в классах сущностей.
  • Управление сущностями, Entity Manager API, Persistence Context.
  • Поиск по первичному ключу, осуществление доступа к сущностям.
  • Применение JPA-QL, именованные запросы, параметризованные запросы.
  • Хранимые процедуры.
  • Criteria Query API.
  • Валидация сущностей, Bean Validation.
  • Кэширование.
  • Жизненный цикл Entity, методы обратного вызова жизненного цикла, Entity Listeners.
  • Синхронизация с базой данных, прямое манипулирование данными сущностей.
  • Транзакции и блокировки, оптимистическое блокирование, явная блокировка на чтение и запись.
  • О механизме обнаружения конфликта транзакций.
  • Особенности BLOB and CLOB типов.

10. Наследование и реляционные отношения в JPA

  • Общие правила наследования Entities.
  • Управление наследованием - аннотации.
  • Стратегии наследования.
  • Типы отношений между Entities.
  • Однонаправленные и двунаправленные отношения.
  • Отношение типа "Один-к-Одному".
  • Отношение типа "Один-к-Многим" и "Многие-к-Одному".
  • Отношение "Многие-к-Многим".
  • Каскадирование операций.

11. Транзакции в Java EE

  • Необходимость использования транзакций, принцип ACID, локальные и распределенные (XA) транзакции.
  • Container-managed транзакции.
  • Bean-managed транзакции.
  • Client controlled транзакции.
  • Изоляция транзакций.

12. Безопасность в Java EE

  • Принципы обеспечения безопасности в Java EE.
  • Принципалы и роли, Authentication и Authorization.
  • Безопасность на уровне EJB - Declarative Security и Programmatic Security.
  • Безопасность на уровне клиента EJB.
  • Безопасность на уровне web сервисов.
  • Java EE Security API 1.0.

13. Message Driven Beans и система передачи сообщений JMS 2.0

  • Введение в JMS.
  • Обеспечение надежности JMS приложений.
  • Использование Message-Driven Beans (MDB) как клиента для JMS.
  • Основные свойства MDB.
  • Жизненный цикл MDB.
  • Пример написания Message-Driven bean.

В конце обучения на курсе проводится итоговая аттестация в виде теста или на основании оценок за практические работы, выполненных в процессе обучения.




Заявка