Обмен данными (интеграционная шина): различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 71: | Строка 71: | ||
} | } | ||
</pre> | </pre> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
<strong>[https://wiki.nark.ru/index.php/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D1%85_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BF%D0%BE_%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%BC%D1%83_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8E СПИСОК ДОСТУПНЫХ МЕТОДОВ]</strong> | <strong>[https://wiki.nark.ru/index.php/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D1%85_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%B2_%D0%BF%D0%BE_%D0%98%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE-%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%BC%D1%83_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8E СПИСОК ДОСТУПНЫХ МЕТОДОВ]</strong> |
Версия 06:15, 10 февраля 2021
Система предназначена для создания единой среды гарантированной доставки данных между информационными ресурсами и системами.
Адрес системы: https://bus.nark.ru/
Использование методов взаимодействия
Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией:
- Сервис отправки запроса от системы в шину
- Сервис получения результата по запросу от шины
Сервис отправки запроса от системы в шину
Данный метод предназначен для отправки запроса от информационного ресурса в интеграционную шину на получение или передачу необходимой информации.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• UserToken - JWT токен; • ApiToken - JWT токен; • DstService - код сервиса; • Data – основные данные запроса . Набор данных зависит от кода сервиса.
Внимание! Перед вызовом методов следует получить UserToken при помощи метода "Запрос на получение токена пользователя".
В ответ на вызов сервиса со стороны интеграционной шины приходит:
• RequestId - идентификатор запроса (любая последовательность символов, строка). Данный идентификатор будет использоваться в методе получения результата.
Сервис получения результата по запросу
Данный сервис предназначен для получения результата по запросу по предоставленному идентификатору запроса от интеграционной шины.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• UserToken - JWT токен; • ApiToken - JWT токен; • RequestId - идентификатор запроса.
В ответ на вызов сервиса со стороны интеграционной шины приходит:
• Status - код статуса, строка. Статус может принимать одно из следующих значений: o Wait - ожидает выполнения; o Done - выполнена успешно; o Error - ошибка выполнения. • Data - данные ответа (при статусе Done) или пустота; • Error - данные ошибки (при статусе Errore) или пустота.
Используемые в качестве параметров запросов JWT токены используются для аутентификации соответствующего информационного ресурса в Системе.
Особенности выполнения запросов к сервисам
Внимание! Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации.
Пример запроса:
{ "userToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiaWF0IjoxNTk2MTExMjc4LCJuYmYiOjE1OTYxMTEyNzgsImV4cCI6MTU5NjExNDg3OH0.pMR7YJlQBFP-_fVBLqlz92rG7XYrdJg3-3ODiEF_-Is", "apiToken": "ARhP4IZU9zjm98usmD6U", "dstService": "nsi", "sync": false, "data": { "method": "getElements", "directory": "test" } }