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

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

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

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

Запись

О курсе

Разработчик Java Enterprise
45 000 ₽
Начало в августе
  • Умение работать целиком и полностью в 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-процессинг и жизненный цикл.
Пользовательские теги
Кастомные JSP-теги. Обработчики тегов. Tag Library Descriptor. Вложенность тегов.
Домашние задания: 1
ДЗ
Динамические серверные страницы. Работа с кодировками. Трансляция и компиляция JSP. Обработка ИС во время генерации страницы. Язык выполнения..
Шаблонизаторы
JSTL. Шаблонизаторы Freemarker и Mustache.
Web Frameworks
Шаблон проектирования MVC. Struts2 vs JSF. Паттерн MVP. GWT Activity/Places.
Домашние задания: 1
ДЗ
MVC-веб проект. Action. Конфигурирование struts.xml.
Веб-сокеты
HTTP vs WS. Http Upgrade. Схема ws/wss. Клиент-сервер в технологии вебсокетов. Форматы сообщений. Encoder/Decoder. Области применения.
Непрерывная интеграция
Java Build Tools. CI/CD. Jenkins. Контейнеризация средствами Docker.
SOA
Сервис-ориентированная архитектура (SOA). Этот блок курса призван познакомить слушателя с возможностями проектирования и создания сервисно-ориентированной архитектуры с использованием протоколов REST и SOAP на платформе Java. Отдельное внимание уделяется вопросу документирования подобных сервисов и как они могут облегчить жизнь при интеграции с внешними командами.
SOAP-вебсервисы
Протокол SOAP. JAX-WS. Клиент и обработка исключений. WSDL.
Домашние задания: 1
ДЗ
Самописный REST API.
RESTful-сервисы
Обзор SOA. REST и принципы построения API. Сравнение с SOAP. JAX-RS и Jersey. Обеспечение безопасности.
Расширенные возможности JAX-RS
JAX-RS Client. Асинхронный и реактивный JAX-RS. JavaEE Concurrency. WADL. Библиотека Swagger. Проблемы REST.
Домашние задания: 1
ДЗ
Интеграция со сторонними сервисами..
Бизнес-логика
Данный блок курса посвящен вопросам инкапсуляции бизнес-логики в приложении JavaEE. Слушатель познакомится и получит навыки работы с основными типами Enterprise Java бинов, принимая во внимание области их применения. Также будут рассмотрены вопросы транзакционности исполняемой бизнес-логики, сквозной функциональности и повторного переиспользования.
Основы EJB
Архитектура EJB.Сессионные бины: Stateless, Stateful. Singleton. Local, LocalBean vs Remote. Поддержка асинхронности. TimerServiceAPI.
Домашние задания: 1
ДЗ
Инкапсуляция бизнес-логики и ее переиспользование. Stateless и Stateful session beans. MDB. Entity Beans..
Персистентность и транзакционность
Жизненный цикл Entity. PesistenceUnit и PersistenceContext. Persistence.xml. Методы-колбэки сущностей. Работа с транзакциями JTA. ACID. Менеджер транзакций и атрибуты. Ручное и декларативное управление границами транзакций.
Аспекто-ориентированный подход
Кросс-функциональность. Основные элементы AOP. JavaEE Interceptors. AspectJ.
Домашние задания: 1
ДЗ
Сквозная функциональность. Валидация входных параметров и результата..
Внедрение зависимостей
IoC-контейнеры. Паттерн DI. Спецификация CDI. Injection Points. Квалификаторы. Типы контекстов. Методы продюсеры. Альтернативы, перехватчики, декораторы, стереотипы, наблюдатели. AsyncEvents. Сравнение и синергия с EJB.
JMS
MOM-сервера. Архитектура JMS. Структура сообщения. Queue и Topic. Синхронный и асинхронный режимы получения сообщений. Message-Driven бины.
Домашние задания: 1
ДЗ
Обработка очередей..
Генерация отчетности
JasperReport и JasperSoft Studio. JavaMail.
Проект
Выполнение проектной работы можно рассматривать как этап создания портфолио для будущей карьеры слушателя. Потенциальный работодатель сможет оценить профессиональный уровень и навыки владениями технологиями, рассматриваемыми в данном курсе. Также успешно выполнив работу, слушатель научиться решать коммерческие задачи практически любой сложности, при этом получив навыки командной разработки и поработав действительно с актуальными технологиями, фреймворками и инструментарием.

Работа над проектом.
Вводное занятие
Разобраться в необходимости проектной работы и рассказать об основных организационных моментах ее проведения.
Домашние задания: 1
ДЗ
Выбор темы. Необходимо выбрать тему изучаемой предметной области из предложенного списка или согласовать свою собственную.
Проведение защиты проектной работы (ч. 1)
Презентация проектной работы Александра Заикина
Проведение защиты проектной работы (ч. 2)
Презентация проектной работы Виктора Скурихина
Проведение защиты проектной работы (ч. 3)
Презентация проектной работы Дениса Сутягина

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

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

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

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

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