В курсе рассмотрено создание и развертывание приложений уровня предприятия на основе Java Platform, Enterprise Edition 6 Web Profile. Технологии, представленные в курсе, включают аннотации, Session Enterprise JavaBeans (EJBs), Java Persistence API (JPA), сервлеты, JavaServer Pages (JSPs), JavaServer Faces (JSF), Contexts and Dependency Injection (CDI), и валидацию бинов. Основное внимание уделяется web-приложениям, доступным из десктопных и мобильных web браузеров на основе JSF технологии.
Слушатели на практике учатся строить end-to-end приложения. Они создают пользовательские web-интерфейсы, прежде всего на основе JSF Facelet страниц, а также JSP и сервлетов. Рассматривается создание как десктопных web-интерфейсов, так и web-интерфейсов для мобильных устройств. Валидация пользовательского ввода осуществляется с использованием JPA и оптимистических блокировок. На практических занятиях изучаются сеансовые EJB компоненты, используемые для реализации транзакций, управляемых контейнером, и увеличивающие производительность приложения посредством кэширования данных. Слушатели обучаются сборке приложения и его развертыванию на сервере приложений (окружение времени выполнения Java EE платформы). Практические занятия выполняются с использованием NetBeans IDE и Oracle WebLogic Server.
Слушатели изучают:
-
Создание JSF Facelet страниц
-
Разработку Web Profile приложений
-
Использование CDI
-
Обновление в базах данных с помощью JPA
-
Создание Mobile Web приложений
-
Осуществление валидации бинов
Необходимая предварительная подготовка:
-
Знакомство с HTML и CSS
-
Знакомство с теорией реляционных баз данных и основами SQL
-
Знакомство с использованием IDE
-
Опыт программирования на языке Java
-
Java SE 7 Programming
Рекомендуемая предварительная подготовка:
-
Java SE 7: Develop Rich Client Applications
Аудитория курса:
Java Platform, Enterprise Edition
-
Предназначение платформы Java EE.
-
Необходимость корпоративных приложений.
-
Различные спецификации Java EE.
-
Сравнение сервисов и библиотек.
-
Java EE Web Profile.
-
Уровни EE-приложения: tiers и layers.
Корпоративные средства разработки и сервера приложений
-
Предназначение сервера приложений.
-
Потенциальные критерии для выбора сервера приложений.
-
Установка zip-дистрибутива Oracle WebLogic Server 12c. Свойства Java EE компонент.
-
Процесс разработки Java EE приложения.
-
Как сконфигурировать и упаковать Java EE приложения.
-
Перечень EE возможностей, поддерживаемых интегрированными средами разработки (IDEs).
JavaBeans, аннотации и журналирование
-
Возможности Java SE, широко используемые в корпоративных приложениях.
-
Создание POJO JavaBeans компонент.
-
Журналирование активности и ошибок приложения.
-
Запись в серверные журнальные файлы.
-
Общие Java SE аннотации и их возможности.
-
Разработка Java аннотаций.
-
Роль аннотаций в Java EE.
Модель Web компонент
-
Описание модели "запрос-отклик" HTTP.
-
Различие между Java сервлетами, JSP и JSF компонентами.
-
Реализация уровней приложения и шаблон MVC.
-
Web компоненты и вопросы потоковой безопасности.
-
Использование Expression Language.
Разработка с использованием JavaServer Faces технологии
-
Роль JavaServer Faces (JSF) технологии как презентационного механизма.
-
Описание жизненного цикла JSF.
-
Обеспечение авторства JSF страниц с помощью Facelets.
-
Обработка форм и использование управляемых бинов.
-
Использование библиотеки тегов JSF.
-
Использование аннотаций для управления scope экземпляра бина.
-
Использование компонент для итерирования по значениям в коллекции.
Использование AJAX и композитных компонент с применением JSF
-
Что такое Asynchronous JavaScript and XML (AJAX).
-
Расширение JSF компонент с помощью AJAX.
-
Использование тегов.
-
Интеграция AJAX запроса с жизненным циклом JSF.
-
Определение композитной компоненты.
-
Создание JSF композитных компонент.
Библиотека JSF компонент Apache Trinidad и Mobile разработка
-
Создание JavaServer Faces (JSF) страниц, использующих Apache Trinidad компоненты.
-
Создание мобильного приложения на основе JSF.
-
Динамическое применение Cascading Style Sheets (CSS) с Trinidad оболочками.
-
Использование HTML5 video тега.
Внедрение зависимости с помощью CDI
-
Создание классов, совместимых с управляемым бином.
-
Инжектирование управляемых бинов.
-
Квалификация бина, запрашиваемого в точке инжекции.
-
Использование CDI альтернатив.
Использование JSF и Bean Validation
-
Подход, используемый JSF для преобразования и валидации входных данных.
-
Использование встроенных ограничений валидации, обеспечиваемых JSF.
-
Использование аннотаций встроенных ограничений валидации, обеспечиваемых Bean Validation.
-
Создание настраиваемого ограничения валидации бинов.
Разработка сервлетов
-
Описание API сервлета.
-
Использование APIs запроса и отклика.
-
Настройка заголовков оклика.
-
Создание текстового и бинарного тела отклика.
-
Обработка загрузки файлов с помощью сервлетов.
-
Перенаправление к JSP с помощью RequestDispatcher.
-
Использование API управления сеансами.
Разработка с помощью JavaServer Pages технологии
-
Роль JSP технологии как механизма презентации.
-
Авторство JSP страниц.
-
Обработка данных, полученных от сервлетов, на JSP странице.
-
Использование библиотек тегов.
Модель компонент EJB
-
Роль EJB компонент в Java EE приложении.
-
Достоинства EJB компонент.
-
Операционные характеристики сеансовых компонент, не поддерживающих состояние, поддерживающих состояние, и синглтонов.
-
Создание сеансовых компонент.
-
Создание клиентов сеансовых компонент.
Java Persistence API
-
Роль Java Persistence API (JPA) в Java EE приложении.
-
Основы объектно-реляционного маппинга.
-
Элементы и окружение компоненты-сущности.
-
Описание жизненного цикла и операционных характеристик компонент-сущностей.
Реализация транзакционной политики
-
Описание семантики транзакций.
-
Сравнение задания scope транзакций программно и декларативно.
-
Использование JTA для задания scope транзакций программным образом.
-
Реализация транзакционной политики под управлением контейнера.
-
Поддержка оптимистической блокировки путем версионирования компонент-сущностей.
-
Поддержка пессимистической блокировки с помощью EntityManager APIs.
-
Влияние исключений на состояние транзакции.
Обзор Web сервисов и интеграционной технологии
-
Обзор предназначения интеграционных технологий.
-
Интеграционный уровень в многоуровневой архитектуре приложения.
-
Перечень различных технологий Java EE.
-
Преимущества Web сервисов по сравнению с другими интеграционными технологиями.
Реализация политики безопасности
-
Преимущества системы безопасности под управлением контейнера.
-
Определение ролей и обязанностей пользователей.
-
Создание политики безопасности на основе ролей.
-
Применение декларативной безопасности.
-
Конфигурирование аутентификации на web уровне