Разработка приложений масштаба предприятия с использованием SPRING и библиотеки REACT
Подробнее о курсе
Краткое описание курса
Данный курс охватывает проектирование и создание SPRING приложений серверного звена с использованием технологий JPA-ORM для доступа к базе данных, RESTful web сервисов. Для разработки клиентской части будет использована библиотека REACT и язык ECMA скрипт (JavaScript)
Курс предусматривает самостоятельное изучение тематики в объеме, сопоставимым с очным обучением
Целевая аудитория курса
- Разработчики J2EE
- Разработчики Java
- Разработчики WEB JS
Получаемые знания и навыки
По окончании курса слушатели изучат
- Механизмы создания Java SPRING приложений серверного звена с доступом к базам данных (Postgresql)
- Использование библиотеки JS — React для создания клиентских приложений с использованием механизмов Hooks (перехватчики) и асинхронных механизмов доступа к серверным компонентам SPRING
Цели курса
- Создание серверных приложений с использованием Java SPRING
- Создание клиентских приложений с использованием библиотеки REACT
- Сравнение технологий SPRING с JEE
Предварительно рекомендуется прослушать курс(ы)
Краткое содержание программы
Модуль 1 — Архитектура современных приложений — Микросервисы, SPA приложения
- Общая архитектура стандартного сервера приложений JEE. Инсталляция сервера, управление службами и сервисами. Консоль управления сервером для решения тестовых задач разработчика.
- Почему мы используем SPRING для создания серверных приложений. Сравнение технологий SPRING с технологиями JEE
Модуль 2 — Основы Spring Framework
- Введение в Spring Framework;
- Архитектура каркаса;
- Компонентная модель Spring.
Модуль 3 — Spring Boot
- Соглашения над конфигурацией: Spring Boot Starters
- Использование Web сервера в качестве контейнера серверного приложения tomcat/undertow(на примере Wildfly сервера)
- Конфигурация и конфигурации по умолчанию
- Java конфигурации
- Создание классов конфигурации компонентов Spring
- Предыинициализация классов конфигурации из файлов *.properties и .yml
- Чтение конфигурации из environment
- Использование распределённой конфигурации из Spring Cloud Config
- Классическая конфигурация на XML
Модуль 4 — Spring DI & IOC
- Что это?
- Концепция Бина
- Бины как разделяемые сервисы
- Время жизни и жизненный цикл бина
- Баовые аннотации Spring
- @Bean
- @Service
- @Component
- @Configuration
- @PostConstruct
- Способы создания бинов:
- Через метод
- Через конструктор
- Декларативно
- Императивно
- Автосвязывание
- Управление порядком загрузки бинов
Модуль 5 — Spring Data
- Абстракции доступа к данным в Spring
- Spring Data
- Spring Data Adapters (JPA, Postgresql)
- Spring JDBC Template
- Реализация пула соединений с базой данных Postgresql с использованием SPRING и сравнеие с класическим пулом на основе JEE Wildfly сервера
Модуль 6 — JPA
- Entity Manager — абстрактный механизм управления данными в реляционных базах данных
- Методы и интерфейсы Entity Manager
- Выполнение стандарных DML операций в базе данных с использованием EM
- Аннотации JPA
- Транзакции и блокировки
- JPQL (JPA Query Language)
- @Query и @NativeQuery
- Проблемы возвращения результатов в жёстко типизированной Java
- Различие EM и Spring Repository
- Отображение поисковых запросов JPA на методы поиска в интерфейсе репозитория Spring Data
Модуль 7 — RESTful Web сервисы
- RESTful архитектура и ее применение к web сервисам
- Проектирование RESTful web сервиса и определение ресурсов
- Выбор правильного HTTP метода в случае, когда нужно избегать дублирования запросов
- Определение статуса результата Web сервиса по коду HTTP отклика
- Версионирование RESTful web сервисов
Модуль 8 — Взаимодействие с другими ресурсами масштаба предприятия из SPRING приложений
- KAFKA сервер
- Apache Active MQ сервер
- Организация доступа — дополнительные библиотеки
- Асинхронное взаимодействие
- Spring Security: Архитектура
- Spring Security: Механизмы аутентификации
- Spring Security: Авторизация
- Spring Security: ACL
Модуль 9 — Создание клиентских приложений
- Введение в SPA приложения. Что такое реактивное приложение. Виртуальный DOM приложения.
- Создание минимального React приложения, утилита create-react-app, анатомия и внутренняя архитектура каталогов, React объект — как точка входа в приложение.
- Синтаксический сахар — React-JSX для функции createElement. Спецификация типов элементов, область видимости и нотации JSX. Правила именования. Свойства JSX элементов и литералы.
- Использование функции fetch для доступа к микросервисам SPRING. Описание прокси для сервера разработки.
- Обработка ошибок сервера на стороне клиентского приложения. Выстраивание цепочки выполнения запросов к серверу в единый промис на конкретных примерах SPRING микросервисов.
- Построение готового клиентского приложения с обработкой отношения мастер-деталь, изменением данных в базе данных и формированием отчетов.