Сервисы
Сервисы предназначены для выполнения функций Платформы. Набор необходимых сервисов определяется администратором, исходя из решаемых задач.
Модуль Процесс
Чтобы создать новый процесс:
В ЦН перейдите в раздел Сервисы:
Нажмите на кнопку +. В рабочей области страницы отобразится интерфейс создания / редактирования сервиса, содержащий две вкладки: Основные и Параметры сервиса.
На вкладке Основные заполните следующие поля:
Название: произвольное название сервиса, необязательно для заполнения.
Имя: уникальное имя сервиса, обязательно для заполнения.
Комментарий: описание сервиса, необязательно для заполнения.
Для активации модуля установите флажок Включен.
Для получения доступа к файлу конфигурации нажмите на переключатель в правом верхнем углу страницы.
Для создания модуля Процесс выберите опцию Обработка данных и сообщений в разделе Настройка сервисов:
На вкладке Параметры сервиса внесите рекомендованные значения:
После внесения данных нажмите на кнопку Сохранить.
Нажмите на кнопку Применить конфигурацию:
Модуль Банк данных
Модуль используется для хранения пользовательских данных в Платформе.
Чтобы создать модуль Банк данных:
В ЦН перейдите в раздел Сервисы:
Нажмите на кнопку +. В рабочей области страницы отобразится интерфейс создания / редактирования сервиса, содержащий две вкладки: Основные и Параметры сервиса.
На вкладке Основные заполните следующие поля:
Название: произвольное название сервиса, необязательно для заполнения.
Имя: уникальное имя сервиса, обязательно для заполнения.
Комментарий: описание сервиса, необязательно для заполнения.
Для активации модуля установите флажок Включен.
Для создания модуля Банк данных выберите опцию Банк данных в разделе Настройка сервисов:
На вкладке Параметры сервиса заполните необходимые значения:
Выберите используемую СУБД.
Установите флажок Регистрация действий, если все действия с хранилищем должны журналироваться в таблицу masterjournal базы банных хранилища (по умолчанию флажок не установлен).
Заполните следующие поля:
Сервер
Экземпляр
Порт
Имя базы данных
Перейдите в режим редактора конфигурации, нажав на соответствующую кнопку:
Установите параметры сервиса: databaseType, serverAddress, serverPort, serverInstance, database, в account учетные данные для подключения к СУБД, name, description.
После внесения данных нажмите на кнопку Сохранить.
Нажмите на кнопку Применить конфигурацию:
Пример конфигурации сервиса банка данных:
{ "$type": "DT.ClusterConfiguration.NodeModule, DT_Core", "config": { "$type": "DT.ConfigurationRepository.Configuration.ModuleConfiguration.StorageConfig, DT_ConfigurationRepository", "changeLog": false, "storeDay": 0, "databaseConfiguration": { "$type": "DT.ClusterConfiguration.DBConnectionConfig, DT_Core", "databaseType": "MsSql", "useConnectionString": false, "useUsernameAndPassword": true, "serverAddress": "DTplatform31", "serverPort": 1433, "serverInstance": "sqlexpress", "database": "MyDB", "account": { "$type": "DT.ClusterConfiguration.Account, DT_Core", "userName": "Testing", "passwordNew": "Datare0n!", "useCredential": false }, "integratedSecurity": false, "pooling": true, "minimumPoolSize": -1, "maximumPoolSize": -1, "connectionLifetime": -1, "properties": [] }, "sendingStrategy": "" }, "isActive": true, "folderId": null, "entityId": "e24de33c-a25f-494c-a97c-042b8775c21c", "clusterId": "140e7996-8609-4ebd-a783-ca63855dbb9a", "name": "Банк_данных", "description": "Банк данных", "version": 1, "tagsCollection": [], "className": "DataBank", "classNameStr": "Банк данных", "comment": "" }
Примените конфигурацию и удостоверьтесь, что в диспетчере задач появился процесс банка - DatareonPlatformDataBank.
Модуль Управление пользователями
Модуль хранит информацию о пользователях данных.
Для управления пользователями данных используйте:
методы на C#, которые можно вызывать из алгоритмов/функций. Описание методов в коде приведено в разделе Разработчику.
API узла, контроллер CredentialExternalUsers.
UI (формы типа Credential).
Чтобы создать модуль:
Откройте вкладку Сервисы.
На вкладке Основные укажите имя модуля.
Для активации модуля установите флажок Включен.
Для получения доступа к файлу конфигурации нажмите на переключатель в правом верхнем углу страницы.
Для создания модуля Управление пользователями выберите опцию Управление пользователями в разделе Настройка сервисов:
На вкладке Параметры сервиса введите необходимые значения.
Выберите тип СУБД и введите название сервера и параметры подключения. При необходимости можно задать параметры авторизации с помощью флажка Вход по имени пользователя и паролю.
Структура базы
Для хранения данных используется СУБД MS SQL/PostgreSQL в зависимости от настроек модуля.
Таблицы:
users - список пользователей.
passwords - список паролей пользователей.
role_users - список соответствий пользователей и ролей.
folders - список папок пользователей.
role_folders - список соответствий папок и ролей.
sessions - список сессий, открытых пользователями на модулях.
journal - журнал регистрации действий пользователей. Регистрируются только действия, указанные в списке LoggingActions в настройках модуля.
externalUsers - список паролей к внешним системам.
metadata - текущая структура таблиц с дополнительными и секретными полями.
11111111-0000-0000-0000-000000000000 - таблица с дополнительными полями. Дополнительные поля настраиваются в списке additionalFields конфигурации модуля.
11111112-0000-0000-0000-000000000000 - таблица с секретными полями. Секретные поля настраиваются в списке secretField конфигурации модуля.
Структура таблиц с дополнительными и секретными полями обновляется аналогично таблицам с типами в банке при apply. Поля могут быть только простого типа и не могут являться массивами.
Две разные таблицы необходиммы для предоставления администратору СУБД возможности настраивать разные уровни доступа к этим таблицам. Таким образом исключается возможность открытого доступа к паролям и секретным полям.
В таблице folders при создании базы находится одна корневая папка с ID 11111111-0000-0000-0000-000000000000 и названием Все пользователи. Если у аккаунта пользователя не указан FolderId, то он будет помещен в эту папку. Папка защищена от удаления.
Использование авторизации для пользователей данных
Авторизация может использоваться:
- в api узла - настраивается в кластере (enabled true/false):
"auth": { "$type": "DT.ClusterConfiguration.AuthenticationConfig, DT_Core", "enabled": false }
в веб-адаптерах;
в custom-адаптерах;
в модуле UI.
При включении / выключении авторизации все веб-сервисы перезапускается, чтобы добавить / убрать функции авторизации.
Все остальные параметры авторизации берутся из модуля Credential. Если модуль Credential отсутствует, включение авторизации невозможно.
При включенной авторизации в веб-сервисах в swagger сверху отображается кнопка Authorize и контроллеры с методами для авторизации. При этом методы (все или некоторые) перестают работать без авторизации (для веб-обработчиков авторизация настраивается включением флажка Требуется авторизация).
Как работает авторизация:
Клиент вызывает метод для получения токена, передав логин и пароль.
Модуль отправляет запрос в модуль Credential, который проверяет все данные, и если все ок - записывает данные в таблицу sessions и возвращает модулю готовую сессию. Модуль сохраняет сессии в памяти. Данные о сессии возвращаются клиенту.
Если вы пользуетесь swagger, то полученный токен без кавычек необходимо вставить в поле, которое появляется при нажатии на кнопку Authorize в swagger, дописав перед ним Bearer, и нажать на кнопку Authorize.
Если модуль перезапускается, то при первом запросе от клиента данные о сессии будут заново загружены из модуля Credential.
Обновление токена возможно, если эта опция включена в настройках модуля Credential. Обновление так же возможно через запрос к самому модулю (появляется еще один метод в контроллере авторизации). Соответственно, если модуль Credential неактивен, авторизация невозможна.
Если пользователя блокируют / удаляют, все сессии на модулях должны прерваться не позднее указанного в настройках Credential времени (параметр CreditalsLifetime).
Модуль Веб-интерфейс (UI)
Сервис UI позволяет пользователю настроить интерфейс для дальнейшей работы с данными из Платформы.
Для создания веб-интерфейса:
В ЦН перейдите в раздел Сервисы:
Нажмите на кнопку +. В рабочей области страницы отобразится интерфейс создания / редактирования сервиса, содержащий две вкладки: Основные и Параметры сервиса.
На вкладке Основные заполните следующие поля:
Название: произвольное название сервиса, необязательно для заполнения.
Имя: уникальное имя сервиса, обязательно для заполнения.
Комментарий: описание сервиса, необязательно для заполнения.
Убедитесь, что флажок Включен установлен.
В разделе Настройка сервисов выберите вариант Веб-интерфейс:
Перейдите на вкладку Параметры сервиса.
На вкладке Параметры сервиса заполните необходимые значения. При необходимости можно задать параметры авторизации, установив флажок Использовать авторизацию.
Пример конфигурации:
{
"$type": "DT.ClusterConfiguration.NodeModule, DT_Core",
"config": {
"$type": "DT.ConfigurationRepository.Configuration.ModuleConfiguration.PortalConfig,
DT_ConfigurationRepository",
"port": 5199, //порт, на котором откроется пользовательская часть UI
"useHttps": true, //необходимость использования Https
"replyStoreTime": 0,
"timeout": 10000 //ожидание отклика от сервера по умолчанию
"sendingStrategy": "",
"auth": {
"$type": "DT.ClusterConfiguration.AuthenticationConfig, DT_Core",
"enabled": false
}
},
"isActive": true,
"folderId": "8a1a39ff-4236-4b28-bfe2-2cec7abc8f8f",
"entityId": "571fa3df-21b1-4755-aa52-538aaa6dbb68",
"clusterId": "e2678d8f-fc76-4940-b716-00d5634a2cd0",
"name": "UI",
"description": "UI",
"version": 1,
"tagsCollection": [],
"className": "UI",
"classNameStr": "UI"
}
После внесения данных нажмите на кнопку Сохранить.
Нажмите на кнопку Применить конфигурацию:
Для работы с UI используются следующие порты:
Порт 7200, в разделе Публикация данных - администаторская часть UI, позволяющая настроить представление для пользователей.
Порт 5199 - пользовательская часть UI для просмотра и работы с данными (авторизация по логину / паролю пользователей из модуля Управление пользователями).
Значение параметра timeout используется как время ожидания по умолчанию в формах редактирования и групповых представлениях, в конфигурации которых указано ожидание 0.
Для добавления информации в пользовательскую часть, настройте следующие параметры в администаторской части:
Формы.
Табличные формы.
Меню.
Внимание
Для включения авторизации в пользовательской части необходимо добавить в конфигурацию модуля UI настройки авторизации:
"auth": {
"$type": "DT.ClusterConfiguration.AuthenticationConfig, DT_Core",
"enabled": true,
"usePasswordHash": false
},
После добавления настроек и применения конфигурации при входе в пользовательский UI будут запрашиваться учетные данные пользователя из модуля Credential. При успешной авторизации в правом верхнем углу будет отображаться имя авторизованного пользователя. При некорректном вводе логина или пароля отобразится соответствующая ошибка. Если у пользователя нет прав на просмотр определенного типа данных, пункты меню для просмотра этих типов будут скрыты.
Модуль Хранилище сообщений
Модуль на основе базы данных SQL, предназначен для хранения сообщений Платформы с возможностью извлечения сообщений для повторной обработки в Платформе.
Для создания хранилища сообщений:
В ЦН перейдите в раздел Сервисы:
Нажмите на кнопку +. В рабочей области страницы отобразится интерфейс создания / редактирования сервиса, содержащий две вкладки: Основные и Параметры сервиса.
На вкладке Основные заполните следующие поля:
Название: произвольное название сервиса, необязательно для заполнения.
Имя: уникальное имя сервиса, обязательно для заполнения.
Комментарий: описание сервиса, необязательно для заполнения.
Убедитесь, что флажок Включен установлен.
В разделе Настройка сервисов выберите вариант Хранилище сообщений:
Перейдите на вкладку Параметры сервиса.
На вкладке Параметры сервиса установите необходимые значения:
Выберите используемую СУБД.
Установите флажок Регистрация действий, если все действия с хранилищем должны журналироваться в таблицу masterjournal базы банных хранилища (по умолчанию флажок не установлен).
Заполните следующие поля:
Сервер
Экземпляр
Порт
Имя базы данных
- Настройте параметры авторизации:
Установите флажок Вход по имени пользователя и паролю, а так же введите имя пользователя и пароль, если для доступа к хранилищу требуется авторизация.
Если данные пользователя хранятся в модуле Credential, установите флажок Получать пароль из модуля Credential.
После внесения данных нажмите на кнопку Сохранить.
Нажмите на кнопку Применить конфигурацию:
После сохранения изменений и применения конфигурации будет автоматически создана база данных.
Модуль Онтология
Для создания модуля Онтология:
В ЦН перейдите в раздел Сервисы:
Нажмите на кнопку +. В рабочей области страницы отобразится интерфейс создания / редактирования сервиса, содержащий две вкладки: Основные и Параметры сервиса.
На вкладке Основные заполните следующие поля:
Название: произвольное название сервиса, необязательно для заполнения.
Имя: уникальное имя сервиса, обязательно для заполнения.
Комментарий: описание сервиса, необязательно для заполнения.
Убедитесь, что флажок Включен установлен.
В разделе Настройка сервисов выберите вариант Онтология:
Перейдите на вкладку Параметры сервиса.
На вкладке Параметры сервиса установите необходимые значения:
Выберите используемую СУБД.
Установите флажок Регистрация действий, если все действия с хранилищем должны журналироваться в таблицу masterjournal базы банных хранилища (по умолчанию флажок не установлен).
Заполните следующие поля:
Сервер
Экземпляр
Порт
Имя базы данных
- Настройте параметры авторизации:
Установите флажок Вход по имени пользователя и паролю, а так же введите имя пользователя и пароль, если для доступа к хранилищу требуется авторизация.
Если данные пользователя хранятся в модуле Credential, установите флажок Получать пароль из модуля Credential.
Пример заполнения:
После внесения данных нажмите на кнопку Сохранить.
Нажмите на кнопку Применить конфигурацию:
Пример конфигурации:
{
"$type": "DT.ClusterConfiguration.NodeModule, DT_Core",
"config": {
"$type": "DT.ConfigurationRepository.Configuration.ModuleConfiguration.OntologyConfig, DT_ConfigurationRepository",
"databaseConfiguration": {
"$type": "DT.ClusterConfiguration.DBConnectionConfig, DT_Core",
"databaseType": "MsSql",
"useConnectionString": false,
"useUsernameAndPassword": true,
"serverAddress": "DTplatform31",
"serverPort": "1433",
"serverInstance": "sqlexpress",
"database": "MyDB",
"account": {
"$type": "DT.ClusterConfiguration.Account, DT_Core",
"userName": "Testing",
"passwordNew": "Testing",
"useCredential": false
},
"integratedSecurity": false,
"pooling": true,
"minimumPoolSize": 5,
"maximumPoolSize": 10,
"connectionLifetime": 0,
"properties": []
},
"sendingStrategy": ""
},
"isActive": true,
"folderId": null,
"entityId": "b5fecb0a-a516-449d-9533-8a262adc9df5",
"clusterId": "140e7996-8609-4ebd-a783-ca63855dbb9a",
"name": "Онтология",
"description": "Онтология",
"comment": "",
"version": 1,
"tagsCollection": [],
"className": "OntologyConfig",
"classNameStr": "Онтология"
}
Модуль Другое
Модуль позволяет настроить конфигурации модулей, отсутствующих в списке настраиваемых сервисов на вкладке создания сервиса.









