Разработка корпоративных Java EE приложений для стандартных серверов приложений
Описание
Это обзорный курс, в котором будет показано большинство технологий JEE (Servlet, JSF, EJB 3) для стандартных серверов приложений, таких как WildFly, Weblogic, Web Sphere, примеры которых будут разрабатываться в среде Eclipse. По всем разделам курса будут создаваться приложения, как серверной так и клиентской части, все примеры приложений будут переданы слушателям на магнитных носителях.
Аудитория: разработчики Java, которые планируют использовать технологию JEE.
Цель курса: по окончании курса слушатели получат полную картину по разработке приложений с помощью среды Eclipse в технологии JEE.
На обучении строятся примеры приложений с использованием стандартных шаблонов, а так же, приводится много примеров анти-патернов, которые, к сожалению, встречаются на практике и даже в сегодняшней литературе. По согласованию со слушателями, разработка приложений ведется для одного из стандартный сервера приложений (Wildfly, WebLogic, Web Sphere), возможен вариант тестирования приложений на разных серверах.
Программа курса
- Инсталляция и конфигурация среды разработки Eclipse, JDeveloper, основные компоненты и плагины.
- Общая архитектура стандартного сервера приложений JEE. Инсталляция сервера, управление службами и сервисами. Консоль управления сервером для решения тестовых задач разработчика. Порядок создания серверного JEE приложения. Определение основных сервисов JEE. Управление сервисом JAAS, JDBC, JMS, Timer и другими. Подключение тестового сервера к среде разработки. Настройка доступа к внешнему LDAP серверу.
- Разработка приложений с использованием Servlets, JSF. Web взаимодействия. Конфигурирование сервера для работы с Web приложениями. Структура WAR и EAR архивов, дескрипторы размещения и доставки. Последовательность создания Web приложения.
- Правила построения безопасного доступа к Web приложениям. Сервис JAAS. Principals и JAZN аутентификация. Пример разработки приложения с использованием JAAS сервера. Безопасность на основе форм.
- Разработка Web контроллеров на основе сервлетов. Листенеры, фильтры,
управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения. - Модель MVC. Создание Web приложений в архитектуре JSF. Конфигурационный файл Faces сервлета. Обработка событий на стороне сервера. Подключение листенеров и валидаторов. Управление акциями в JSF приложении. Библиотека стандартных JSF компонент. Правила использования основных UI (User Interface) компонент на страницах JSF. FacesContext – управление сообщениями и доступ к стандартным контекстам приложения.
- JSF и переноса обработки событий на сторону клиента – технология AJAX. Подключение внешних js библиотек на примере Jquery. Доступ к элементам JSF из Jquery. Разработка серверной и клиентской части с использованием WebSocket. Динамическое обновление клиентских страниц. Введение в технологию ReactJS
- Интеграция Web приложений с приложениями EJB. Введение в технологию EJB.
- Технология REST сервисов, анотации для работы с REST, описание приложения и путей доступа к иодулям, виды запросов — GET, POST, DELETE… Формирование входного и выходного потока из REST сервиса.
- Общая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Два типа компонент – Сессионные и Управляемые событиями. Сущностные бины.
- Порядок сборки, упаковки и отправки на сервер приложений, модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
- Клиенты для сессионных компонент (локальные , удаленные, Web сервисы). Управление сессионным состоянием. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Методы управления доступом к компонентам. Распределение ролей для выполнения различных методов.
- Методы и классы Interceptor, аннотация @AroundInvoke.
- Доступ к ресурсам приложения и сервера. TimerService. Создание компоненты для выполнения действий по расписанию. Управление пассивацией в сессионных компонентах с состоянием. Создание простейшего сущностного компонента на основе таблицы в базе данных. Конфигурация первичного ключа. Аннотация @Id, @SequenceGenerator, @TableGenerator. Композиционный первичный ключ. Аннотация @Embeddable и @EmbeddedId. Отображение композиционного первичного ключа на сущностный класс – аннотация @IdClass.
- Конфигурация метаданных по таблицам и колонкам – аннотации @Table, @SecondaryTable. @Column. Связанные колонки – @JoinColumn. Использование различных отношений между колонками. Конфигурация базового отображения примитивных типов данных в таблицах Oracle — @Basic. Конфигурация больших объектов — @ Lob. Конфигурация поля Version для производства оптимистической блокировки записи.
- Определение методов жизненного цикла сущностной компоненты — @Pre… и @Post… аннотации. Ассоциация листенера и сущностного класса.
- Конфигурация наследования в сущностных компонентах.
- Язык запросов EJBQL. Использование аннотаций для создания именованных запросов -@NamedQuery. Использование параметров в запросах. Создание динамических запросов – javax.management.Query.
- Компоненты, управляемые сообщениями (MDB). Использование аннотаций для привязки MDB компонента к источнику сообщений.
- Транзакционные и нетранзакционные REST сервисы на основе EJB компонент. Методы передачи запроса и возврата результата, прохождение запроса через Ловушку (Iterceptor). Разбор JSON потока на стороне клиента, ReactJS взаимодействие.
Расписание
Время проведения курса пока не определено, отправьте нам заявку, пожалуйста.
Возможно, мы предложим пройти курс в дистанционном режиме или организуем выездной курс, если у Вас группа.