Корпоративное приложение Myphotos: JEE 7, NetBeans, Wildfly

via Udemy

Go to Course: https://www.udemy.com/course/java-ee-myphotos/

Introduction

The course on Coursera offers a comprehensive, hands-on learning experience focused on mastering Java Enterprise Edition 7 (Java EE 7) technologies through real-world application development. Specifically, it guides students in creating a robust corporate application called MyPhotos, which allows users to upload, view, and download photographs via a user-friendly web interface, as well as access services through RESTful APIs and SOAP protocols for integration with mobile platforms like Android, iOS, and Windows Phone. **Course Content & Structure:** This course is uniquely practical, with nearly all lessons dedicated to developing the MyPhotos application from start to finish. It begins with setting up the project architecture and culminates in deploying a fully functional distributed system on the WildFly server. The development process is divided into five sprints: 1. **UI and web module design:** Creating the basic layout and functionality. 2. **Data display features:** Implementing data rendering on the front end. 3. **Core features implementation:** Finalizing all primary web functions. 4. **Web services development:** Building RESTful and SOAP services. 5. **Deployment and distribution:** Developing a distributed version and deploying it in a production environment. **Technologies Covered:** - **JSON API:** For creating and converting JSON objects. - **Servlets & JSP:** For request handling, view rendering, and asynchronous operations. - **CDI (Contexts and Dependency Injection):** Dependency management and event handling. - **Bean Validation:** Validating user inputs and entity states. - **EJB (Enterprise Java Beans):** Implementing business logic, including stateless, stateful, and singleton beans, message-driven beans, timers, and dependency injection. - **Interceptors (AOP):** Cross-cutting concerns management. - **JPA:** Object-relational mapping, entity lifecycle, JPQL, and stored procedures. - **JMS:** Asynchronous messaging for distributed communication. - **JTA:** Transaction management for data consistency. - **JAX-RS & JAX-WS:** RESTful and SOAP-based web services creation, customization, and deployment. The course employs open-source Java EE servers such as GlassFish 4.1.1, WildFly 10.1, and TomEE 7.0.3, ensuring practical familiarity with industry-standard tools. **Why I Recommend This Course:** This course is ideal for Java developers and software engineers aiming to deepen their understanding of enterprise application development. Its project-based approach ensures that learners not only grasp theoretical concepts but also develop real, deployable solutions. The detailed walkthroughs, combined with explanations of design choices, make complex topics accessible. **Pros:** - Practical, project-driven learning - Coverage of a broad suite of Java EE technologies - Use of popular open-source servers - Suitable for beginners with prior Java knowledge and intermediate developers **Cons:** - Might be challenging for absolute beginners unfamiliar with Java SE fundamentals - Heavy focus on one application, which may require additional study for broader enterprise concerns **Conclusion:** If you're seeking a comprehensive, hands-on course that takes you from setting up an enterprise application to deploying a distributed system, this Coursera course is highly recommended. It immerses you in modern Java EE development practices, prepares you for real-world challenges, and equips you with skills applicable to enterprise software engineering. **Additional Resources for Further Learning:** - Java EE 7 Tutorial - *Beginning Java EE 7* by Энтони Гонсалвес - *EJB 3 in Action* by Дебу Панда et al. - *Java EE 7 Essentials* by Арун Гупта - *Clean Code* by Роберт Мартин - PostgreSQL official documentation - Sergei Morenets' books on Java application development Let this course be your stepping stone into the world of enterprise Java development!

Overview

Данный курс предназначен для изучения технологий из стека 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-1PostgreSQL документацияСергей Моренец, Разработка Java приложений - Книга 1Сергей Моренец, Разработка Java приложений - Книга 2

Skills

Reviews