Курс Язык программирования Java. Создание приложений для работы с базами данных – технологии ORM

Код: IT Cloud-JV-ORM

Продолжительность курса

40 Академических часов

   Курсы по созданию корпоративных приложений с доступом к базам данных с помощью технологии ORM, защиты данных как на уровне доступа методам объектов, так и на уровне паттернов URL. Репрезентации данных различными способами (JSON/REST, прямое обращение, очереди сообщений). Современная модель взаимодействия клиент-сервер с помощью REST/JSON/HATEOAS без рендеринга страниц на сервере.

Углублённое изучение технологии ORM на основе спецификации JPA, реализуемой фреймворками Hibernate или EclipseLink. Нюансы отображения реляционной модели базы данных на иерархическую объектную модель Java, типы отношений таблиц и их реализация в коде Java. Аннотации JPA, Spring и Java EE, полная конфигурация приложения с помощью аннотаций. Конфигурация приложения с помощью файлов xml. Императивная конфигурация приложений вызовом методов Java.

Использование JPA без Spring, либо какого-либо другого Java-EE контейнера в «чистых» консольных и графических приложениях.

Клиентские части приложений. Web Browser Single Page Application (SPA), графического фреймворка Java FX8, а также краткий обзор методов взаимодействия из приложений на телефонах и десктопных приложений, реализованных на других технологических стеках (.Net, WinRT, Cocoa(OSX, iOS), Android/java)

Сборка проектов. Организация кросплатформенной, независимой от платформы и IDE системы сборки проекта на основе Maven и Gradle. Консольная сборка. Импортирование сборки в Eclipse, NetBeans и Intellij IDEA. Типы исполняемых приложений Java и их упаковка. Файлы манифеста. Разворачивание приложения на Servlet-контейнере (Tomcat, Jboss, Glassfish, Jetty и т. д.).

Оптимизация скорости работы и потребления ресурсов приложениями. Архитектурные паттерны, кэши, другие вопросы.

Стоимость курса

40 425 руб
Заказать

Цели курса:

Обучить созданию полных корпоративных приложений с доступом к реляционным данным по модели ORM

Аудитория

Курс предназначен для специалистов в области корпоративных приложений на Java

От слушателя требуется

Обязательное знание диалекта 1.7 языка Java на уровне IT Cloud_JV_CORE (Core Java). Желательно понимание обобщённых типов Java и фреймворка коллекций Java

Содержание курса

Модуль 1. Основы Spring Framework

  • Введение в Spring Framework;
  • Архитектура каркаса;

  • Компонентная модель Spring.


Модуль 2. AOP в Spring

  • Основные понятия;
  • Типы advice’ов;

  • Особенности Spring AOP;

  • Пример использования AspectJ style;

  • Практика: использование AspectJ style.

Модуль 3. Доступ к данным в Spring

  • Интеграция Spring с JNDI;
  • Основные положения. Шаблон DAO;

  • Поддержка JDBC в Spring;

  • Поддержка ORM в Spring;

  • Управление транзакциями в Spring.

Модуль 4. Spring MVC

  • Шаблон MVC;
  • Введение в Spring Web MVC;

  • Контроллеры;

  • Представления;

  • Локализация/интернационализация;

  • Темы;

  • Библиотека тегов Spring;

  • Неявная настройка;

  • Аннотации;

  • Практика: разработка простейшего приложения с использованием Spring MVC, локализация, темы оформления, исключения.


Модуль 5. Spring Security

  • Базовые абстракции;
  • Конфигурация;

  • Интеграция со средой Web.


Модуль 6. Аутентификация

  • Базовые абстракции и сервисы;
  • Form-based аутентификация;

  • HTTP Basic аутентификация;

  • Anonymous аутентификация;

  • Remember-Me аутентификация;

  • Управление HTTP-сессиями.

 

Модуль 7. Авторизация

  • Базовые абстракции и сервисы;
  • Авторизация на уровне HTTP-запросов;

  • Авторизация на уровне методов классов;

  • Domain Objects Security (ACL).


Модуль 8. Обзор Java Persistence API

  • Основы объектно-реляционного отображения (Object Relational Mapping (ORM));
  • Основные понятия Java Persistence API (сущность (entity), менеджер сущности, и единица персистентности (persistence unit));

 

Модуль 9. Знакомство с примитивным JPA-приложением


Модуль 10. Сущности Java Persistence API

  • Различия между объектами и сущностями;
  • Различия между персистентными полями и свойствами;

  • Общие аннотации Java Persistence API: @Entity, @Id, @Table, и @Column;

 

Модуль 11. Менеджер сущности

  • Отношения между менеджером сущности, контекстом персистентности и единицей персистентности;
  • Различия между менеджером сущности, управляемым через контейнер и менеджером сущности, управляемым через приложение;

  • Жизненный цикл сущности;

 

Модуль 12. Моделирование отношений сущностей:

  • Ассоциативные отношения в моделях данных и объектных моделях;
  • Использование свойств взаимоотношений для определения ассоциаций;

  • Реализация однонаправленных ассоциаций «один к одному»;

  • Реализация двунаправленных ассоциаций «один к одному»;

  • Реализация двунаправленных ассоциаций «многие к одному» / «один ко многим»;

  • Реализация двунаправленных ассоциаций «многие ко многим»;

  • Реализация однонаправленных ассоциаций «многие ко многим»;

  • Установки режимов fetch и cascade;

 

Модуль 13. Наследование сущностей и объектно-реляционное отображение:

  • Наследование сущностей;
  • Стратегии объектно-реляционного отображения иерархии наследования;

  • Наследование от класса сущности;

  • Наследование с использованием соответствующего родительского класса;

  • Наследование от класса не-сущностей;

  • Стратегии отображения наследования;

  • Использование вложенного класса;

 

Модуль 14. Персистентные Enums и коллекции

  • Персистентные сущности, содержащие enums с @Enumerated;
  • Персистентные сущности, содержащие списки с @ElementCollection;

  • Персистентные сущности, содержащие отображения с @ElementCollection;

 

Модуль 15. Введение в запросы

  • Нахождение сущности по ее первичному ключу;
  • Основные запросы Java Persistence API Query Language;

  • Собственно SQL-запросы;

  • Основные запросы Criteria API;

 

Модуль 16. Использование Java Persistence API Query Language

  • Java Persistence API Query Language;
  • Создание и использование предложения SELECT;

  • Создание и использование предложения UPDATE;

  • Создание и использование предложения DELETE;

 

Модуль 17. Использование Java Persistence API Criteria API

  • Сравнение запросов, используемых в Criteria API с запросами, используемыми в Java Persistence query language;
  • Метамодельный объектный подход к запросам;

  • Создание запросов Criteria API;


Модуль 18. Использование Java Persistence API в Контейнере

  • Использование Java Persistence API из сервлета;
  • Использование Java Persistence API из сеансовой компоненты;

 

Модуль 19. Реализация транзакций и блокировки

  • Управление разграничением транзакций;
  • Реализация транзакций под управлением контейнера (CMT);

  • Программное взаимодействие с текущей CMT-транзакцией;

  • Реализация транзакций под управлением компонент (BMT);

  • Применение транзакций к Java Persistence API;

 

Модуль 20. Расширенные вопросы Java Persistence API

  • Задание составных первичных ключей;
  • Переопределение соответствия с помощью аннотаций @AttributeOverride и @AssociationOverride;

  • Прослушиватели событий и методы обратного вызова.


Модуль 21. Использование Spring Data Rest API


Модуль 22. Использование SPA (Single Page Applications)


Модуль 23. Использование JPA из JavaFX


Модуль 24. Интеграция с другими технологиями и приложениями