Разработка корпоративных Java EE приложений для стандартных серверов приложений
JV-8
Цель курса: дать слушателям полную картину по разработке приложений с помощью среды Eclipse и JDeveloper в технологии JEE.
При чтении курса строятся примеры приложений с использованием стандартных шаблонов, так же много приводится примеров анти-патернов, которые, к сожалению, встречаются на практике и даже в сегодняшней литературе. По согласованию со слушателями, разработка приложений ведется для одного из стандартный сервера приложений (JBoss, WebLogic, OC4J, Web Sphere), возможен вариант тестирования приложений на разных серверах. Кроме этого, при чтении курса активно используется JUnit для тестирования модулей.
Все примеры и презентации в виде рисунков (которые были сделаны лектором), передаются слушателям на магнитных носителях.
Аудитория
Разработчики Java, которые планируют использовать технологию JEE.
Программа курса
- МодульИнсталляция и конфигурация среды разработки Eclipse, JDeveloper, основные компоненты и плагины.
- МодульОбщая архитектура стандартного сервера приложений JEE. Инсталляция сервера, управление службами и сервисами. Консоль управления сервером для решения тестовых задач разработчика. Порядок создания серверного JEE приложения. Определение основных сервисов JEE. Управление сервисом JAAS, JDBC, JMS, Timer и другими. Подключение тестового сервера к среде разработки.
- МодульРазработка приложений клиента в архитектуре (RCP – Rich Client Platform) для сервера приложений. Инсталляция клиента для сервера приложений. Библиотеки для подключения к серверу приложений. Протоколы взаимодействия с сервером (RMI, IIOP). Интерфейс javax.naming.Context. Введение в службу имен (JNDI). Создание GUI интерфейса с помощью среды разработки.
- МодульРазработка XML приложений (Визуальные средства RAD). Технология JAXB. Обзор разметки. Сведения о синтаксисе XML. DTD – определение типа документа. Язык определения схем. Пространство имен и язык Xpath. XLink. Объектная модель документа. SAX. Использование каскадных таблиц стилей CSS. Язык преобразования XSLT, связь с HTML. Интеграция XML с корпоративными приложениями. Получение объекта Java из XML документа, преобразование Java объекта в XML поток.
- МодульРазработка приложений с использованием Servlets, JSP, JSF. Web взаимодействия. Конфигурирование сервера для работы с Web приложениями. Структура WAR и EAR архивов, дескрипторы размещения и доставки. Последовательность создания Web приложения.
- МодульПравила построения безопасного доступа к Web приложениям. Сервис JAAS. Principals и JAZN аутентификация. Пример разработки приложения с использованием JAAS сервера. Безопасность на основе форм.
- МодульРазработка Web контроллеров на основе сервлетов. Листенеры, фильтры, управление безопасностью через сервлеты. Технология программирования сервлетов, сеансы и жизненный цикл. Контекст приложения и сервлета. Отслеживание сеансов. Цикл жизни сессии. Настройка дескриптора размещения Web приложения. Использование JNDI для доступа к данным в сервлетах. Взаимодействие между сервлетами через контекст приложения.
- МодульПостроение простейших JSP страниц. JSP тэги. Использование языка выражений. Получение информации из структур данных. Операторы языка выражений. Приведение типов данных.
- МодульРабота с действиями Core. Запись в выходной поток. Установка и удаление переменных. Итераторы. Просмотр коллекций в цикле. Импортирование статических и динамических ссылок.
- МодульРабота с XML действиями. Синтаксический разбор XML документа. Условные Х операторы и операторы циклов. Трансформация расширяемого языка стилевых таблиц
- МодульЛокализация приложений с помощью ресурсных контентов. Библиотека тегов форматирования.
- МодульБиблиотека SQL тэгов. Конфигурирование и использование источников данных. Работа с результирующими множествами. Работа с транзакциями.
- МодульМодель MVC. Создание Web приложений в архитектуре JSF. Конфигурационный файл Faces сервлета. Bucking bean. Обработка событий на стороне сервера. Подключение листенеров и валидаторов. Управление акциями в JSF приложении. Библиотека стандартных JSF компонент. Правила использования основных UI (User Interface) компонент на страницах JSF. FacesContext – управление сообщениями и доступ к стандартным контекстам приложения.
- МодульИспользование библиотек Trinidad, ADF для расширения технологии JSF и переноса обработки событий на сторону клиента – технология AJAX.
- МодульИнтеграция Web приложений с приложениями EJB. Введение в технологию EJB.
- МодульОсобенности многомодульной компоновки приложений для сервера приложений
- МодульОбщая архитектура EJB 3. Аннотации метаданных и дескрипторов доставки. Переносимость и миграция между спецификациями 2 и 3. Два типа компонент – Сессионные и Управляемые событиями. Сущностные бины.
- МодульПорядок сборки, упаковки и отправки на сервер приложений, модулей с EJB3 компонентами. Аннотации вместо файла ejb-jar.xml. Конфигурация приложения на конкретном сервере приложений с помощью аннотаций сервера приложений
- МодульКлиенты для сессионных компонент (локальные, удаленные, Web сервисы). Создание удаленного клиента на основе SWING приложения для выполнения методов компонент с использованием rmi протокола. Управление сессионным состоянием. Цикл жизни сессионных компонент. Аннотации, методы для управления циклом жизни. Методы управления доступом к компонентам. Распределение ролей для выполнения различных методов.
- МодульМетоды и классы 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 компонента к источнику сообщений.