Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Дизайн и архитектура Duke’s Tutoring

Duke's Tutoring — это веб-приложение, которое включает в себя несколько технологий Java EE. Он предоставляет как основной интерфейс (для студентов, опекунов и сотрудников учебного центра), так и административный интерфейс (для обслуживающего систему персонала). Бизнес-логика для обоих интерфейсов обеспечивается Enterprise-бинами. Enterprise-бины используют API персистентности Java для создания и сохранения данных приложения в базе данных. Рисунок 61-1 иллюстрирует архитектуру приложения.

Рисунок 61-1. Архитектура Duke's Tutoring

Схема архитектуры приложения Duke's Tutoring. Два клиента получают доступ к основному интерфейсу и интерфейсу администратора, развёрнутому в веб-контейнере. Эти интерфейсы взаимодействуют с Enterprise-бинами, развёрнутыми в контейнере EJB. Enterprise-бины взаимодействуют с базой данных.

Приложение Duke’s Tutoring состоит из двух основных проектов: библиотеки dukes-tutoring-common и веб-приложения dukes-tutoring-war. Проект библиотеки dukes-tutoring-common содержит классы сущностей и вспомогательные классы, используемые веб-приложением dukes-tutoring-war, и dukes-tutoring-common упакован и развёртывается вместе с dukes-tutoring-war. JAR-файл библиотеки удобен для повторного использования классов сущностей и вспомогательных классов в других приложениях, таких как клиентское приложение JavaFX.

Duke’s Tutoring использует следующие функции платформы Java EE:

  • Сущности API персистентности Java

    • Кастомная аннотация Bean Validation @Email для валидации адресов электронной почты

    • Стандартное определение jta-data-source, которое создаёт ресурс JDBC при развёртывании

    • Стандартное свойство в дескрипторе развёртывания persistence.xml для автоматического и переносимого создания и удаления таблиц в jta-data-source

  • Enterprise-бины

    • Локальная сессия представления без интерфейса и компоненты-синглтоны

    • Ресурсы JAX-RS в сессионном компоненте

    • Ограничения безопасности Java EE для бизнес-методов административного интерфейса

    • Все Enterprise-бины упакованы в WAR

  • Веб-сокеты

    • Серверная конечная точка веб-сокета, которая автоматически публикует статус учащихся на клиентских конечных точках

  • Контексты и инъецирование зависимостей

    • Событие CDI, которое запускается при изменении статуса студента

    • Методы-обработчики для обновления приложения после запуска события состояния

    • Managed-бины CDI для страниц Facelets

    • Аннотации Bean Validation в Managed-бинах CDI

  • JavaServer Faces, использующая Facelets для веб-интерфейса

    • Шаблонизация

    • Составные компоненты

    • Кастомный форматтер, PhoneNumberFormatter

    • Ограничения безопасности на административном интерфейсе

    • Компоненты Facelets с поддержкой Ajax

Приложение Duke’s Tutoring имеет два основных пользовательских интерфейса, оба упакованы в один WAR-файл:

  • Основной интерфейс для студентов, опекунов и сотрудников

  • Административный интерфейс, используемый персоналом для управления студентами и опекунами, а также для создания отчётов о посещаемости


Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)