Проходил 10 сентября в 20:30

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

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

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

Запись

О курсе

Разработчик Java Enterprise
  • Умение работать целиком и полностью в Java EE: проектировать, разрабатывать, тестировать.
  • Владение Java-спецификациями, описывающими архитектуру серверной платформы уровня Enterprise.
  • Умение решать задачи промышленных высокопроизводительных проектов.
  • Способность поддерживать современные многоуровневые Enterprise-приложения на Java.
  • 16 работодателей
    Направленность на решение актуальных проблем в масштабе предприятий.
    Множество практических домашних заданий, охватывающих широкий набор тем.
Программа курса
Модуль 1
Контейнеры, уровень данных
Модуль 2
Web-профиль
Модуль 3
SOA
Модуль 4
Бизнес-логика
Модуль 5
Проект
Контейнеры, уровень данных
Данный блок дает возможность прокачать навыки развертывания разработческих окружений при работе со стеком технологий JavaEE, позволяет сформировать общее представление об архитектуре современных приложений, а также научит разрабатывать приложения, способные интегрироваться с СУБД и обрабатывать данные, используя широкоиспользуемые форматы данных – XML и JSON.
Вводное занятие. Знакомство со стеком JavaEE
Обзор и цель курса. Многоуровневая архитектура приложения: обзор спецификации JavaEE/JakartaEE, web и full-профили. Области применения и вендоры. UML-проектирование.
Домашние задания: 1
ДЗ
Основные модели приложения. Различия между архитектурными подходами. Тонкий и толстый клиент. Выделение слоев на примере информационной системы..
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.
Домашние задания: 1
ДЗ
Проектирование предметной области. Схема СУБД. DML, DDL. Работа с SQL, PL/SQL посредством JDBC..
Обработка XML
Язык XML. JAXP и JAXB. Валидация и XSD. Выражения и функции XPath.
Парсинг JSON
Структура JSON. JSONP и JSONB. JSONSchema. JSONPath. Конвертация XML-JSON. Работа с YAML.
Домашние задания: 1
ДЗ
. Генерация и модификация XML. Поиск и извлечение данных в XML. Сериализация/десериализация JSON-данных..
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.
Домашние задания: 1
ДЗ
Вёрстка веб-контента и его стилизация. Переходы между страницами. Вычисления на клиенте.
Servlet API
Схема взаимодействия запрос/ответ. Методы доступа HTTP и их назначение. Коды состояний ответов. Сервлет и его жизненный цикл. Сессионность. Параметры запроса. Заголовки запроса/ответа. Cookie. Контекст сервлета. Проблемы многопоточности. Server PUSH. Server Sent Events.
Взаимодействие сервлетов
Фильтры и их жизненный цикл. WebEvents и слушатели. Servlet Collaboration. Диспетчеризация запросов. Servlet Thread Model и асинхронность. Обеспечение безопасности.
Домашние задания: 1
ДЗ
Генерация динамического контента на базе пользовательских данных и входящих параметров. Файловые вложения. Перенаправления запросов. Работа с пользовательскими cookies..
Серверные страницы Java
Назначение JSP. Основные JSP-элементы: scripting, directives, actions, EL. Встроенные объекты. JSP-процессинг и жизненный цикл.
29 октября, 20:00 — 21:30
Пользовательские теги
Кастомные JSP-теги. Обработчики тегов. Tag Library Descriptor. Вложенность тегов.
1 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Динамические серверные страницы. Работа с кодировками. Трансляция и компиляция JSP. Обработка ИС во время генерации страницы. Язык выполнения..
Шаблонизаторы
JSTL. Шаблонизаторы Freemarker и Mustache.
5 ноября, 20:00 — 21:30
Web Frameworks
Шаблон проектирования MVC. Struts2 vs JSF. Паттерн MVP. GWT Activity/Places.
8 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
MVC-веб проект. Action. Конфигурирование struts.xml.
Веб-сокеты
HTTP vs WS. Http Upgrade. Схема ws/wss. Клиент-сервер в технологии вебсокетов. Форматы сообщений. Encoder/Decoder. Области применения.
12 ноября, 20:00 — 21:30
Непрерывная интеграция
Java Build Tools. CI/CD. Jenkins. Контейнеризация средствами Docker.
15 ноября, 20:00 — 21:30
SOA
Сервис-ориентированная архитектура (SOA). Этот блок курса призван познакомить слушателя с возможностями проектирования и создания сервисно-ориентированной архитектуры с использованием протоколов REST и SOAP на платформе Java. Отдельное внимание уделяется вопросу документирования подобных сервисов и как они могут облегчить жизнь при интеграции с внешними командами.
SOAP-вебсервисы
Протокол SOAP. JAX-WS. Клиент и обработка исключений. WSDL.
19 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Самописный REST API.
RESTful-сервисы
Обзор SOA. REST и принципы построения API. Сравнение с SOAP. JAX-RS и Jersey. Обеспечение безопасности.
22 ноября, 20:00 — 21:30
Расширенные возможности JAX-RS
JAX-RS Client. Асинхронный и реактивный JAX-RS. JavaEE Concurrency. WADL. Библиотека Swagger. Проблемы REST.
26 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Интеграция со сторонними сервисами..
Бизнес-логика
Данный блок курса посвящен вопросам инкапсуляции бизнес-логики в приложении JavaEE. Слушатель познакомится и получит навыки работы с основными типами Enterprise Java бинов, принимая во внимание области их применения. Также будут рассмотрены вопросы транзакционности исполняемой бизнес-логики, сквозной функциональности и повторного переиспользования.
Основы EJB
Архитектура EJB.Сессионные бины: Stateless, Stateful. Singleton. Local, LocalBean vs Remote. Поддержка асинхронности. TimerServiceAPI.
29 ноября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Инкапсуляция бизнес-логики и ее переиспользование. Stateless и Stateful session beans. MDB. Entity Beans..
Персистентность и транзакционность
Жизненный цикл Entity. PesistenceUnit и PersistenceContext. Persistence.xml. Методы-колбэки сущностей. Работа с транзакциями JTA. ACID. Менеджер транзакций и атрибуты. Ручное и декларативное управление границами транзакций.
3 декабря, 20:00 — 21:30
Аспекто-ориентированный подход
Кросс-функциональность. Основные элементы AOP. JavaEE Interceptors. AspectJ.
6 декабря, 20:00 — 21:30
Домашние задания: 1
ДЗ
Сквозная функциональность. Валидация входных параметров и результата..
Внедрение зависимостей
IoC-контейнеры. Паттерн DI. Спецификация CDI. Injection Points. Квалификаторы. Типы контекстов. Методы продюсеры. Альтернативы, перехватчики, декораторы, стереотипы, наблюдатели. AsyncEvents. Сравнение и синергия с EJB.
10 декабря, 20:00 — 21:30
JMS
MOM-сервера. Архитектура JMS. Структура сообщения. Queue и Topic. Синхронный и асинхронный режимы получения сообщений. Message-Driven бины.
13 декабря, 20:00 — 21:30
Домашние задания: 1
ДЗ
Обработка очередей..
Генерация отчетности
JasperReport и JasperSoft Studio. JavaMail.
17 декабря, 20:00 — 21:30
Проект
Выполнение проектной работы можно рассматривать как этап создания портфолио для будущей карьеры слушателя. Потенциальный работодатель сможет оценить профессиональный уровень и навыки владениями технологиями, рассматриваемыми в данном курсе. Также успешно выполнив работу, слушатель научиться решать коммерческие задачи практически любой сложности, при этом получив навыки командной разработки и поработав действительно с актуальными технологиями, фреймворками и инструментарием.

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

Преподаватель

Виталий Иванов
Опыт профессиональной разработки с 2007 года.
Во время обучения в Самарском Государственном Университете участвовал в создании автоматизированной системы на платформе J2EE. На протяжении 2009 года успел поучаствовать в проекте для автоматизации процессов госкорпорации «Роскосмос».
С 2010 года принимает активное участие в разработке и развитии информационных систем ООО «Русфинанс Банка» на базе стека JavaEE.
На текущий момент состоит в Scrum-команде, ответственной за разработку клиент-серверного приложения «Инфо-Банк». Участвует в инновационных проектах компании.

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

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

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