Обзорный курс по веб-разработке

Во время курса слушатели познакомятся с серверами Wildfly, NGINX, Node-Express, а точнее — с конфигурациец, настройкой производительности, формированием взаимодействия с другими серверами и системами. Построят простой сервер с использованием Python. Таким образом, слушателям будет представлена полная картина современной веб-разработки. На протяжении курса вы создадите фронтальное приложение с использованием одной из популярных библиотек — React или Angular (по согласованию). А также разработаете проект для серверной части, на основе технологий Jakarta EE (Старое название — Java EE) для сервера приложений Wildfly.

  Для кого:

Курс будет полезен для:

  • разработчиков приложений масштаба предприятия,
  • администраторов серверов приложений,
  • руководителей проектов,
  • архитекторов ПО.
  • Что должен знать слушатель

    Вы должны иметь базовые знания операционной системы Windows X.X или Linux. Основы процедурного и объектно-ориентированного программирования.

    Программа обучения

    Модуль 1 Общая архитектура современных веб приложений и почему мы переходим в SPA (Одностраничные приложения)▼

    • 1.1 Jakarta ЕЕ. Технология на стороне сервера и библиотеки для создания клиентских приложений
    • 1.2 JSON для обмена данными между клиентом и сервером

    Модуль 2 Серверная часть — от монолитных приложений к микросервисам и распределенным вычислениям

    Модуль 3 Сервер приложений Wildfly и его конфигурационные файлы▼

    • 3.1 Gallеon — От веб сервера до полного сервера приложений стандарта Jakarta EE
    • 3.2 Настройка ресурсов доступа к данным баз данных Oracle и Postgresql
    • 3.3 Конфигурация асинхронных очередей и разделов — JMS, распределенные транзакции и пулы соединений-определение фабрик

    Модуль 4 Пулы бинов масштаба предприятия▼

    • 4.1 Асинхронные MDB бины
    • 4.2 Сервисы взаимодействия с почтовыми серверами-конфигурации, их настройка

    Модуль 5 Общая архитектура серверного приложения Jakarta EE▼

    • 5.1 Модули и компоненты
    • 5.2 Управление метаданными приложения и компонентами

    Модуль 6 Rest сервисы для обмена данными между фронтальной и серверными частями приложения▼

    • 6.1 Начинаем разработку проекта с REST ресурсами
    • 6.2 Доступ к пулам баз данных сервера приложений, механизмы JPA
    • 6.3 Общий интерфейс управления реляционными сущностями — EntityManager
    • 6.4 Сериализация объектов Java в JSON потоки
    • 6.5 Готовые решения для тестирования серверных ресурсов

    Модуль 7 Сервер на основе библиотек Python▼

    • 7.1 Доступ из Python к базам данных Oracle и Postgresql
    • 7.2 Особенности работы и конфигурации драйверов

    Модуль 8 Написание тестового клиента на NodeJS▼

    • 8.1 Сервер Express — создание серверного приложения для работы с базой данных Oracle и Postgresql
    • 8.2 Пулы соединений, библиотеки для работы с базами данных
    • 8.3 NodeJS сервер — как клиент для других серверов

    Модуль 9 Технология EJB3.x▼

    • 9.1 Цикл жизни сессионных компонент
    • 9.2 Аннотации, методы для управления циклом жизни
    • 9.3 Прокси объекты для доступа к бизнес методам
    • 9.4 Локальные вызовы
    • 9.5 Диаграмма состояния сессионных бинов

    Модуль 10 Управление сессионным состоянием▼

    • 10.1 Компоненты Singletons и компоненты с асинхронными методами
    • 10.2 Возврат значения из асинхронного метода
    • 10.3 Инъекции ресурсов сервера приложений в методы сессионных бинов
    • 10.4 Бизнес транзакции и управление ими со стороны сервера приложений
    • 10.5 Состояние транзакционного контекста
    • 10.6 Использование XA источников данных в бизнес методах

    Модуль 11 Методы управления доступом к компонентам▼

    • 11.1 JAAS аутентификация и доступ к бизнес компонентам
    • 11.2 Распределение ролей для выполнения различных методов
    • 11.3 Методы и классы Interceptor, аннотация @AroundInvoke

    Модуль 12 Доступ к ресурсам приложения и сервера из защищенных методов▼

    • 12.1 TimerService
    • 12.2 Создание компонентов для выполнения действий по расписанию

    Модуль 13 Публикация данных сервера приложений через REST сервисы▼

    • 13.1 Методы доступа к сервисам
    • 13.2 Создание тестового нагрузочного клиента для REST

    Модуль 14 Взаимодействие с почтовыми серверами▼

    • 14.1 Пример приложения для выполнения сложной распределенной транзакции с доступом к базам данных
    • 14.2 JMS и почтовым серверам
    • 14.3 Окончательное тестирование распределенного приложения

    Модуль 15 Создание клиентского веб приложения на примере библиотек (frameworks) Angular или React▼

    • 15.1 Асинхронные веб клиенты
    • 15.2 Создание путей навигации и связывание их с компонентами
    • 15.3 Модуль маршрутизации
    • 15.4 Параметры маршрута, дочерние маршруты
    • 15.5 Построение меню и определение активных маршрутов

    Модуль 16 Создание компонента приложения, определение места размещения активов (assets), организация подгрузки статического контента на страницу▼

    • 16.1 Определение сервисов
    • 16.2 Взаимодействие из сервисов с серверами приложений, создание сервиса с параметрами и возвращением результата через Обещание (Promise)
    • 16.3 HTTPClient
    • 16.4 Особенности выполнения методов POST и GET, обработка ошибок, использование AJAX для асинхронного обмена байтовыми потоками с серверами приложений
    • 16.5 Механизмы Observable и Subscribe, использование Promise
    • 16.6 Async — Await

    Модуль 17 Использование результата работы сервисов в компонентах▼

    • 17.1 Отображение данных в виде таблиц и деревьев
    • 17.2 Использование CSS стилизации для данных, полученных из сервисов
    • 17.3 Одностороннее связывание, обработка событий
    • 17.4 Двустороннее связывание, через атрибуты
    • 17.5 Технологии FLUX и REDUX
    • 17.6 Единое клиентское хранилище
    • 17.7 Hooks-React — легкое введение