konianzero / masterjava

Многомодульный maven. Многопоточность. XML. Веб сервисы. Удаленное взаимодействие

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Многомодульный maven. Многопоточность. XML. Веб сервисы. Удаленное взаимодействие (JavaOPs/masterjava)

Разработка полнофункционального многомодульного Maven проекта

состоящего из 3-х веб приложений:

image

  • приложение импорта из XML (JAXB, StAX, XPath, XSLT)
  • многопоточного почтового веб-сервиса (JavaMail, java.util.concurrent, JAX-WS, MTOM, хендлеры авторизации, логирования и статистики)
  • веб приложения отправки почты с вложениями
    • по SOAP (JAX-WS, MTOM)
    • по JAX-RS (Jersey)
    • по JMS (ActiveMQ)
    • через AKKA
    • используя асинхронные сервлеты 3.0
  • сохранение данных в PostgreSQL используя jDBI
  • миграция базы LiquiBase
  • использование в проекте Guava, Thymleaf, Lombok, StreamEx, Typesafe Config, Java Microbenchmark JMH

Программа проекта

Занятие 1

  • Вступление. Многопоточность и параллельность.
  • Структура памяти Java. Ленивая инициализация.
  • Реализация многопоточности в Java
  • Реализация многопоточной отправки писем. Execution Framework

Занятие 2

  • Разбор ДЗ (многопоточная реализация умножения матриц)
  • Java Microbenchmark JMH (от Алексея Шипилева)
  • Формат XML. Создание схемы XSD.
  • Работа с XML в Java
    • JAXB, JAXP
    • StAX
    • XPath
    • XSLT

Занятие 3

  • Разбор ДЗ (работа с XML)
  • Обзор Guava
  • Монады. flatMap
  • SOA и Микросервисы
  • Многомодульный Maven проект

Занятие 4

  • Разбор ДЗ (реализация структуры проекта, загрузка и разбор xml)
  • Thymleaf
  • Maven. Поиск и разрешение конфликтов зависимостей
  • Подключаем логирование с общими настройкам
  • Библиотеки и фреймворки для работы с JDBC.
  • Модуль persistence

Занятие 5

  • Разбор ДЗ
    • Сохранение в базу в batch-моде с обработкой конфликтов
    • Вставка в несколько потоков
  • Конфигурирование приложения (Typesafe config)
  • Lombok

Занятие 6

  • Разбор ДЗ (доработка модели и модуля export)
  • Миграция DB
  • Веб-сервисы (REST/SOAP)
    • Java реализации SOAP
    • Имплементируем Mail Service

Занятие 7

  • Разбор ДЗ
    • реализация MailSender
    • сохранение результатов отправки в DB
    • импорт Проектов и Групп
  • Стили WSDL. Кастомизация WSDL
  • Публикация кастомизированного WSDL. Автогенерация.
  • Деплой в Tomcat
  • Создание клиента почтового сервиса
  • Реализация массовой и групповой отправки почты. HW7

Занятие 8

  • Разбор ДЗ
    • Делаем общий mailService.wsdl
    • Обновление WSDL
    • Отправка почты из модуля webapp
  • Доступ к переменным maven в приложении
  • SOAP Exception. Выделение общей части схемы
  • Коррекция схемы

Занятие 9

  • Добавление мавен плагинов (copy-rename-maven-plugin, maven-antrun-plugin, liquibase-maven-plugin)
  • Разбор ДЗ
    • Реализация вложений в веб-сервисе
    • Подключение MTOM
    • Реализация загрузки вложений в модуле webapp
    • Реализация вложений в почте
  • JAX-WS Message Context. Авторизация
  • JAX-WS Handlers (логирование SOAP)
  • Домашнее задание. Статистика

Занятие 10

  • Разбор ДЗ
    • Реализация SOAP handlers
    • Конфигурирование сервисов
  • JavaEE
  • JAX-RS. Интеграция с Jersey
  • JMS. Интеграция с ActiveMQ

Занятие 11

  • Авторизация в контейнере Tomcat
  • Отправка почты с вложениями
    • по JAX-RS
    • по JMS
  • Рефакторинг. Эксепшены в лямбдах Java 8
  • Concurrent and distributed applications toolkit AKKA
  • Отсылка почты через AKKA Actors (Typed и Untyped Actors)
  • Асинхронные сервлеты 3.0
  • Домашнее задание
    • Разбор решения с асинхронными сервлетами
  • Выбор языка программирования

About

Многомодульный maven. Многопоточность. XML. Веб сервисы. Удаленное взаимодействие


Languages

Language:Java 95.7%Language:XSLT 2.3%Language:HTML 2.0%