Допустить к защите в гак заведующий кафедрой кандидат физико-математических наук, доцент Ю. В. Кольцов 2015г. Выпускная квалификационная работа бакалавра информационная система для мобильных устройств


Download 0.65 Mb.
bet11/13
Sana23.10.2023
Hajmi0.65 Mb.
#1717149
TuriРасписание
1   ...   5   6   7   8   9   10   11   12   13
Bog'liq
bibliofond.ru 863400


2.4 Серверная часть системы


Серверная часть приложения делится на две составляющие: непосредственно серверный код, который выполняется на сервере при помощи Node.JS, а также веб-клиент, код которого выполняется в браузере пользователя и взаимодействует с сервером по тем же принципам, что и мобильный клиент. Тем самым, архитектура сервера становится универсальной для любого клиента, не делая исключения для веб-клиента, при этом сам сервер и веб-клиент реализованы как один продукт, но могут быть разделены.


Сервер приложения реализован согласно принципам RESTful-серверов: каждая сущность в модели данных представлена ресурсом, который можно записывать, читать, изменять или удалять (если на это есть права доступа). Чтобы иметь доступ к ресурсам сервера необходимо, но не достаточно быть зарегистрированным пользователем системы. Затем все ресурсы (кроме ресурса профиля пользователя) становятся доступными для чтения. Также косвенно (при запросе расписания) можно получить профили пользователя.
Пользователи системы могут иметь тип (преподаватель, студент), который не влияет на выданные пользователям права, но дает возможность классифицировать пользователей, а также вводит ограничения целостности при создании расписания (преподавателем занятия может быть только пользователь с типом «преподаватель»).
Для контроля прав доступа в программе использованы роли. Роли могут быть трех видов: читатель (viewer), редактор (editor) и администратор (admin). Читатель имеет возможность писать только в ресурс профилей пользователей и только в свой профиль, при этом имеет возможность читать только свой профиль из ресурса профилей пользователей. Редактор - это читатель, который имеет право создавать замены в расписаниях, а также рассылать уведомления (данные возможности реализуются при помощи разрешения записи в ресурсы уведомлений и замен). Администратор имеет полномочия записи/правки/удаления всех ресурсов системы, включая конфигурационную сущность.
Авторизация приложения реализована при помощи cookies.
В таблице ниже указаны соответствия между моделью данных и RESTful-ресурсами, а также указаны права доступа к ресурсу для каждой роли (в формате HTTP-запросов: GET, POST, PUT, PATCH, DELETE):

Таблица 2 - соответствия между моделью данных и RESTful-ресурсами



Сущность модели

RESTful-ресурс

Viewer

Editor

Admin

App Configuration

/app-configurations

-

-

GET, POST, PUT, DELETE

User

/users

GET, POST, PUT, DELETE

GET, POST, PUT, DELETE

GET, POST, PUT, DELETE

Lesson

/lessons

GET

GET

GET, POST, PUT, DELETE

Lesson Type

/lesson-types

GET

GET

GET, POST, PUT, DELETE

Playground

/playgrounds

GET

GET

GET, POST, PUT, DELETE

Subject

/subjects

GET

GET

GET, POST, PUT, DELETE

Union

/unions

GET

GET

GET, POST, PUT, DELETE

Replacement

/replacements

GET

GET, POST, PUT, DELETE

GET, POST, PUT, DELETE

Notification

/notifications

GET

GET, POST, PUT, DELETE

GET, POST, PUT, DELETE

Schedule

/schedules

GET

GET

GET, POST, PUT, DELETE

Работа со всеми ресурсами системы является тривиальной, за исключением работы с ресурсом schedules.


При запросе ресурса schedules, если указаны параметры beginDate и endDate, то происходит выборка расписания за требуемый диапазон дат. При этом обязательно наличие одного из двух параметров: union или teacher, которые устанавливают дополнительное ограничение на выборку расписания (и позволяют избежать коллизий, при которых в одно время может быть несколько занятий).

Download 0.65 Mb.

Do'stlaringiz bilan baham:
1   ...   5   6   7   8   9   10   11   12   13




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling