В курсе рассматривается построение и развертывание корпоративных приложений на 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 приложения
Разворачивать приложение на сервере приложений (в окружении Java EE platform runtime)
Достоинства курса
Слушатели приобретают практический опыт построения Java EE web приложений. Они обучаются созданию пользовательских web-интерфейсов с использованием HTML5 и JavaScript, а также JSP и сервлетов. Пользовательские web-интерфейсы используют AJAX для взаимодействия с созданными слушателями RESTful web сервисами; персистентность данных обеспечивается с помощью JPA и оптимистических блокировок.
Практические упражнения
Изучаемый материал закрепляется при выполнении практических упражнений, организованных в виде структурированных лабораторных работ. В частности, изучаются EJB-Lite сеансовые компоненты, которые могут участвовать в транзакциях, управляемых контейнером. Практические упражнения выполняются с использованием NetBeans IDE и WebLogic Server.
Требуемая предварительная подготовка
Умение авторизации web страниц, использующих HTML, CSS и JavaScript
Понимание концепций баз данных и синтаксиса SQL
Опыт работы с Java SE или сертификация Java Programmer
Понимание принципов объектно-ориентированного программирования
Курс Java SE 8 Programming
Предполагаемая предварительная подготовка
Опыт работы с интегрированной средой разработки
Курс JavaScript and HTML5: Develop Web Applications
Курсы для дальнейшего обучения
Java EE 6: Develop Web Services with JAX-WS & JAX-RS
Цель курса:
Создание и использование Java аннотаций
Выбор корректного Java EE прфиля для данного приложения
Разработка запуск приложения, основанного на EJB технологии
Создание Java EE приложений с помощью Java EE 7 платформы
Изучение сервисов, предоставляемых сервером приложений
Упаковка, развертывание и отладка корпоративных приложений
Создание пользовательских web-интерфейсов с применением технологий сервлетов, JSP, JAX-RS и JavaScript
Доступ к реляционным базам данных с помощью Java Persistence API
Создание масштабируемой, транзакционной бизнес-логики с помощью EJB-Lite
Разработка базовых классов Java Persistence API сущностей для обеспечения доступа к базе данных
Разработка пользовательского web-интерфейса с помощью Servlets, JSPs и JAX-RS
Проектирование приложений с использованием инжекции зависимости
Использование IDEs и серверов приложений для Java EE разработки
Аудитория курса:
J2EE разработчики
Java разработчики
Java EE разработчики
Web администраторы
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. Влияние исключений на состояние транзакции.