Клиент-серверное взаимодействие реализовано по архитектуре REST. REST – (сокр. от англ. Representational State Transfer – «передача репрезентативного состояния») – метод взаимодействия компонентов распределѐнного приложения в сети Интернет, при котором вызов удаленной процедуры представляет собой обычный HTTP-запрос (в данной работе использовались только GET или POST), а необходимые данные передаются в качестве параметров запроса. REST запросы имеют следующий вид: GET http:///? Например: запрос на получение всех проектов пользователя c уникальным идентификатором “example-u1” имеет вид: GET http://localhost:3000/api/project/ example-u1 Формат данных для обмена между клиентом и сервером - JSON На рис.1 представлена схема пользовательских классов, хранящих данные о диаграммах, созданных пользователями: Рис. 1. Структура пользовательских классов подсистемы, отвечающей за хранение данных. Пользователь (User) регистрируется в системе и может создать неограниченное количество проектов (Project). Проект подразумевает диаграмму классов, следовательно, проект может состоять из неограниченного числа классов. Объект Class – это набор связанных классов, данные о которых хранятся в свойстве Schema. 170