В данном курсе подробно рассматривается работа с файлами и данными, разработка административного пользовательского интерфейса, развертывание приложений, подсистема управления доступом
Этот курс для тех, кому нужно эффективнее создавать проекты на Jmix
Начинающие разработчики
быстро изучат и в дальнейшем смогут использовать механизмы и инструменты Jmix для решения ваших бизнес-задач.
Опытные разработчики
расширят свои возможности через углубленное изучение механизмов и инструментов платформы.
Что вы узнаете и научитесь делать?
Использовать систему управления доступом
Создавать и назначать роли. Рассмотрим пример регистрации и активации пользователей. Разберем интеграцию с внешним сервисом аутентификации на примере KeyCloak SSO.
Подготавливать приложения к развертыванию в продуктовой среде правильно
Также мы изучим доступные способы сборки приложения - от JAR до собственного многослойного образа Docker.
Создавать типовой пользовательский интерфейс с множеством доступных компонентов
Стилизовать приложения Jmix, создавать собственные компоненты интерфейса, создавать обработчики событий интерфейса.
Создавать модель данных приложения, получать доступ к данным
с использованием разнообразных подходов программно и декларативно. Выгружать файлы на сервер, отображать их в пользовательском интерфейсе, инициировать загрузку файлов из браузера.
Новая цена
Старая цена 23 000₽
Количество мест ограничено!
без учета НДС
16 990₽
АКЦИЯ
NEW
Программа
Хранение файлов в приложении - подходы и реализация в Jmix
Поле byte[] в сущности
Сервис “FileStorage” - архитектура и использование
Работа с файлами в административном пользовательском интерфейсе Компоненты FileUploadField, FileStorageUploadField и Image
Типы сущностей в Jmix
Аннотации фреймворка Jmix для сущностей
Хранилище данных. Поддерживаемые БД
Несколько хранилищ. Ссылки на сущности из разных хранилищ данных
Черты сущности: Versioned, Audit, Has UUID, SoftDelete
Сущности типа “ключ-значение”
Состояние сущности
Версионирование БД. Инструмент Liquibase
Нестандартные типы данных (конвертеры JPA)
Сервис Entity Manager. Использование и управление транзакциями
Граф сущностей для выборки
Сервисы DataManager и EntityManager. Сходства и различия
Безопасность данных и DataManager
Кэш данных и запросов. Настройка
Обратные вызовы JPA
События жизненного цикла сущностей
Оптимистичная и пессимистичная блокировки
Подготовка приложения к развертыванию ○ Список необходимых проверок
Профили выполнения
Типы артефактов для развертывания ○ Fat JAR ○ WAR ○ Образ Docker
Обзор сред выполнения приложения ○ Выделенный сервер ○ Контейнер ○ Облачная среда выполнения
Схемы развертывания приложения
Безопасность передачи данных
Обеспечение отказоустойчивости ○ Кластеризация приложения ○ Репликация БД
Средства мониторинга и диагностики приложений
Роли - продвинутые темы
Области действия
Специфичные политики
Ограничения доступа к данным
Порядок применения ограничений
Обход ограничений в бизнес-логике
Анонимный доступ к UI приложения
Программное управление пользователями
Особенности модели данных пользователей и ролей
Реализация сценария регистрации и активации пользователей
Дополнительные возможности подсистемы безопасности
Системная аутентификация
События аутентификации
Работа со справочником пользователей в аддонах Jmix. UserDetails, UserRepository, UserManager
Внешние сервисы аутентификации
Интеграция c KeyCloak SSO
Views - экраны в Jmix
Открытие экранов – ViewsNavigation и DialogWindows API
Маршрутизация и навигация
Экранные уведомления и диалоги
Фоновые задачи
Фасеты – не визуальные компоненты экранов
Расширение функциональности экранов и работа с шаблонами экранов
Шина событий – глобальные события в Jmix
Ленивая загрузка данных в экранах
Стилизация приложений Jmix
Правила компоновки визуальных компонентов
Создание собственных классов действий
Создание компонентов пользовательского интерфейса
Дополнительная секция: Полностью программное создание экранов
+ ДОМАШНИЕ ЗАДАНИЯ С ПРОВЕРКОЙ ТРЕНЕРОМ
Вам будет помогать тренер и команда Jmix
Тренер ответит на все возникшие вопросы, проверит домашнее задание и подскажет, как использовать возможности Jmix по максимуму. Также на связи эксперты core-команды, которые помогут решить любые задачи.