В курсе рассматривается построение и развертывание корпоративных приложений на Java Platform Enterprise Edition 7 Web Profile. Изучаются такие вопросы, как аннотации, Session Enterprise JavaBeans (EJB-Lite), Java Persistence API (JPA), сервлеты, JavaServer Pages(JSPs), Contexts and Dependency Injection (CDI), JAX-RS RESTful web сервисы, Java API for WebSocket и Java API для обработки JSON.

Слушатели обучаются:

Создавать web-интерфейсы как для десктопных, так и для мобильных устройств

Достоинства курса

Слушатели приобретают практический опыт построения Java EE web приложений. Они обучаются созданию пользовательских web-интерфейсов с использованием HTML5 и JavaScript, а также JSP и сервлетов. Пользовательские web-интерфейсы используют AJAX для взаимодействия с созданными слушателями RESTful web сервисами; персистентность данных обеспечивается с помощью JPA и оптимистических блокировок.

Практические упражнения

Изучаемый материал закрепляется при выполнении практических упражнений, организованных в виде структурированных лабораторных работ. В частности, изучаются EJB-Lite сеансовые компоненты, которые могут участвовать в транзакциях, управляемых контейнером. Практические упражнения выполняются с использованием NetBeans IDE и WebLogic Server.

Аудитория курса:

Требуемая предварительная подготовка

Предполагаемая предварительная подготовка

Курсы для дальнейшего обучения

Цели курса

Программа

Java Platform, Enterprise Edition

Java EE Platform. Потребность в разработчиках корпоративных приложений. Java EE спецификации. Сравнение сервисов и библиотек. Java EE Web Profile. Tiers и layers Java EE приложения.

Корпоративные средства разработки и приложения

Предназначение сервера приложения. Запуск и остановка WebLogic Server. Свойства Java EE компонент. Процесс разработки Java EE приложения. Конфигурирование и упаковка Java EE приложений.

JavaBeans, аннотации и журналирование

Возможности Java SE, используемые в Java EE приложении. Создание POJO JavaBeans компонент.

Использование журналирования. Использование общих Java аннотаций. Разработка пользовательских аннотаций. Роль аннотаций в Java EE приложениях.

Java EE Web архитектура

HTTP модель “запрос-отклик”. Различие между Java Servlets, JSP и JSF коипонентами. Уровни приложения и шаблон MVC. Устранение вопросов потокобезопасности в web компонентах. Использование Expression Language.

Разработка сервлетов

Servlet API. Request и Response APIs. Настройка заголовков отклика. Два подхода к созданию тела отклика. Загрузка файлов с помощью сервлета. Передача управления и передача данных. Использование API управления сеансом.

Разработка с использованием JavaServer Pages

Роль JSP в качестве презентационного механизма. Авторизация страниц представления JSP. Обработка данных из сервлетов на JSP странице. Использование библиотек тегов.

JAX-RS Web сервисы

Для чего нужны web сервисы. Создание RESTful web сервиса. Создание методов, соответствующих правилам поведения HTTP методов. Создание классов JAX-RS ресурса и приложения. Consume query и типы других параметров. Продуцирование и потребление сложных данных в виде XML HTTP status коды.

Java RESTful клиенты

Pre-JAX-RS 2 клиенты: HttpUrlConnection и Jersey Client API. JAX-RS 2 Client API.

HTML5 приложения с JavaScript и AJAX

Манипуляции HTML DOM с помощью JavaScript. RESTful клиенты с применением JavaScript (AJAX). Ограничения для JavaScript клиентов. Same-Origin политика и CORS.

WebSocket и Java API для обработки JSON

Ограничения для Web сервисов. Что такое WebSocket. Создание WebSockets с помощью Java.

Клиентский WebSokect с применением JavaScript. Клиентский WebSocket с применением Java.

Потребление JSON с применением Java. Продуцирование JSON с применением Java.

Реализация политики безопасности

Безопасность под управлением контейнера. Пользовательские роли и обязанности. Создание политики безопасности на основе ролей. API безопасности.

Модели POJO и EJB-Lite компонент

Роль EJB components в Java EE приложениях. Достоинства EJB компонент. Операционные характеристики сеансовых компонент без поддержки и с поддержкой состояния сеанса.

Создание сеансовых компонент. Создание клиентов сеансовых компонент.

Java Persistence API

Роль Java Persistence API в Java EE приложениях. Основы объектно-реляционного маппинга. Элементы и окружение компоненты-сущности. Жизненный цикл и операционные характеристики компонент-сущностей.

Реализация транзакционной политики

Транзакционная семантика. Пограммный vs. декларативный транзакционный scoping. Использование JTA для задания транзакционного scope программным образом. Реализация транзакционной политики под управлением контейнера. Оптимистическое блокированиес помощью версионирования компонент-сущностей. Пессимистическое блокирование с помощью EntityManager APIs. Влияние исключений на состояние транзакции.