День открытых дверей: Разработчик Java Enterprise

Проходил 7 декабря в 20:00

Посмотреть запись трансляции

День открытых дверей онлайн

Хотите узнать, почему OTUS – больше, чем просто образовательный портал? Как OTUS дает возможность стать частью сообщества профессионалов и сделать новый шаг по карьерной лестнице? Почему учиться – не обязанность, а удовольствие и почему тесное сплетение теории и практики в обучении дает эффект синергии? Приходите к нам на День Открытых Дверей. Формат проведения – онлайн – подключиться можно из любой точки мира!

Программа курса
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. Разбор домашнего задания.
Выполнение проектной работы можно рассматривать как этап создания портфолио для будущей карьеры слушателя. Потенциальный работодатель сможет оценить профессиональный уровень и навыки владениями технологиями, рассматриваемыми в данном курсе. Также успешно выполнив работу, слушатель научиться решать коммерческие задачи практически любой сложности, при этом получив навыки командной разработки и поработав действительно с актуальными технологиями, фреймворками и инструментарием.

Работа над проектом.

F.A.Q.: Наиболее часто задаваемые вопросы
о Дне открытых дверей:

Могу ли я принять участие в розыгрыше, если я уже оплатил обучение?
В розыгрыше принимают участие все пользователи, успешно прошедшие вступительное тестирование. Если вы уже оплатили обучение и стали счастливым обладателем бесплатного места – мы вернем вам деньги
Нужно ли оплачивать обучение до Дня открытых дверей, если я хочу гарантированно попасть в группу?
Да, мы рекомендуем заранее оплатить обучение, чтобы гарантированно попасть в группу. В период проведения Дня открытых дверей резко возрастает количество желающих обучаться, поэтому может случиться так, что к окончанию Дня открытых дверей мест в группе не останется
Кто будет проводить День открытых дверей?
Проводить День открытых дверей будет преподаватель курса.
Как принять участие в Дне открытых дверей?
Для того, чтобы принять участие в Дне открытых дверей, оставьте свой e-mail в поле регистрации на мероприятие. Перед началом Дня открытых дверей мы пришлем вам ссылку, пройдя по которой, вы сможете присоединиться к вебинару. Если вы хотите принять участие в розыгрыше бесплатных мест – до начала мероприятия необходимо зарегистрироваться на сайте и успешно пройти вступительное тестирование
Какие вопросы будем обсуждать на Дне открытых дверей?
На дне открытых дверей мы поговорим о проекте OTUS (о программе курса, почему мы не принимаем в группы новичков, почему учиться у нас интересно, но сложно), карьерных перспективах выпускников (почему вероятность карьерного роста у лучших студентов стремится к 100%), учебном процессе (оплатах, оценке знаний, сертификатах и прочих аспектах). Также ведущий мероприятия с радостью ответит на все ваши вопросы