В курсе рассмотрено создание и развертывание приложений уровня предприятия на основе 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 разработчики
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 уровне.