Java SE11. Уровень 2. Разработка клиент - серверных приложений (JAVASE11-2)

Программа курса

Введение
Обзор Rich Client приложений (RIAs). Обзор JavaFX.

Приложение Broker Tool
Обзор BrokerTool. Описание BrokerTool схемы базы данных. Обзор приложения Henley Automobile.

Обзор JavaFX
Демонстрация простых JavaFX приложений. Что такое JavaFX? Обзор JavaFX API. Что такое JavaFX Scene Graph. Как создать JavaFX приложение? Создание JavaFX FXML приложения. Сравнение JavaFX и Swing. Обзор возможностей JavaFX.

Параметризованные типы и коллекции JavaFX
Обзор синтаксиса Java Generics. Обзор объектов Java Generic Collection. Обзор JavaFX коллекций ObservableList и ObservableMap.

Элементы управления UI, макеты, диаграммы, and CSS
Более глубокое знакомство с Scene Graph. Использование элементов управления UI в JavaFX приложении. Использование возможностей макета в JavaFX приложении. Использование диаграмм в JavaFX приложении. Использование CSS в JavaFX приложении. Добавление событий в элементы управления JavaFX.

Визуальные эффекты, анимация, Web представление и мультимедиа
Использование визуальных эффектов в JavaFX приложении. Использование анимации и переходных эффектов в JavaFX приложении. Преимущества использования WebView и WebNode. Реализация Multimedia в JavaFX.

JavaFX таблицы и клиентский GUI
Создание smart Table. Описание интерфейса приложения BrokerTool. Определение JavaFX компонент, необходимых для использования в BrokerTool интерфейсе. Отображение данных BrokerTool и определение диаграмм и таблиц, необходимых для этого. Применение CSS к JavaFX приложению.

JavaFX конкурентность и связывание
Свойства и связывание в JavaFX Реализация многопоточности и конкурентности в JavaFX.

Java Persistence API (JPA)
Концепции JPA. Компоненты архитектуры JPA. Что такое транзакции? Выполнение CRUD операций с помощью сущности (Entity) и запросов.

Применение JPA
Связи между сущностями. Использование Criteria API в JavaFX приложении. Применение JPA в HenleyApp приложении. Применение двухуровневого дизайна.

Реализация многоуровневого дизайна с помощью RESTful Web сервисов
Сравнение двух- и трехуровневого дизайна. Описание JAX-RS web сервисов. Использование JAX-RS web сервисов HenleyServer приложении.

Подключение к RESTful Web сервису
Тестирование REST web сервиса с помощью HTTP и HTML. Разработка клиентов JAX-RS web сервиса. Разработка Jersey RESTful клиента. Реализация клиентов Web сервиса для HenleyApp.

Упаковка и развертывание приложений
Использование jar для упаковки Java приложения. Развертывание приложений. Развертывание встроенных (Embedded) приложений. Развертывание Jar с помощью Java Web Start. Использование Installer. Развертывание Rich Internet с помощью Deployment Toolkit.

Разработка безопасных приложений
Аспекты безопасности. Основные концепции создания безопасного кода. Как избежать атак внедрения и включения (Injection and inclusion attacks). Защита конфиденциальных данных. Ограничение доступности классов. Что такое изменчивость (Mutability). Получение списка ресурсов безопасности, доступных в Internet.

Снабжение приложения подписью и аутентификация
Шифрование с помощью публичных и приватных ключей. Цифровые подписи. Введение в SSL/TLS. Механизм HTTP аутентификации. Использование HTTPS приложением.