Данный курс предназначен для изучения технологий из стека 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
Посмотреть больше
Этот материал находится в платной подписке. Оформи премиум подписку и смотри или слушай
Корпоративное приложение Myphotos,
а также все другие курсы, прямо сейчас!
Модель предметной области, модель хранения данных и правила валидации
Урок 7.00:30:05
CDI аннотации, производители и конфигурирование свойств приложения
Урок 8.00:23:19
Настройки CDI. Константы приложения
Урок 9.00:19:54
Интерфейсы репозиториев и тестовая реализация
Урок 10.00:31:16
Реализация бизнес логики с помощью EJB компонентов
Урок 11.00:35:37
Реализация домашней страницы и страницы пользователя для web модуля
Урок 12.00:30:26
Объектно-реляционное отображение и конфигурирование JPA
Урок 13.00:33:45
Создание JPQL запросов для JPA репозиториев
Урок 14.00:28:11
Обработка и хранение фотографий
Урок 15.00:12:39
Загрузка тестовых фотографий
Урок 16.00:14:58
Абстрактный генератор и вспомогательные компоненты
Урок 17.00:31:13
Генерация тестовых данных
Урок 18.00:32:01
Доработка контроллеров для публичных страниц web модуля
Урок 19.00:32:32
Интеграция с Facebook
Урок 20.00:26:47
Интеграция с Google+
Урок 21.00:22:50
Стратегии генерации uid
Урок 22.00:31:22
Регистрация пользователя
Урок 23.00:33:06
Настройка безопасности web модуля с помощью Apache Shiro
Урок 24.00:26:52
Редактирования данных и загрузка фотографий
Урок 25.00:27:07
Обработка ошибок в веб приложении
Урок 26.00:20:41
Создание интерфейсов web сервисов
Урок 27.00:30:38
Завершение модуля myphotos-ws
Урок 28.00:28:42
Создание REST web сервисов
Урок 29.00:24:42
Создание REST контроллеров
Урок 30.00:37:22
Документация REST web сервисов: WADL и OpenAPI Specification
Урок 31.00:33:05
Демонстрация построения распределенных приложений с помощью JEE7
Урок 32.00:26:46
Создание отдельного модуля обработки фотографий для распределения нагрузки
Урок 33.00:28:08
Изменение бизнес логики для поддержки распределенной архитектуры
Урок 34.00:42:15
Развертывание корпоративного приложения на сервере WildFly
Урок 35.00:51:01
Обзор результатов
Комментарии
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Основы программирования - Крестики-нолики (на примере Java)
Данный курс предназначен для изучения основ программирования: введение в алгоритмизацию, принципов языков программирования высокого уровня, основных выражений и операторов, знакомство с итеративными и рекурсивными алгоритмами, алгоритмами сортировки и поиска и практического освоения теоретических знаний на примере реализации игры "Крестики-нолики".
В рамках данного курса будет написано Web приложение My Resume с использованием Java технологий: Spring Core, Spring MVC, Spring Data JPA, Hibernate, Spring Security, Sitemesh, Spring Data ElasticSearch, JSP, JSTL, Hibernate-Validators, Facebook API, Spring Data Mongo.
В рамках данного курса будет написано Web приложение с использованием Java технологий: Servlets, JSP, JSTL, JDBC. В качестве среды разработки будет использовано IDE Eclipse. В качестве UI будет выбран готовый HTML шаблон и на его базе будет создано полноценное web приложение.
Данный курс предназначен для изучения основ Java Enterprise Edition (JEE) для создания web приложений с помощью языка Java. Данный курс состоит из двух частей: в первой части рассматривается теоретический обзор основных web компонентов: Servlets, Filters, Listeners, JSP, JSP tags, JSTL, а также основы HTTP протокола, а во второй части полученные теоретические знания применяются для создания полноценного web приложени
Данный курс предназначен для изучение принципов и правил работы популярных в Java мире фреймворков таких как Spring, Spring Data, JPA. На примере работающего проекта в ходе 10 занятий будут рассмотрены типовые проблемы с которыми сталкивается профессиональный Java разработчик при создании проектов. Будут рассмотрены возможности Java Reflection и каким образом используя данные возможности программист может создать уни