Корпоративное приложение Myphotos на Java (фотосайт) [Udemy] [DevStudy.net]
Язык: Русский
Чему вы научитесь
Создание функционального макета web модуля
Реализация функций отображения данных web модуля
Реализация всех функций web модуля
Разработка rest и soap web сервисов
Разработка распределенной версии корпоративного приложения и его развертывание
Требования
Описание
Данный курс предназначен для изучения технологий из стека Java Enterprise Edition 7 на примере реализации корпоративного приложения Myphotos на базе созданного UI HTML шаблона, используя которое можно загрузить фотографии и любой желающий сможет просмотреть фотографии и скачать оригинал.
Доступ к приложению должен осуществляться через веб интерфейс, RESTful сервисы для использования в мобильных приложениях на платформах Android, IOS и Windows Phone и с помощью SOAP протокола для интеграции с другими корпоративными приложениями.
При разработке корпоративного приложения будут использованы следующие технологии:
В рамках курса будут использованы сервера реализации Java Enterprise Edition 7 с открытым исходным кодом: GlassFish 4.1.1, WildFly 10.1 и TomEE 7.0.3.
Разработка корпоративного приложения Myphotos состоит из пяти спринтов:
За исключением первого урока, описывающего постановку задачи и архитектуру будущего корпоративного приложения, на всех уроках данного курса практически разрабатывается данное приложение, т.е. в данном курсе нет теоретических лекций, а на протяжении всех уроков данного курса разрабатывается приложение начиная с постановке задачи и заканчивая сдачей проекта заказчику. В ходе разработке приводятся аргументы по выбору того или иного решения и детально описываются процессы работы и взаимодействия компонентов приложения.
Для получения теоретической и дополнительной информации по теме, рекомендуем следующие источники информации:
Язык: Русский
Чему вы научитесь
- Использовать все допустимые возможности стека технологий Java Enterprise Edition 7;
- Проектировать систему любой сложности на основании отдельных слабосвязанных CDI компонентов;
- Интегрировать социальные сервисы в Ваш проект;
- Разрабатывать асинхронные бизнес методы без использования JMS;
- Быстро разрабатывать SOAP веб сервисы;
- Использовать JEE сервера: Glassfish, Wildfly, TomEE для разработки и тестирования корпоративных приложений;
- Использовать возможности построения легковесных и модульных корпоративных приложений;
- Писать чистый и понятный другому программисту код;
- Разрабатывать распределенные приложения на базе стека технологий Java Enterprise Edition 7;
- Писать автоматическую документацию для REST сервисов;
- Разрабатывать JEE приложения, независимые от JEE сервера;
Создание функционального макета web модуля
Создание функционального макета web модуля | 04:55:47 |
Постановка задачи. Обзор шаблона UI. Обзор стека JEE7. Архитектура приложения | 28:17 |
Установка jdk 8, Netbeans 8.2, Glassfish, nginx, postgresql server, SQL Manager | 18:45 |
Создание базы данных myphotos | 22:09 |
Создание проекта myphotos | 21:46 |
Исключения, модель и интерфейсы бизнес сервисов | 30:44 |
Модель предметной области, модель хранения данных и правила валидации | 34:00 |
CDI аннотации, производители и конфигурирование свойств приложения | 30:04 |
Настройки CDI. Константы приложения | 23:18 |
Интерфейсы репозиториев и тестовая реализация | 19:53 |
Реализация бизнес логики с помощью EJB компонентов | 31:15 |
Реализация домашней страницы и страницы пользователя для web модуля | 35:36 |
Реализация функций отображения данных web модуля | 03:03:06 |
Объектно-реляционное отображение и конфигурирование JPA | 30:25 |
Создание JPQL запросов для JPA репозиториев | 33:44 |
Обработка и хранение фотографий | 28:10 |
Загрузка тестовых фотографий | 12:38 |
Абстрактный генератор и вспомогательные компоненты | 14:57 |
Генерация тестовых данных | 31:12 |
Доработка контроллеров для публичных страниц web модуля | 32:00 |
Реализация всех функций web модуля | 03:20:29 |
Интеграция с Facebook | 32:31 |
Интеграция с Google+ | 26:46 |
Стратегии генерации uid | 22:49 |
Регистрация пользователя | 31:21 |
Настройка безопасности web модуля с помощью Apache Shiro | 33:05 |
Редактирования данных и загрузка фотографий | 26:51 |
Обработка ошибок в веб приложении | 27:06 |
Разработка rest и soap web сервисов | 02:21:59 |
Создание интерфейсов web сервисов | 20:40 |
Завершение модуля myphotos-ws | 30:37 |
Создание REST web сервисов | 28:41 |
Создание REST контроллеров | 24:40 |
Документация REST web сервисов: WADL и OpenAPI Specification | 37:21 |
Разработка распределенной версии корпоративного приложения и его развертывание | 03:01:10 |
Демонстрация построения распределенных приложений с помощью JEE7 | 33:04 |
Создание отдельного модуля обработки фотографий для распределения нагрузки | 26:45 |
Изменение бизнес логики для поддержки распределенной архитектуры | 28:07 |
Развертывание корпоративного приложения на сервере WildFly | 42:14 |
Обзор результатов | 51:00 |
Требования
- Курс ориентирован на Java разработчиков, которые освоили Java Core и познакомились с Java EE
Описание
Данный курс предназначен для изучения технологий из стека Java Enterprise Edition 7 на примере реализации корпоративного приложения Myphotos на базе созданного UI HTML шаблона, используя которое можно загрузить фотографии и любой желающий сможет просмотреть фотографии и скачать оригинал.
Доступ к приложению должен осуществляться через веб интерфейс, RESTful сервисы для использования в мобильных приложениях на платформах Android, IOS и Windows Phone и с помощью SOAP протокола для интеграции с другими корпоративными приложениями.
При разработке корпоративного приложения будут использованы следующие технологии:
- JSON API: создание JSON объектов с помощью builder, автоматическая конвертация Java объектов в JSON и наоборот;
- Servlets & JSP: Маппинг с помощью аннотаций, асинхронные сервлеты, обработка file upload, фильтры, слушатели, JSP теги, JSTL, EL;
- CDI (Contexts and Dependency Injection): внедрение зависимостей, квалификаторы, альтернативы, производители данных, bean definition аннотации, перехватчики, методы обратного вызова, события CDI, beans.xml;
- Bean Validation: встроенные ограничения, пользовательские ограничения, группы валидации, интеграция с JPA, валидаторы и валидация компонентов;
- EJB (Enterprise Java Beans): сессионные (stateless, stateful, singleton) бины и бины управляемые сообщениями MDB (Message Driven Beans), асинхронные бизнес методы, служба таймера, декларативное создание таймера, локальные и удаленные интерфейсы, представления без интерфейсов, внедрение EJB компонента и поиск по JNDI, методы обратного вызова. инициализация при запуске, управление конкурентным доступом singleton бина, внедрение зависимостей, дескриптор развертывания, использование встроенного EJB контейнера;
- Interceptors (перехватчики): реализация AOP с помощью перехватчиков, изменения параметров метода в перехватчике;
- JPA (Java Persistence API): объектно-реляционное отображение, слушатели, генерация сущностей на основе схемы базы данных, конфигурирование persistence.xml, вызов хранимой процедуры из Java, использование xml для привязки слушателей к сущностям, использование JPQL для создания статических запросов к базе данных;
- JMS (Java Message Service): фабрики и очереди JMS, использование возможностей JMS 2.0, асинхронная доставка и MDB компоненты, свойства сообщений;
- JTA (Java Transaction API): локальные транзакции JTA, управляемые EJB контейнером транзакции, атрибуты транзакций и управление откатом, исключения и транзакции, использование транзакций в управляемых компонентах CDI;
- JAX-RS (Java API for Restful Web Service): аннотации JAX-RS, обработчики исключений, внедрение зависимостей, документирование REST сервисов, вызов REST web служб, обработка асинхронных запросов;
- JAX-WS (Java API for XML-Based Web Service): аннотации JAX-WS, использование EJB компонентов в качестве реализаций WS интерфейсов, кастомизация SOAP ошибок, генерация WSDL (Web Services Description Language), вызов web служб;
В рамках курса будут использованы сервера реализации Java Enterprise Edition 7 с открытым исходным кодом: GlassFish 4.1.1, WildFly 10.1 и TomEE 7.0.3.
Разработка корпоративного приложения Myphotos состоит из пяти спринтов:
- Первый спринт завершается созданием функционального макета web модуля;
- Второй спринт завершается реализацией функций отображения данных web модуля;
- Третий спринт завершается реализацией всех функций web модуля;
- Четвертый спринт завершается реализацией rest и soap web сервисов;
- Пятый спринт завершается разработкой распределенной версии корпоративного приложения и развертывании его на production сервере WildFly;
За исключением первого урока, описывающего постановку задачи и архитектуру будущего корпоративного приложения, на всех уроках данного курса практически разрабатывается данное приложение, т.е. в данном курсе нет теоретических лекций, а на протяжении всех уроков данного курса разрабатывается приложение начиная с постановке задачи и заканчивая сдачей проекта заказчику. В ходе разработке приводятся аргументы по выбору того или иного решения и детально описываются процессы работы и взаимодействия компонентов приложения.
Для получения теоретической и дополнительной информации по теме, рекомендуем следующие источники информации:
- Java Enterprise Edition 7 Tutorial
- Энтони Гонсалвес, Изучаем Java EE 7 (Beginning Java EE 7) - СПб.:Питер, 2014 - 640 с. - ISBN 978-5-496-00942-3
- Дебу Панда, Реза Рахман, Райан Купрак, Майкл Ремижан, EJB 3 в действии (EJB 3 in Action) - М.:ДМК Пресс, 2015. - 618 с. - ISBN 978-5-97060-135-8
- Арун Гупта, Java EE 7. Основы (Java EE 7 Essentials) - Вильямс, 2014. - 336 с. - ISBN 978-5-8459-1896-3
- Роберт Мартин, Чистый код: создание, анализ и рефакторинг - СПб.:Питер, 2010. - 464 с. - ISBN 978-5-49807-381-1
- PostgreSQL документация
- Сергей Моренец, Разработка Java приложений - Книга 1
- Сергей Моренец, Разработка Java приложений - Книга 2
Продажник: udemy.com/java-ee-myphotos/