План тренинга:
1) Вводная часть
- Язык Java. Преимущества и недостатки.
- SOA как повышение абстракции производства ПО
- Настройка окружения.
- Обзор сайтов и литературы по Java и ООП.
2) Создание проекта
- Среда сборки проектов Maven. Сравнение Ant и Maven. Недостатки Maven. Другие инструменты сборки.
- Настройки IDEA и проекта: кодировка, java version, plugins. Другие IDE
- Создание в среде IDEA многомодульного maven проекта. Структура проекта.
- Настройка Maven: кодировка, java version, зависимости
- Системы логгирование: java.util.logging, common-logging, Logback, SLF4J, Log4J.
- Обзор систем контроля версий. Subversion.
- Интеграция с системой контроля версий
3) Создание модуля Web
- Обзор веб-контейнеров и серверов приложений Java. Веб-контейнер Tomcat
- Создание web формы для отправки email. Стили css. Привязка формы к сервлету.
- Сборка, запуск, локальный и удаленный debug проекта, способы деплой в Tomcat, tomcat7-maven-plugin
- Мониторинг сети, консоль в firebug
4) Веб-сервисы
- Веб-сервисы. SOAP. Преимущества/недостатки веб-сервисов. Расширения.
- Реализация веб-сервисов в Java. JAX-RPC, JAX-WS, Apache Axis. Стили WSDL
- Создание веб-сервиса MailService.
- Деплой и тестирование через SoapUI.
5) Создание клиента веб-сервиса.
- Выделение клиента веб-сервиса в отдельный модуль.
- Подключение клиента к модулю Web, тестирование.
- Включение wsdl в клиента. Генерирование wsdl через IDE.
- Включение wsdl в сервис для публикации. Создание общих ресурсов проекта.
- Тестироване с помощью JUnit 4
- Интеграционное тестирование, maven-failsafe-plugin, профили maven
6) Конфигурирование.
- Настройка логгирования для тестов
- Настройка переменных окружения логгирования.
- Конфигурирование приложения: сommons-configuration, Configuring with Spring, Typesafe config library.
- Настройка доступа к общим ресурсам.
- Конфигурирование параметров почтового сервера.
- Конфигурирование значание по умолчанию (через include)
7) Отправка почты.
- Java Mail. Библиотека commons-email.
- Реализация отправки письма.
- Настройка кодировки сервлета.
8) Добавляем файлы вложения.
- Стандарт MIME. Обрабатываем вложения на форме: commons-fileupload
- Веб-сервисы: JAX-WS attachment with MTOM
- Приатачиваем к почте: EmailAttachment
9) Персистентность.
- Обзор Java persistence solution: JDBC(commons-dbutils, Spring JdbcTemplate), ORM(JPA, Hibernate, ElipseLink, MBean)
- Обзор реляционных СУБД. PostgreSQL. NoSql СУБД.
- Работа с базой: настройка Tomcat DataSource
- Настройка работы с DataSource из JUnit
- Работа с SQL: Commons DbUtils: JDBC Utility Component
- Запись истории отправки.
10) Отображение истории отправки.
- Библиотека JavaScript jQuery
- jQuery Grid Plugin jqGrid
- Ajax через jQuery.
11) Асинхронность. Отправка почты через DB. Надежность.
- Добавление в клиента асинхронных вызовов. @OneWay vs Java Execution framework
- Запуск задач по расписанию
- Запуск и конфигурирование сканирования. Доталкиватель.
12) Динамическое конфигурирование.
13) Сервис Шаблонов.
и многое другое
Программа курса будет уточняться и корректироваться.