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