Руководство пользователя Реестра Сервисов

6.Администрирование.

6.3.Управление справочником «Системы».

Область «Управление справочником «Системы»» содержит все используемые в Реестре системы взаимодействия с данными. Поле фильтра и кнопка «Сбросить» включают и выключают фильтрацию систем. Кнопка «Создать» создаёт новую систему.

Рисунок 74Область «Управление справочником «Системы»».
Область «Управление справочником «Системы»».

Кнопка в столбце «Администратор» открывает всплывающее окно диалога с данными администратора для просмотра.

Рисунок 75Всплывающее окно диалога просмотра данных администратора.
Всплывающее окно диалога просмотра данных администратора.

Кнопка в столбце «Драйвер» открывает всплывающее окно диалога настроек драйвера системы для просмотра.

Рисунок 76Всплывающее окно диалога просмотра данных драйвера.
Всплывающее окно диалога просмотра данных драйвера.

Кнопка в столбце «Настройка активаторов/вызова сервисов» открывает всплывающее окно настроек активаторов системы для просмотра и редактирования.

Рисунок 77Всплывающее окно диалога просмотра активаторов.
Всплывающее окно диалога просмотра активаторов.

Кнопка в столбце «Связанные сервисы» выполняет переход на страницу сервисов с включенным фильтром по наименованию системы.

Рисунок 78Столбец «Настройка активаторов».
Столбец «Настройка активаторов».

Кнопка в столбце «Связанные системы» открывает всплывающее окно связанных систем.

Рисунок 79Всплывающее окно связанных систем.
Всплывающее окно связанных систем.

После создания нового интерфейса передачи данных начинается его редактирование.

Рисунок 80Добавление в справочник «Системы».
Добавление в справочник «Системы».

После начала редактирования появляются кнопки «Настройка активаторов» и «Настройка параметров конфигурации»

Рисунок 81Редактирование добавляемых в справочник «Системы» данных.
Редактирование добавляемых в справочник «Системы» данных.

Кнопка «Настройка активаторов» открывает всплывающее окно настройки активаторов.

Рисунок 82Всплывающее окно настройки активаторов.
Всплывающее окно настройки активаторов.

Кнопка «Настройка параметров конфигурации» открывает всплывающее окно настройки параметров конфигурации.

Рисунок 83Всплывающее окно настройки параметров конфигурации.
Всплывающее окно настройки параметров конфигурации.

Редактирование имеющихся данных происходит аналогично.

Рисунок 84Редактирование имеющихся в справочнике «Системы» данных.
Редактирование имеющихся в справочнике «Системы» данных.

Всплывающее окно редактирования появляются после нажатия на строку с данными. Кнопки «Обновить источники данных в Шине» и «Обновление точек входа» нужны для обновления источников данных и точек входя после редактирования или добавления данных в раздел «Системы».

Детализация параметра «Настройка активаторов/вызова сервисов».

Этот параметр обязателен для работы системы и определяет, как система взаимодействует с источником данных или внешним сервисом. Визуально он отображается в таблице иконкой шестерёнки, цвет которой зависит от состояния настроек:

  • Красная иконка шестерёнки — настройки не заданы или заданы частично.
  • Синяя иконка шестерёнки — настройки заданы (данные сохранены).

При наведении курсора на красную иконку отображается подсказка «Настройки активаторов не заданы!»

Настройка активаторов для JDBC-систем (Базы данных).

Открывается форма с SQL-запросами. Хотя система не блокирует сохранение, если какие-то поля оставить пустыми, активатор должен содержать все SQL-запросы для корректной работы.

Для корректной работы активатора необходимо заполнить указанные в таблице 33 обязательные и указанные в таблице 34 необязательные поля.

Таблица 33Обязательные для заполнения поля.
Поле Назначение Пример
Запрос подсчёта необработанных записей Определяет, сколько записей готовы к обработке.
SELECT count(1)
FROM esb_scen_instance
WHERE status = 1 AND
scen_name = :unique_id;
Запрос для выборки необработанных записей Выбирает записи для обработки.
SELECT *
FROM esb_scen_instance
WHERE status = 1 AND
scen_name = :unique_id;
Максимальное количество строк Ограничивает выборку (рекомендуется от 100 до 1000). 1000
Запрос для выборки деталей записи Получает параметры конкретной записи.
SELECT *
FROM esb_scen_params
WHERE instance_id = :instance_id;
Запрос для отметки выполнения выборки Помечает запись как взятую в работу.
UPDATE esb_scen_instance
SET status = 3
WHERE instance_id = :instance_id;
Запрос для установки конечного статуса Устанавливает конечный статус по соответствующему ID.
UPDATE esb_scen_instance
SET status = 2
WHERE instance_id = :instance_id;
Таблица 34Небязательные для заполнения поля.
Поле Назначение Пример
Запрос для установки ошибочного статуса Устанавливает статус ошибки (обычно status=-1).
UPDATE esb_scen_instance
SET status = -1
WHERE instance_id = :instance_id;
Запрос для очистки обработанных записей Удаляет или архивирует завершённые записи.
Период выполнения очистки, дней Интервал автоматической очистки (в днях). 30
Запрос для сбора метрик Используется для мониторинга.
SELECT scen_name,
status,
count( * )
FROM esb_scen_instance
GROUP BY scen_name,
status;

Список допустимых имён параметров обязательных SQL-запросов приведён в таблице 35.

Таблица 35Список допустимых имён параметров обязательных SQL-запросов.
Параметр Где используется Описание
:unique_id Во всех запросах. Уникальный идентификатор сервиса (автоматически подставляется системой).
:scen_name Во всех запросах. Название сервиса без версии (для всех запросов).
:instance_id В запросах деталей, отметки и статусов. Идентификатор записи из выборки необработанных записей (для запросов деталей, выполнения выборки, установки статусов).
:task_id При необходимости. Идентификатор созданного задания в  Менеджере сценариев (для запросов выполнения выборки, установки статусов).
:node_id При необходимости. Идентификатор инстанса (ноды) кластера Менеджера сценариев (для запросов выполнения выборки, установки статусов).

Валидация параметров.

Важно! Система не проверяет синтаксис SQL, наличие параметров в интерфейсе, заполнены ли все поля в настройках активаторов. Вы можете сохранить частично заполненные или даже пустые настройки, однако, без корректно заданных SQL-запросов активаторы не смогут работать, и связанные сервисы будут завершаться с ошибками. Активатор должен содержать все SQL-запросы для корректной работы. Если эти параметры отсутствуют, выполнение активатора завершится ошибкой, даже если запрос синтаксически верен.

Настройка параметров вызова REST/SOAP-сервисов.

Открывается JSON-редактор с параметрами вызова. Содержимое — объект с настройками. Пример корректной конфигурации приведён в таблице 36.

Таблица 36Примеры корректной конфигурации вызова.
Тип конфигурации Для REST-сервиса Для SOAP-сервиса
Минимальная
{
"httpMethod": "POST",
"contentType": "application/json",
"callTimeout": 30,
"connectTimeout": 10,
"readTimeout": 30,
"skipHeaders": true
}
{
"soapAction": "http://inpolus.ru/CheckService",
"contentType": "text/xml; charset=utf-8",
"callTimeout": 60,
"connectTimeout": 15,
"readTimeout": 45,
"skipHeaders": true
}
Полная
{
"httpMethod": "POST",
"contentType": "application/json",
"callTimeout": 30,
"connectTimeout": 10,
"readTimeout": 30,
"writeTimeout": 60,
"skipHeaders": true
}
{
"soapAction": "http://inpolus.ru/CheckService",
"contentType": "text/xml; charset=utf-8",
"callTimeout": 60,
"connectTimeout": 15,
"readTimeout": 45,
"writeTimeout": 90,
"skipHeaders": true
}

Допустимые имена и значения параметров приведены в таблице 37.

Таблица 37Допустимые имена и значения параметров.
Параметр Описание
httpMethod HTTP-метод при вызове REST-сервиcов: GET, POST, PUT, PATCH, DELETE, CONNECT, HEAD, OPTIONS, TRACE.
soapAction Значение заголовка SOAPAction при вызове SOAP-сервисов.
contentType Значение для заголовка Content-Type, например, application/xml, application/json, text/xml
callTimeout Общий таймаут вызова (в секундах).
connectTimeout Таймаут установки соединения (в секундах).
readTimeout Таймаут ожидания ответа от сервиса (в секундах).
writeTimeout Таймаут ожидания записи тела запроса (в секундах).
authorization Значение заголовка Authorization (например, для Bearer-токенов).
skipHeaders Не отправлять служебные заголовки при вызове сервиса (то есть только SOAPAction, Content-Type и Authorization). Для вызова внешних(клиентских) сервисов этот параметр надо обязательно устанавливать в значение «true».

Важно:

  • для REST обязательно указывать httpMethod, для SOAP - указывать soapAction, если требуется;
  • все таймауты задаются в секундах и должны быть целыми положительными числами;
  • параметр skipHeaders должен быть «true» при вызове внешних (клиентских) сервисов, чтобы избежать передачи внутренних служебных заголовков;
  • если параметр не поддерживается вашим типом сервиса (например, httpMethod для SOAP), его можно не указывать.

Валидация параметров.

Система выполняет синтаксическую проверку корректности JSON в реальном времени, поэтому при некорректном формате синтаксиса сохранение не сработает, однако в интерфейсе не предусмотрена предварительная проверка содержимого JSON.

Валидация и семантическая проверка JSON на корректность введенных параметров вызова выполняется на сервере после отправки данных. Поэтому пользователь может сохранить JSON, который выглядит «нормально», но система откажется его использовать и вернет ошибку.

Детализация параметра «Настройка параметров конфигурации».

Опция «Настройка параметров конфигурации» предназначена для задания дополнительных настроек системы в формате JSON. Она применяется в основном для тонкой настройки подключения к источникам данных, особенно в сложных сценариях: при работе с кластеризованными БД, защищёнными соединениями (SSL/TLS), отказоустойчивыми конфигурациями или при необходимости настройки нестандартных параметров:

  1. настройкиSSL/TLS (пример: {"sslEnabled": true, "trustStore": "/path/to/truststore"});
  2. управления таймаутами (connectionTimeout, socketTimeout);
  3. включения отказоустойчивости (failover);
  4. указания специфических параметров драйвера.

Интерфейс настройки.

Открывается в отдельном диалоговом окне по клику на иконку шестерёнки в колонке «Настройка параметров конфигурации».

При первом открытии для новой системы поле инициализируется пустым объектом {}.

Используется JSON-редактор с поддержкой нескольких режимов:

  1. Code — редактирование в виде текста (режим по умолчанию);
  2. Tree — древовидное представление;
  3. View — режим только для чтения;
  4. Text — текстовый режим без форматирования.

Проверка синтаксиса и валидация параметров происходят аналогично предыдущему параметру.

Пример возможной конфигурации.

{
"sslEnabled": true,
"trustStore": "/path/to/truststore",
"connectionTimeout": 5000,
"failover": {
"hosts": [
"host1",
"host2"
]
}
}

Рекомендации по заполнению.

  • используйте режим Tree в JSON-редакторе для наглядного редактирования;
  • перед сохранением убедитесь, что JSON валиден;
  • для SSL-подключений укажите полные пути к хранилищам сертификатов, убедитесь, что файлы доступны для чтения процессом;
  • для отказоустойчивых систем укажите все узлы кластера, настройте разумное количество попыток переподключения.

Важно: если параметры не заданы, система использует настройки по умолчанию, что может привести к сбоям в защищённых или отказоустойчивых средах.

Кнопки управления (под таблицей справочника «Системы»).

Под таблицей систем расположены три перечисленные в таблице 38 кнопки, каждая из которых выполняет специфическую функцию.

Таблица 38Кнопки со специфическими функциями.
Кнопка Действие
Создать Открывает форму для создания новой системы. Все обязательные поля (Наименование, Строка соединения, Интерфейс) должны быть заполнены перед сохранением.
Обновить источники данных в Шине Выполняет массовое обновление всех источников данных в интеграционной шине. Обновляются параметры подключения, драйверы и настройки пулов для всех JDBC-систем.
Обновление точек входа Обновляет конфигурацию точек входа в шине на основе текущих настроек систем. Применяется к REST/SOAP и другим сервисным системам.

Примечание: эти функции предназначены для синхронизации конфигурации Реестра сервисов с внешней интеграционной шиной. Операции выполняются в фоновом режиме и могут занять несколько минут при большом количестве систем.

Фильтрация

В справочнике «Системы» реализована полнотекстовая фильтрация по всем видимым колонкам таблицы.

Как работает фильтрация:

  • поле «Фильтр» расположено над таблицей и позволяет вводить любой текст;
  • поиск выполняется автоматически при вводе (без нажатия Enter);
  • регистр не учитывается - например, поиск по jdbs найдёт все записи с таким сочетанием, в том числе JDBS;
  • фильтрация применяется ко всем колонкам таблицы одновременно.

Управление фильтром:

  • кнопка «Сбросить» очищает поле ввода и отменяет фильтрацию;
  • кнопка становится активной, как только в поле введён хотя бы один символ;
  • после нажатия «Сбросить» таблица отображает все записи без фильтра.

Перед удалением сервиса убедитесь, что он не используется в справочнике «Системы» (проверьте через «Связанные системы»).

Изменения в этом справочнике влияют на все связанные системы, поэтому вносите правки с осторожностью.