- Общая архитектура современных веб приложений и почему мы переходим в 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 — легкое введение.