Язык программирования Java. Создание приложений для работы с базами данных - технологии ORM (Hibernate, TopLink)

В данный момент идет прием заявок на курс.
Мы можем сообщить вам о начале
запланированного обучения


Код: JV_Advanced
Длительность: 40 ак.ч.
Стоимость: 44 535 р.

Стоимость индивидуального обучения: 61 985 руб.



Цель: Дать слушателям знания по разработке корпоративных Java EE приложений на основе каркаса Spring/Spring boot.

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


Предварительный уровень подготовки: Обязательное знание диалекта 1.8 языка Java на уровне JavaSE8Core. Желательно понимание обобщённых типов Java и фреймворка коллекций Java.

По окончанию курса Вы:

·         Знакомство с архитектурой корпоративных приложений на Spring, Spring IOC, Spring AOP, Spring Data JPA (ORM), Spring REST/JSON/HATEOAS API.

·         Знакомство с моделью MVC в парадигме Single Page Application (SPA) + REST/JSON API.

·         Знакомство с реализацией Websockets в Servlet-контейнере.

·         Изучение систем сборок проектов maven/gradle, упаковка микросервисов в кконтейнеры Docker.

Знакомство с защитой данных, аутентификацией и авторизацией

Документ об окончании курса: Сертификат учебного центра ЮНИТ

Регистрация на курс:
1.            По электронной почте. Отправьте сообщение на адрес edu@unitgroup.ru, с указанием: названия предприятия, ФИО участников, их должностей, контактных телефонов и e-mail.
2.            По телефону +7(343) 344-25-60 Учебный центр Юнит.

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

Модуль 1. Основы Spring Framework (3 ак. часа)

·         Введение в Spring Framework;

·         Архитектура каркаса;

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

Модуль 2. Spring DI & IOC (5 ак. часов)

      ·   Что это?

      ·   Различие между DI и IOC

      ·   Концепция Бина

      ·   Бины как разделяемые сервисы

      ·   Время жизни и жизненный цикл бина

      ·   Аннотации Spring

              -  @Bean

              -  @Service

              -  @Component

              -  @Configuration

              -  @PostConstruct

              -  etc.

      ·   Базовое знакомство с Spring XML и аннотациями (4 ак. часа)

      ·   Способы создания бинов:

              -   Через метод

              -   Через конструктор

              -   Декларативно

              -   Императивно

      ·   Автосвязывание

      ·   Управление порядком загрузки бинов

      ·   BeanPostprocessor's

Модуль 3. Spring Data (4 ак. Часа)

      ·   Абстракции доступа к данным в Spring

              -   Spring Data

              -   Spring Data Adapters (JPA, Mongodb, Net4j, etc.)

              -   Spring JDBC Template

              -   Connection pools (Hikari, etc.)

              -   JDBC & native nosql database connectors

Модуль 4. JPA (4 ак. часа)

      ·   Entity Manager Fabric

      ·   Entity Manager

      ·   Entity (Единица персистентности, PU)

      ·   Аннотации JPA

      ·   Структура базы данных, объекты и их отношения

      ·   Lazy loading

      ·   Транзакции и блокировки

      ·   JPQL (JPA Query Language)

      ·   @Query и @NativeQuery

      ·    Проблемы возвращения результатов в жёстко типизированной Java

      ·    Criteria API

      ·    Различие EM и Spring Repository

      ·    Устранение проблем Spring Repository

      ·    Отображение поисковых запросов JPA на методы поиска в интерфейсе репозитория Spring Data

Модуль 5. MongoDB (2 ак. часа)

      ·    Структура запросов

      ·    Отображение поисковых запросов MongoDB на методы поиска в интерфейсе репозитория Spring Data  

Модуль 6. Философия Spring Boot (2 ак. часа)

      ·    Соглашения над конфигурацией: Spring Boot Starters

      ·    Embedded servlet containers: tomcat/jetty/undertow

      ·    Конфигурация и конфигурации по умолчанию

              -   Java конфигурации

              -   Создание классов конфигурации компонентов Spring

              -   Предыинициализация классов конфигурации из файлов *.properties и .yml

              -   Чтение конфигурации из environment

              -   Использование распределённой конфигурации из Spring Cloud Config

              -   Классическая конфигурация на XML

              -   Конфигурация на Groovy DSL

Модуль 7. Сборка и отладка проектов (6 ак. часов)

      ·    Консольные средства сборки

              -    Ant

              -    Maven

              -    Gradle

      ·    Интеграция описания проекта на Maven/Gradle с IDE (Intellij/Eclipse/Netbeans)

      ·    Средства контроля версий, DVCS. Git

      ·    Поддержка Spring/spring boot в Intellij Idea и STS(Eclipse)

Модуль 8. Способы реализации REST(Json, XML) API в Spring/Spring boot (3 ак. Часа)

      ·    Spring Data REST/HATEOAS

      ·    Spring MVC: @Controller, @RestController

      ·    Jhipster DAO/DTO/Swagger

      ·    Скаффолдинг доменной модели в Spring Data REST и Jhipster (автоматическая генерация сущностей, репозитариев и клиентского API для Angupar/AngularJS, React)

      ·    Самодокументированные API: HATEOAS(Spring Data REST) и Swagger(Jhipster и "чистый" Spring)

      ·    Способы построения API, альтернативные REST

              -    Facebook GraphQL

              -    Microsoft Odata

              -    Старые злые Web Services (WS)

              -    Проблемы аутентификации/авторизации на молодёжных GraphQL и Odata. Spring Security не помогает.

Модуль 9. Использование API из клиентов (3 ак. часа)

      ·     Java/Groovy

      ·     JavaFX

      ·     Vaadin

      ·     Android

      ·     JS (browser/nodejs)

      ·     Аспекты потребления API из React/Redux и Angular 5

Модуль 10. Микросервисы. Netflix stack, Spring Cloud и микро-сервисная архитектура Jhipster (2 ак. часа)

      ·     Если есть возможность обойтись без микро-сервисов, не открывайте этот ящик Пандоры!

      ·     Spring Cloud Config

      ·     Zookeeper (Distributed ierarchical key-value storage с избыточностью). Windows Registry на стероидах.

      ·     Netflix Eureka (Service Discovery)

      ·     Netflix Zool (Service Gateway) и Jhipster Gateway

      ·     Netflix Hystrix (Circuit Breaker)

      ·     Netflix Ribbon (Client Side Load Balancer) и Jhipster Gateway

      ·     Обзор средств запуска и контроля за микро-сервисами

              -    Docker/Docker swarm

              -    Mesos/DCOS

              -    Kubernetes

              -    Hadoop/YARN

Модуль 11. Security (2 ак. часа)

      ·     Современные протоколы авторизации и аутентификации

      ·     Stateless-аутетнтификация в REST-сервисах

              -    Basic

              -    Oauth2

              -    JWT

              -    Spring Sequrity

      ·     Общие концепции и конфигурация библиотеки

      ·     Связывание security-объектов с базой данных

      ·     Хранение токенов

      ·     Method-based vs URL-based security

      ·     Сервер UAA (User Accounts & Autentification) из Jhipster

      ·     Сервер UAA на чистом Spring Boot