Що нового?

Придбаний Разработчик Java Enterprise, модуль 1 [Otus] [Виталий Иванов]

Інформація про покупку
Тип покупки: Складчина
Ціна: 8334 ГРН
Учасників: 0 з 36
Організатор: Відсутній
Статус: Набір учасників
Внесок: 240.8 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Разработчик Java Enterprise, модуль 1 [Otus] [Виталий Иванов]



Платформа JavaEE является спецификацией, описывающая архитектуру серверной платформы, включая всю необходимую документацию, для решения задач средних и крупных предприятий. Ключевой особенностью данного стека технологий является обеспечение работоспособности и переносимостиприложений на различных платформах, что достигается использованием возможностей языка программирования Java (вспоминая известный девиз WORA: writeonce, runanywhere).

Данная спецификация отлично подходит для создания веб-ориентированных приложений, предназначенных для использования в локальных и глобальных сетях. При этом область ее применения не ограничивается банковской и финансовой сферами, она также активно используется в областях e-commerce и e-business, при построении инфраструктурных систем, в решениях интеграционных сервис-провайдеров, для создания крупных Интернет-порталов и т.д.

Исходя из многообразия решаемых спецификацией задач, данный курс нацелен на получение специализированных знаний, связанных с различными областями её применения, а также на приобретение профессиональных навыков разработки программных комплексов масштаба предприятия.

Программа:
Модуль 1. Контейнеры, уровень данных
Контейнеры, уровень данных
Данный блок дает возможность прокачать навыки развертывания разработческих окружений при работе со стеком технологий JavaEE, позволяет сформировать общее представление об архитектуре современных приложений, а также научит разрабатывать приложения, способные интегрироваться с СУБД и обрабатывать данные, используя широкоиспользуемые форматы данных – XML и JSON.
Вводное занятие. Знакомство со стеком JavaEE
Обзор и цель курса. Многоуровневая архитектура приложения: обзор спецификации JavaEE/JakartaEE, web и full-профили. Области применения и вендоры. UML-проектирование.

JavaEE-окружения
Контейнеры и сервера приложений. Tomcat vs GlassFish. Конфигурирование и администрирование, мониторинг и профилирование, remote debugging. Embedded-режим работы. Типичная структура артефакта приложения. Дескриптор развертывания. Подготовка dev-окружения.

Работа с базами данных. JDBC vs JPA
Реляционная СУБД. SQL, stored procedure, PL/SQL. Архитектура JDBC. Соединение с базой данных. Драйверы СУБД и их менеджер. Запросы Statement, PreparedStatement и CallableStatement. Транзакции и автокоммит. Работа с СУБД в рамках JavaEE-окружения. ConnectionPool. ORM. Обзор спецификации JPA. Паттерн DAO.

Обработка XML
Язык XML. JAXP и JAXB. Валидация и XSD. Выражения и функции XPath.

Парсинг JSON
Структура JSON. JSONP и JSONB. JSONSchema. JSONPath. Конвертация XML-JSON. Работа с YAML.
Модуль 2. Web-профиль
Web-профиль
Данный блок курса нацелен на изучение особенностей разработки веб-приложений с использованием JavaEE. Он включает в себя изучение фронтенд-технологий и получение навыков работы с HTML, CSS, JavaScript. Также в рамках данного блока детально рассматриваются технологические возможности Java для реализации Интернет-решений. На примере зарекомендовавших фреймворков и библиотек (GWT, Struts, JQuery и т.д.) будут рассмотрены возможности расширения клиентских возможностей разрабатываемых веб-приложений.

Основы веба. Статичный и динамичный HTML
World Wide Web. URI, URL, URN. Протокол HTTP/s. Client API. HTML5, JS, CSS3, AJAX. Парсер Jsoup. Проект Nashorn.

Client Layer
Обзор существующих JS-фреймворков. Клиентский и серверный рендеринг DOM. Архитектура Single Page Application. Возможности GWT: UIBinder, RPC, i18n и прочее. Bean Validation.

Servlet API
Схема взаимодействия запрос/ответ. Методы доступа HTTP и их назначение. Коды состояний ответов. Сервлет и его жизненный цикл. Сессионность. Параметры запроса. Заголовки запроса/ответа. Cookie. Контекст сервлета. Проблемы многопоточности. Server PUSH. Server Sent Events.

Взаимодействие сервлетов
Фильтры и их жизненный цикл. WebEvents и слушатели. Servlet Collaboration. Диспетчеризация запросов. Servlet Thread Model и асинхронность. Обеспечение безопасности.

Серверные страницы Java
Назначение JSP. Основные JSP-элементы: scripting, directives, actions, EL. Встроенные объекты. JSP-процессинг и жизненный цикл.

Пользовательские теги
Кастомные JSP-теги. Обработчики тегов. Tag Library Descriptor. Вложенность тегов.

Шаблонизаторы
JSTL. Шаблонизаторы Freemarker и Mustache.

Web Frameworks
Шаблон проектирования MVC. Struts2 vs JSF. Паттерн MVP. GWT Activity/Places.

Веб-сокеты
HTTP vs WS. Http Upgrade. Схема ws/wss. Клиент-сервер в технологии вебсокетов. Форматы сообщений. Encoder/Decoder. Области применения.

Непрерывная интеграция
Java Build Tools. CI/CD. Jenkins. Контейнеризация средствами Docker.
Модуль 3. SOA
SOA
Сервис-ориентированная архитектура (SOA). Этот блок курса призван познакомить слушателя с возможностями проектирования и создания сервисно-ориентированной архитектуры с использованием протоколов REST и SOAP на платформе Java. Отдельное внимание уделяется вопросу документирования подобных сервисов и как они могут облегчить жизнь при интеграции с внешними командами.

SOAP-вебсервисы
Протокол SOAP. JAX-WS. Клиент и обработка исключений. WSDL.

RESTful-сервисы
Обзор SOA. REST и принципы построения API. Сравнение с SOAP. JAX-RS и Jersey. Обеспечение безопасности.

Расширенные возможности JAX-RS
JAX-RS Client. Асинхронный и реактивный JAX-RS. JavaEE Concurrency. WADL. Библиотека Swagger. Проблемы REST.
Модуль 4. Бизнес-логика
Бизнес-логика
Данный блок курса посвящен вопросам инкапсуляции бизнес-логики в приложении JavaEE. Слушатель познакомится и получит навыки работы с основными типами Enterprise Java бинов, принимая во внимание области их применения. Также будут рассмотрены вопросы транзакционности исполняемой бизнес-логики, сквозной функциональности и повторного переиспользования.

Основы EJB
Архитектура EJB.Сессионные бины: Stateless, Stateful. Singleton. Local, LocalBean vs Remote. Поддержка асинхронности. TimerServiceAPI.

Персистентность и транзакционность
Жизненный цикл Entity. PesistenceUnit и PersistenceContext. Persistence.xml. Методы-колбэки сущностей. Работа с транзакциями JTA. ACID. Менеджер транзакций и атрибуты. Ручное и декларативное управление границами транзакций.

Аспекто-ориентированный подход
Кросс-функциональность. Основные элементы AOP. JavaEE Interceptors. AspectJ.

Внедрение зависимостей
IoC-контейнеры. Паттерн DI. Спецификация CDI. Injection Points. Квалификаторы. Типы контекстов. Методы продюсеры. Альтернативы, перехватчики, декораторы, стереотипы, наблюдатели. AsyncEvents. Сравнение и синергия с EJB.

JMS
MOM-сервера. Архитектура JMS. Структура сообщения. Queue и Topic. Синхронный и асинхронный режимы получения сообщений. Message-Driven бины.

Генерация отчетности
JasperReport и JasperSoft Studio. JavaMail.

https://otus.ru/lessons/jee/
 
Угорі