Обмен данными (интеграционная шина): различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 9: | Строка 9: | ||
Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. | Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. | ||
− | |||
− | |||
− | |||
− | |||
В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией: | В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией: | ||
<ul> | <ul> | ||
Строка 64: | Строка 60: | ||
<b>Внимание!</b> Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации. | <b>Внимание!</b> Для того, чтобы успешно провести запрос к НСИ, нужно вложить в запрос к шине (в data) запрос к НСИ из спецификации. | ||
+ | Во всех методах следует использовать POST запросы. | ||
+ | Данные следует передавать в теле запроса. | ||
Пример запроса: | Пример запроса: |
Версия 08:56, 2 марта 2021
Система предназначена для создания единой среды гарантированной доставки данных между информационными ресурсами и системами.
Адрес системы: https://bus.nark.ru/
API: https://bus.nark.ru/api/request
Использование методов взаимодействия
Для информационного взаимодействия между информационными системами реализованы методы обмена данными. Всем системам-участникам информационного взаимодействия доступны все методы взаимодействия между системами, а решение о предоставлении/не предоставлении запрашиваемых данных осуществляется на стороне систем-источников. В Системе для обмена информацией между информационными ресурсами посредством интеграционной шины предусмотрены следующие универсальные сервисы обмена информацией:
- Сервис отправки запроса от системы в шину
- Сервис получения результата по запросу от шины
Сервис отправки запроса от системы в шину
Данный метод предназначен для отправки запроса от информационного ресурса в интеграционную шину на получение или передачу необходимой информации.
Тип: синхронный
Состав данных, участвующих во взаимодействии:
• 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) запрос к НСИ из спецификации. Во всех методах следует использовать POST запросы. Данные следует передавать в теле запроса.
Пример запроса:
{ "userToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwiaWF0IjoxNTk2MTExMjc4LCJuYmYiOjE1OTYxMTEyNzgsImV4cCI6MTU5NjExNDg3OH0.pMR7YJlQBFP-_fVBLqlz92rG7XYrdJg3-3ODiEF_-Is", "apiToken": "ARhP4IZU9zjm98usmD6U", "dstService": "nsi", "sync": false, "data": { "method": "getElements", "directory": "test" } }
Для просмотра логов всех запросов, проходящих через интеграционную шину предусмотрено использование системы логирования https://elk.nark.ru/