Що нового?

Придбаний Веб-сервисы. SOA-based архитектура

Інформація про покупку
Тип покупки: Складчина
Ціна: 7000 ГРН
Учасників: 0 з 41
Організатор: Відсутній
Статус: Набір учасників
Внесок: 177.6 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
Веб-сервисы. SOA-based архитектура

Скрытое содержимое.
Описание:
Для участников, имеющих опыт программирования на Java.
Разработка полнофункциональнго многомодульного Maven проекта: web-приложения, почтового сервиса и вспомогательных модулей с использованием Веб и REST сервисов (JAX-WS, JAX-RS), jQuery, Execution Framework, JavaMail, библиотек Apache Commons, AKKA и персистентностью данных c динамическим конфигурирование модулей по http и JMX..




    • На тренинге подробно разбирается написание с нуля полнофункциональнго многомодульного проекта: web-приложения, почтового сервиса и вспомогательных модулей с использованием Веб и REST сервисов (, ), , Execution Framework, JavaMail, библиотек , и персистентностью данных c динамическим конфигурирование модулей по http и JMX.
    • Основное внимание будет уделяться способам решения многочисленных проблем разработки а также структурному (красивому и надежному) java кодированию и модульности приложения.
    • После каждого занятия предлагается домашнего задания, которое разбирается в начале следующего урока.
Для построения приложения будут использоваться инструменты промышленной java разработки:



    • Java 7
    • Веб-контейнер
    • Объектно-реляционная СУБД
    • Среда разработки
    • Инструмент постороения
    • Система контроля версий
    • Библиотеки
    • Библиотека JavaScript
    • Интеграционные и модульные тесты
    • Система логгирования и
    • Библиотека конфигурирования
    • Инструмент тестирования веб-сервисов
    • Средство отладки веб-приложений
План вебинара
Занятие 1
Вводная часть
План вебинара


    • Основные характеристики разрабатываемого на курсе приложения..
    • как повышение абстракции производства ПО
    • Платформа Java. Преимущества и недостатки. Java 8.
    • Сравнение с Python, Scala. Элементы и библиотеки ФП в Java



    • Литература:
Maven



    • Среда сборки проектов .
    • . Snapshots
    • . Другие инструменты сборки.



    • Литература:
Создание проекта



    • Настройки IDEA и проекта: кодировка, java version, plugins.
    • Создание в среде IDEA многомодульного maven проекта. Структура проекта.
    • Настройка Maven: кодировка, java version, зависимости
    • Системы логгирование: .
    • Создание шаблона проекта.
    • Настройка доступа к общим ресурсам,
Занятие 2
Создание/тестирование формы модуля Web




    • Создание web формы для отправки email. Стили css. Привязка формы к сервлету.
    • Мониторинг сети, консоль в firebug
    • Сборка, запуск, локальный и удаленный debug проекта, способы деплоя в Tomcat,
    • tomcat7-maven-plugin:
Веб-сервисы



    • SOAP. Преимущества/недостатки веб-сервисов. Расширения.
    • Реализация веб-сервисов в Java. JAX-RPC,
    • Создание API и реализации веб-сервиса MailService.
    • Деплой и тестирование через .



    • Литература:



    • Примеры:
Доработка веб-сервиса. Кастомизация WSDL.



    • Работа с JAXB.
    • Включение wsdl в сервис для публикации.
    • Генерация java кода по WSDL
Домашнее задание
  1. Модифицировать Addressee для вывода в формате soa-ws2\mail-api\src\test\resources\Addressee.xml
  2. Сделать схему Addressee.xsd, положить рядом с Addressee.xml
  3. На основе JaxbSingleParser написать JUnit4 тест для проверки маршалинга/демаршалинга/валидации Addressee:
2.1 Маршализовать new Addressee("Name", "") и сравнить с Addressee.xml
2.2 Демаршализовать Addressee.xml и сравнить с new Addressee("Name", "")
2.3 Провалидировать Addressee.xml
2.4 Убедится в SAXParseException при валидации InvalidAddressee.xml

Для чтения файлов использовать IOUtils.toString библиотеки commons-io%commons-io%2.4

4. Включить схему внутрь wsdl и опубликовать mailService на основе кастомизированной схемы.

Занятие 3
Разбор Домашнего Задания.




    • Стандартные библиотеки ,
Клиент веб-сервиса.



    • Публикация веб сервиса из main(). Дабавлние wsdl
    • Выделение из wsdl общей части
    • Создание клиента почтового сервиса.
    • Тестирование с помощью
    • Интеграционное тестирование,
JAX-WS Handlers.



    • Логгирование SOAP на стороне клиента.
    • Логгирование и статистика трафика опубликованного веб-сервиса.
Домашнее задание
  1. Добавить в имплементацию сервиса логин/пароль.
  2. Добавить в интеграционные тесты фазу pre-integration-test (запуска сервиса) и post-integration-test (shutdown).
Занятие 4
Basic Authorization.




    • Выделение общего клиента веб сервиса
Конфигурирование.



    • Конфигурирование приложения: , ,
    • Конфигурирование параметров почтового сервера.
    • Конфигурирование значание по умолчанию (через include)
Отправка почты.



    • Подключение клиента к модулю Web.
    • Java Mail. Библиотека .
    • Реализация отправки письма.
Домашнее задание
Реализовать аутентификацию через Soap Handler.

Занятие 5
Разбор ДЗ.




    • wsimport binding.
    • SoapHandler аутентификация.
Добавляем файлы вложения. Mail-Service.



    • Приатачиваем вложения к почте
    • Генерация обновленного WSDL через wsgen
    • Веб-сервисы:
    • Тестирование вложений через
Загрузка файлов.



    • Стандарт MIME. Обрабатываем вложения на форме:
    • Загрузка файла вместе в полями формы.
    • Вызов клиента с вложениями.
Домашнее задание
  1. Дополнить интеграционные тесты проверкой на неавторизованный доступ.
  2. Попробовать задать код ответа сервера в SoapServerSecurityHandler через MessageContext.HTTP_RESPONSE_CODE.
  3. Пофиксить проблему отправки почты с пустыми subject и body.
Занятие 6
Персистентность.




    • .
    • Обзор Java persistence solution: , , , ORM (Hibernate, , , ). .
    • СУБД .
    • Работа с базой: создание базы, настройка IDEA Database.
    • Создание таблицы. Денормализация
    • Миграция базы.
    • Работа с DB через DataSource, настройка tomcat.
    • Настройка работы с DataSource из JUnit.
    • Работа с SQL:
    • Запись в базу. Обертка над
REST веб сервис.



    • . Интеграция с
    • Поддержка Json.
Домашнее задание
  1. Дополнить REST сервис авторизацией (логин/ пароль те же, что и у веб сервиса).
  2. Сделать JUnit на охранение/ чтение из базы.
  3. Дополнить интеграционные тесты проверкой на неавторизованный доступ.
Занятие 7
Сохранение, отображение истории почты.




    • Сохранение истории почты при отсылке
    • Библиотека JavaScript .
    • Добавляем таблицу отсылки почты на UI
    • Добавление в UI отображения состояния почты
    • JavaScript debug в IDEA
Асинхронность.



    • vs Java Execution framework
    • Добавление в клиенте асинхронных вызовов.
Домашнее задание
Исключить из MailWSClientIT.testSendMailAsync ожидание Thread.sleep.

Занятие 8
Сканирование истории почты




    • Добавление в Exception source.
    • Конфигурирация сканирования.
    • Добавление в сканирование вложений
    • Инициализация конфигурации при старте сервиса
Домашнее задание
Сделать SecurityException через WebStateException.
Сделать читаемым отображение ошибок отправки почты.

Занятие 9
Динамическое конфигурирование.




    • Просмотр и изменение конфигурации по http
    • Добавление в проект атрибутов модуля maven

      • Maven Groovy cкрптинг.
      • Настройка Tomcat на удаленное администрирование по JMX
      • .
      • .
Домашнее задание
Добавить в конфигурацию модуля web параметр rowNumber (web.rowNumber = 10 в конфигурации)
Сделать его атрибутом JMX и выводить соответствующее rowNumber число строк таблицы истории почты.

Занятие 10
Асинхронность и маштабируемость.




    • Асинхронные сервлеты 3.x в Tomcat
    • Проблема MemoryLeak.
    • Интеграция akka-remote в приложение.

Скрытое содержимое.
http://javawebinar.ru/masterjava
 
Угорі