3. Основные понятия СМЭВ QL
3.1. Ресурс
Ресурс представляет собой объект (таблица) хранилища Поставщика, данные которого могут быть получены или изменены Потребителем при запросе к СМЭВ QL серверу. Ресурс описывается в модели данных СМЭВ QL, а так же указывается в исходном запросе от Потребителя.
Пример определения ресурса в модели данных СМЭВ-QL:
resources:
- tickets: *base_model
name: Билеты
fields: "id", "passengerid", "tripid", "number", "bycard", "price", "sold"
Пример определения ресурса в запросе Потребителя:
"query": {
"tickets": {
"conditions": {
"number": 1
},
"attributes": ["id", "passengerid", "tripid", "number", "bycard", "price", "sold"]
}
3.2. Машина состояний
СМЭВ QL содержит встроенную машину состояний (или стэйт-машина) для изменения ресурсов витрин данных. Одновременно с этим стейт машина может в качестве подтверждения перехода состояния использовать внешний источник.
Карта состояний и переходов машины состояний описывается в виде YAML-файла state.yaml располагаемого в папке
states/<имя-модели>/<х.х версия модели> инстанса СМЭВ QL сервера.
3.3. Базовая модель данных
Базовая модель данных - это описание типовых элементов и форматов данных, которые могут использоваться (наследоваться) при создании пользовательских моделей (Раздел 2.3.5.2.4).
Базовая модель не описывает схему данных витрины и не участвует в логике СМЭВ QL при обработке запросов. Хранится в файловой
системе СМЭВ QL сервера по пути: models>base>1.0>model.yaml
3.4. Модель данных
Модель данных (пользовательская модель данных, custom-модель) - описание метаданных витрины, извлекаемых при обращении потребителя к СМЭВ QL серверу. Содержит названия ресурсов (таблиц), атрибутов ресурсов, связи с другими моделями, ограничения на использование ресурсов для потребителей, а так же источники хранения ресурсов.
Каждая модель представляет из себя YAML-файл, которая может ссылаться на базовую модель данных (Раздел 2.3.5.2.3) для оптимизации описания.
Хранится в виде YAML-файла model.yaml по пути: models>custom>1.0>model.yaml инстанса СМЭВ QL сервера.
3.5. Распределённый запрос
При обращении Потребителя к СМЭВ QL серверу, исполнение запроса (получение данных по запросу) может происходить с участием одного или нескольких источников (поставщиков данных). В случае если для получения данных шло обращение к двум и более источникам, то такой запрос называется распределенным.
Описание источников получения данных задается на уровне Раздел 2.3.5.2.4 в блоке extract:.
При этом Потребитель всегда обращается к одному СМЭВ QL, от которого ожидает получение всех данных о всех источников.
Рисунок - 3.9 Пример схемы распределенного запроса
3.6. Регламентированный СМЭВ QL запрос
Регламентированный СМЭВ QL запрос (СМЭВ QL РЗ) - это сохраненный в файловой системе сервера шаблон запроса к СМЭВ QL серверу с обозначенными местами для вставки параметров.
При вызове СМЭВ QL РЗ в шаблон подставляются переданные параметры и выполняется стандартный запрос к данным.