69
В интерфейсе UserService описаны необходимые методы для
реализации, а в классе UserServiceImpl, реализация данных методов.
Рассмотрим некоторые из них подробнее. Метод getUserById служит для
получения информации о пользователе по его уникальному id, который в
данном конкретном случае является первичным ключом таблицы users. Таким
образом при работе этого метода выходные данные – id, email, password_hash,
role пользователя системы. Метод getUserByEmail получает те же самые данные
пользователя, но при поиске по его email. Метод getAllUsers возвращает
коллекцию, состоящую из всех пользователей таблицы users. Методы create и
delete служат для создания и удаления пользователей соответственно.
По аналогии создаются сервисные интерфейсы, классы и реализации
необходимых методов для работы со статьями и комментариями к ним. Разница
состоит лишь в различных источниках данных, и методах, например, интерфейс
MainDataService, предназначенный для описания методов доставки данных для
пользовательского интерфейса содержит гораздо больше методов.
Так же на сервисном слое (в пакете com.platform.service.storage)
находятся интерфейсы и классы для работы с изображениями, и в дальнейшем
как с обычными текстовыми файлами, так и с файлами формата pdf с
использованием дополнительной библиотеки (Apache PDFBox).
3.2. Разработка клиентской части информационной системы управления
сайтом
Клиентская часть приложения служит для взаимодействия с
пользователями и отображения данных. Зачастую для работы с отображениями
в проектах, написанных на языке программирования Java используется
JavaServer Faces (JSF) - спецификация для построения интерфейсов состоящих
из различных компонентов. Несмотря на хорошую поддержку, множество как
платных, так и бесплатных реализаций и простоту разработки, JSF обладает
очень серьёзными недостатками, такими как крайняя низкая скорость работы
(во многом из-за работы на стороне сервера), и сложностей при изменении