Хотите получить этот курс в подарок? Сообщите об этом друзьям!
Начало занятий 25 декабря

Разработчик Java Enterprise

Общая стоимость: 40000 ₽
В месяц: 9500 ₽
4 часа в неделю
5 месяцев
О курсе

Платформа JavaEE является спецификацией, описывающей архитектуру серверной платформы, включая всю необходимую документацию, для решения задач средних и крупных предприятий. Ключевой особенностью данного стека технологий является обеспечение работоспособности и переносимостиприложений на различных платформах, что достигается использованием возможностей языка программирования Java (вспоминая известный девиз WORA: writeonce, runanywhere).
Данная спецификация отлично подходит для создания веб-ориентированных приложений, предназначенных для использования в локальных и глобальных сетях. При этом область ее применения не ограничивается банковской и финансовой сферами, она также активно используется в областях e-commerce и e-business, при построении инфраструктурных систем, в решениях интеграционных сервис-провайдеров, для создания крупных Интернет-порталов и т.д.
Исходя из многообразия решаемых спецификацией задач, данный курс нацелен на получение специализированных знаний, связанных с различными областями её применения, а также на приобретение профессиональных навыков разработки программных комплексов масштаба предприятия.
В рамках курса рассматривается актуальная версия спецификации JavaEE7, компонентно-модульный подход которой позволяет изучить детально каждую технологию экосистемы JavaEE в отдельности.
По мере изучения курса также будут рассмотрены необходимые инструменты и практики, получившие широкое применениев мире Enterprise. Более того, слушатель научится писать поддерживаемый код, при этом освоив навыки командной разработки.
Продолжительность данного курса составляет 5 месяцев, четыре из которых посвящены непосредственно процессу обучения, а пятый отводится для выполнения проектной работы и оттачивания полученных навыков разработки.
Продолжительность вебинарных занятий составляет 4 академических часа в неделю с разбивкой на два занятия. Также потребуется не менее 4 академических часов в неделю для выполнения предусмотренных в курсе самостоятельных работ, с помощью которых достигается получение реального опыта программирования с применением технологий платформы JavaEE.

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

ДЗ

Основные модели приложения. Различия между архитектурными подходами. Тонкий и толстый клиент. Выделение слоев на примере информационной системы..
Занятие 2: JavaEE-окружение
Контейнеры и сервера приложений. Tomcat vs GlassFish. Конфигурирование. Дескриптор развертывания. Настройка dev-окружения. Разбор домашнего задания.
Занятие 3: Работа с уровнем данных. JDBC
Соединение с базой данных. Драйверы СУБД и их менеджер. SQL, PL/SQL. Запросы Statement, PreparedStatement и CallableStatement. Автокоммит. Connection Pool.

ДЗ

Проектирование предметной области. Схема СУБД. DML, DDL. Работа с SQL, PL/SQL посредством JDBC..
Занятие 4: Обработка XML
Язык XML. DOM и SAX парсеры. Валидация и XSD. Выражения XPath. Разбор домашнего задания.
Занятие 5: Обработка JSON
JAXB. Работа с JSON. JSONPath.

ДЗ

. Генерация и модификация XML. Поиск и извлечение данных в XML. Сериализация/десериализация JSON-данных..
Данный блок курса нацелен на изучение особенностей разработки веб-приложений с использованием JavaEE. Он включает в себя изучение фронтенд-технологий и получение навыков работы с HTML, CSS, JavaScript. Также в рамках данного блока детально рассматриваются технологические возможности Java для реализации Интернет-решений. На примере зарекомендовавших фреймворков и библиотек (GWT, Struts, JQuery и т.д.) будут рассмотрены возможности расширения клиентских возможностей разрабатываемых веб-приложений.
Занятие 6: Основы веба. Статичный HTML
Протокол HTTP/s (в том числе, v.2). URL. HTML5. Разбор домашнего задания.

ДЗ

Вёрстка веб-контента и его стилизация. Переходы между страницами. Вычисления на клиенте.
Занятие 7: DHTML
CSS, JS. События. AJAX. Кросс-доменные запросы и JSON-P. Средства разработчика: firebug, chrome inspector, fiddler. Разбор домашнего задания.
Занятие 8: Популярные JS-фреймворки
JQuery. Знакомство с возможностями GWT. UIBinder. Декларативное программирование.

ДЗ

Исполнение клиентской логики средствами JS. Валидация входных данных. Асинхронные запросы. JSONP..
Занятие 9: Servlet API
Схема взаимодействия запрос/ответ. Методы доступа HTTP. Сессионность. Параметры запроса. Заголовки запроса/ответа. Cookie. Контекст сервлета. Разбор домашнего задания.
Занятие 10: Обработка запросов
Фильтры, слушатели. Диспетчеризация запросов. Редирект. Асинхронность сервлета.

ДЗ

Генерация динамического контента на базе пользовательских данных и входящих параметров. Файловые вложения. Перенаправления запросов. Работа с пользовательскими cookies..
Занятие 11: Серверные страницы Java
Возможности JSP. Директивы page, include, taglib.Встроенные объекты. EL. Передача управления. Разбор домашнего задания.
Занятие 12: Пользовательские теги
Кастомные JSP-теги. Обработчик тегов. Вложенные теги.

ДЗ

Динамические серверные страницы. Работа с кодировками. Трансляция и компиляция JSP. Обработка ИС во время генерации страницы. Язык выполнения..
Занятие 13: Дополнения возможностей JSP
JSTL. Шаблонизаторы Freemarker. JSF. Разбор домашнего задания.
Занятие 14: MVC-фреймворки
Шаблоны проектирования MVC, MVP. Struts. Дополнения по GWT.

ДЗ

MVC-веб проект. Action. Конфигурирование struts.xml.
Занятие 15: Веб-сокеты
Уведомление об изменениях без клиентского запроса. Серверная и клиентская поддержка. Схема ws/wss. Разбор домашнего задания.
Занятие 16: Автоматизация деплоймента
Сборка проекта. Средства сборки: Ant, Maven, Gradle. Jenkins.
Сервис-ориентированная архитектура (SOA). Этот блок курса призван познакомить слушателя с возможностями проектирования и создания сервисно-ориентированной архитектуры с использованием протоколов REST и SOAP на платформе Java. Отдельное внимание уделяется вопросу документирования подобных сервисов и как они могут облегчить жизнь при интеграции с внешними командами.
Занятие 17: REST-сервисы
REST. JAX-RS. Контейнер Jersey. WADL.

ДЗ

Самописный REST API.
Занятие 18: Самодокументируемые сервисы.
Библиотека Swagger. Разбор домашнего задания.
Занятие 19: Webservices
Протокол SOAP. JAX-WS. WSDL.

ДЗ

Интеграция со сторонними сервисами..
Данный блок курса посвящен вопросам инкапсуляции бизнес-логики в приложении JavaEE. Слушатель познакомится и получит навыки работы с основными типами Enterprise Java бинов, принимая во внимание области их применения. Также будут рассмотрены вопросы транзакционности исполняемой бизнес-логики, сквозной функциональности и повторного переиспользования.
Занятие 20: Основы EJB
Знакомство EJB: Session, MessageDriven, Entity бины. Разбор домашнего задания.

ДЗ

Инкапсуляция бизнес-логики и ее переиспользование. Stateless и Stateful session beans. MDB. Entity Beans..
Занятие 21: Транзакционность
Работа с транзакциями JTA. Менеджер транзакций. Ручное и автоматическое управление. Декларативное управление. Разбор домашнего задания.
Занятие 22: Аспекто-ориентированный подход
Элементы AOP в EJB: interceptors.

ДЗ

Сквозная функциональность. Валидация входных параметров и результата..
Занятие 23: Внедрение зависимостей
Технология CDI. Разбор домашнего задания.
Занятие 24: JMS
Queue и P2P. Topic и Publisher-Subscriber. Синхронный и асинхронный режимы получения сообщений.

ДЗ

Обработка очередей..
Этот блок курса посвящен таким важным аспектам любого приложения уровня Enterpise, как безопасности, интернационализации, генерации отчетности, отправки электронных писем. Слушатель также познакомиться и научиться использовать инструменты тестирования и логирования JavaEE-приложений.
Занятие 25: Безопасность
JAAS. LoginModule.Principal. jaas.config

ДЗ

Разработка безопасного веб-приложения..
Занятие 26: Распространенные уязвимости веб-приложений
OWASP. Разбор домашнего задания.
Занятие 27: Интернационализация и логирование
I18n. Log4j.

ДЗ

Разработка многоязычного веб-приложения..
Занятие 28: Генерация отчетов
JasperReports, iReport, scriptlets.Apache POI. Разбор домашнего задания.
Занятие 29: Отправка email
JavaMail

ДЗ

Поддержка формирования отчетов и отправки писем в веб-приложении..
Занятие 30: Тестирование
Средства тестирования: JUnit, Selenium, REST Assured. Advanced REST Client. SOAP UI. Разбор домашнего задания.
Выполнение проектной работы можно рассматривать как этап создания портфолио для будущей карьеры слушателя. Потенциальный работодатель сможет оценить профессиональный уровень и навыки владениями технологиями, рассматриваемыми в данном курсе. Также успешно выполнив работу, слушатель научиться решать коммерческие задачи практически любой сложности, при этом получив навыки командной разработки и поработав действительно с актуальными технологиями, фреймворками и инструментарием.

Работа над проектом.
Расписание
Дата и время
Событие
Группа
Разработчик JavaEE-2-17-12
25 декабря, понедельник
20:00 — 21:30
Вводное занятие. Знакомство со стеком JavaEE
Обзор и цель курса. Многоуровневая архитектура приложения: обзор стека JavaEE.
Разработчик JavaEE-2-17-12
Разработчик JavaEE-2-17-12
28 декабря, четверг
20:00 — 21:30
JavaEE-окружение
Контейнеры и сервера приложений. Tomcat vs GlassFish. Конфигурирование. Дескриптор развертывания. Настройка dev-окружения. Разбор домашнего задания.
Разработчик JavaEE-2-17-12
Преподаватели
Виталий Иванов
Опыт профессиональной разработки с 2007 года.
Во время обучения в Самарском Государственном Университете участвовал в создании автоматизированной системы на платформе J2EE. На протяжении 2009 года успел поучаствовать в проекте для автоматизации процессов госкорпорации «Роскосмос».
С 2010 года принимает активное участие в разработке и развитии информационных систем ООО «Русфинанс Банка» на базе стека JavaEE.
На текущий момент состоит в Scrum-команде, ответственной за разработку клиент-серверного приложения «Инфо-Банк». Участвует в инновационных проектах компании.

Проводит корпоративные обучающие workshop-ы для сотрудников.
С 2012 года - преподаватель и научный руководитель по образовательным курсам «Программирование на Java», «Разработка веб и бизнес приложений на Java», а также «Основ методологий разработки и проектирования ПО» в Московском Технологическом Институте.