Сучасних технологій зі створення веб-додатків дуже багато. Огляд цих технологій зібраний в одному місці — у цьому курсі. Він буде корисний розробникам, адміністраторам, архітекторам проектів. У курсі розповідається про сучасні розподілені обчислення, REST і мікросервіси, на готових прикладах будується розподілена мережа додатків на різних платформах і з використанням різних мов програмування.
За час проведення курсу слухачі ознайомляться з серверами Wildfly, NGINX, Node-Express, а саме — конфігурація, налаштування продуктивності, формування взаємодії з іншими серверами та системами. Побудують простий сервер з використанням Python. Таким чином буде побудована повна картина сучасної веб розробки.
Протягом курсу буде створено фронтальний додаток з використанням однієї з популярних бібліотек — React або Angular (за погодженням зі слухачами). А також буде розроблений проект для серверної частини, на основі технологій Jakarta EE (Стара назва — Java EE) для сервера додатків Wildfly.
Аудиторія
Курс буде корисний для розробників додатків масштабу підприємства, адміністраторів серверів додатків, керівників проектів, архітекторів ПО.
- Загальна архітектура сучасних веб-додатків
- Односторінкові додатки (SPA)
- Jakarta EE технологія на стороні сервера та бібліотеки для створення клієнтських додатків
- JSON для обміну даних між клієнтом та сервером
- Серверна частина — від монолітних додатків до мікросервісів і розподілених обчислень
- Сервер додатків Wildfly та його конфігураційні файли
- Gallеon — від веб-сервера до повного сервера додатків стандарту Jakarta EE
- Налаштування ресурсів доступу до даних баз даних Oracle і Postgresql
- Конфігурація асинхронних черг і розділів – JMS
- Пули об'єднань-визначень фабрик
- Конфігурація та налаштування
- Пули бінів масштабу підприємства
- Асинхронні MDB біни
- Сервіси взаємодії з поштовими серверами
- Загальна архітектура серверного додатку Jakarta EE
- Модулі та компоненти
- Управління метаданими додатків та компонентами
- Rest сервіси для обміну даними між фронтальною та серверними частинами додатку
- Розробка проекту з REST ресурсами
- Доступ до пулів баз даних сервера додатків
- Механізми JPA
- EntityManager
- Серіалізація об'єктів Java в JSON потоки
- Готові рішення для тестування серверних ресурсів
- Сервер на основі бібліотек Python
- Доступ з Python до баз даних Oracle і Postgresql
- Особливості роботи та конфігурації драйверів
- Написання тестового клієнту на NodeJS.
- Сервер Express — створення серверного додатку для роботи з базою даних Oracle і Postgresql
- Пули об'єднань
- Бібліотеки для роботи з базами даних
- NodeJS сервер — клієнт для інших серверів
- Технологія EJB3.x.
- Цикл життя сесіонних компонент
- Анотації, методи для управління циклом життя
- Проксі об'єкти для доступу до бізнес методів
- Локальні виклики
- Діаграма стану сесійних бінів
- Управління сесіонним станом
- Компоненти Singletons і компоненти з асинхронними методами
- Повернення значення з асинхронного методу
- Ін'єкції ресурсів сервера додатків в методи сесійних бінів
- Бізнес транзакції та управління ними з боку сервера додатків. Стан транзакційного контексту
- Використання XA джерел даних у бізнес-методах
- Методи управління доступом до компонентів
- JAAS аутентифікація та доступ до бізнес компонентів
- Розподіл ролей для виконання різних методів
- Методи та класи Interceptor
- Анотація @AroundInvoke
- Доступ до ресурсів додатку та серверу із захисних методів
- TimerService
- Створення компонентів для виконання дій за розкладом
- Публікация даних сервера додатків через REST сервіси
- Методи доступу до сервісів
- Створення тестового навантажувального клієнта для REST
- Взаємодія з поштовими серверами
- Додаток для виконання складної розподіленої транзакції з доступом до баз даних, JMS і поштових серверів
- Остаточне тестування розподіленого додатку
- Створення клієнтського веб додатку на прикладі бібліотек (frameworks) Angular або React
- Асинхронні веб-клієнти
- Створення шляхів навігації та зв'язування їх з компонентами
- Модуль маршрутизації
- Параметри маршруту, дочірні маршрути
- Побудова меню та визначення активних маршрутів
- Створення компоненту додатка, визначення місця розміщення активів (assets), організація підгруження статичного контенту на сторінку
- Визначення сервісів
- Взіємодія із сервісів з серверами додатків, створення сервісу з параметрами та повернення результату через Звернення (Promise)
- HTTPClient
- Особливості виконання методів POST і GET, обробка помилок, використання AJAX для асинхронного обміну байтовими потоками з серверами додатків
- Механізми Observable і Subscribe, використання Promise. Async — Await
- Використання результату роботи сервісів у компонентах
- Відображення даних у вигляді таблиць та дерев
- Використання CSS стилізації для даних, отриманих із сервісів
- Одностороннє зв'язування
- Обробка подій
- Двостороннє зв'язування
- Зв'язування через атрибути
- Технології FLUX і REDUX
- Єдине клієнтське сховище
- Hooks-React