- Адаптер - СМЭВ в полном соответствии с требованиями Методических рекомендаций;
- ИС - Адаптер в упрощенном формате через 1 из 4-х интерфейсов Адаптера.
Принципы работы с адаптером
Для отправки сообщения в Адаптер используется упрощенный конверт ClientMessage:
Первый обязательный элемент в конверте – itSystem должен содержать краткое наименование системы, направляющей запрос или ответ.
Блоки RequestMessage и ResponseMessage структурированы аналогично и предназначены для передачи запроса и ответа соответственно.
Элемент messageType необязательный и заполняется значениями REQUEST - для запроса, или RESPONSE - для ответа.
Блоки RequestMetadata ResponseMetadata содержат единственный обязательный элемент – clientId, который должен содержать универсальный уникальный идентификатор (UUID) запроса, сформированный по любому варианту (см. спецификацию RFC4122).
Блок RequestContent предназначен для передачи бизнес данных запроса и имеет следующую структуру:
MessagePrimaryContent должен содержать сообщение запроса. Сообщение запроса формируется по требованиям вида сведений.
В элемент PersonalSignature помещается подпись должностного лица отправителя (ЭП-СП), если она предусмотрена для вида сведений.
Элемент AttachmentHeaderList предназначен для описания вложений.
Пример заполненного сообщения ClientMessage:
Простота запроса к адаптеру в сравнении с запросом к СМЭВ (SendRequestRequest) очевидна:
- Идентификатор запроса clientId не должен быть привязан ко времени и его можно формировать с помощью любой библиотеки, работающей с UUID. Адаптер сам сформирует MessageID, соответствующий требованиям раздела 5.2.2.1.1 Методических рекомендаций.
- Не требуется предварительно получать код транзакции в СГКТ. Адаптер сам запросит код транзакции.
- Не требуется трансформировать сообщение и подписывать его подписью ИС отправителя. Адаптер сделает это за нас.
При отправке сообщений в СМЭВ Адаптер снимает с ИС УВ функции:
- подписания сообщений усиленной квалифицированной электронной подписью ведомства (ЭП-ОВ);
- получения кода транзакции;
- работы с файловым хранилищем СМЭВ;
- MTOM-преобразования при передаче небольших вложений в составе XML-запроса;
- подписания вложений ЭП-ОВ.
Функция подписания сообщений ЭП должностного лица (ЭП-СП) должна выполняться в ИС УВ.
Необходимость подписания сообщений ЭП-СП определяется участником взаимодействия.
При получении сообщений Адаптер снимает с ИС УВ функции:
- автоматического опроса очередей входящих запросов и ответов на стороне СМЭВ;
- проверки ЭП-ОВ на получаемых сообщениях;
- отправки в СМЭВ подтверждений (Ack) успешной доставки сообщения;
- извлечения вложений из MTOM-содержимого;
- скачивания вложений из файлового хранилища.
При наличии настроенного сервиса приема push-уведомлений ИС может получать от Адаптера уведомления о полученных сообщениях.
Полученные сообщения передаются в ИС УВ через один из 4-х доступных интерфейсов Адаптера.
Полученные вложения Адаптер сохраняет в определенном каталоге, предоставляя унифицированный доступ к вложениям, независимо от способа их доставки из СМЭВ.
Интерфейсы взаимодействия с Адаптером
ИС взаимодействуют с Адаптером путем обмена сообщениями через:- web-сервис по SOAP или REST API протоколам;
- файловую систему;
- базу данных;
- брокер сообщений по протоколу AMQP (Advanced Message Queuing Protocol)
- встроенный пользовательский интерфейс.
Выбор способа взаимодействия ИС УВ с адаптером определяется:
- архитектурными решениями, принятыми при разработке ИС УВ;
- специализацией и квалификацией разработчиков ИС УВ;
- особенностями администрирования и мониторинга процессов межведомственного взаимодействия;
- многими другими факторами.
С точки зрения функциональности адаптера все указанные способы обмена сообщениями абсолютно равноценны.
Адаптер может работать с несколькими ИС УВ одновременно.
Адаптер обеспечивает работу с несколькими ИС по одному интерфейсу.
Для каждой из ИС может быть выбран один из интерфейсов взаимодействия с Адаптером.
Используя Адаптер УВ может выполнять обмен сообщениями со СМЭВ без ИС, при этом заполнение запросов и просмотр ответов выполняется пользователем в графическом интерфейсе Адаптера (далее в этой статье будет приведен пример такого взаимодействия).
Взаимодействие с адаптером через web-сервис
Web-сервис адаптера предоставляет ИС УВ методы для работы сообщениями:
- Send – отправляет запрос или ответ в СМЭВ;
- Get – получает первое непрочитанное сообщение из очереди входящих;
- Find – получает все сообщения, удовлетворяющие указанным критериям.
Метод Send отправляет сообщение ClientMessage (Запрос или Ответ) в Адаптер для преобразования и передачи в СМЭВ.
Метод Get получает первое непрочитанное сообщение из Адаптера. Получить сообщение из Адаптера методом Get можно только 1 раз, после чего сообщение будет помечено как прочитанное, а метод Get вернет уже следующее непрочитанное сообщение.
Прочитанные и непрочитанные сообщения можно извлечь из адаптера с помощью метода Find.
Метод Find извлекает все сообщения, найденные по:
- периоду времени;
- clientID -- идентификатору сообщения в Адаптере.
Подробнее об осуществлении обменов через данный интерфейс можно узнать в статьях раздела Web-сервис.
Взаимодействие с Адаптером через Файловую систему
При взаимодействии с Адаптером через Файловую систему используются:- Каталог исходящих сообщений;
- Каталог исходящих вложений;
- Каталог входящих сообщений;
- Каталог входящих вложений.
Для передачи сообщений и вложений ИС размещает их в соответствующих "исходящих" каталогах.
Адаптер размещает полученные в адрес ИС файлы и вложения в соответствующих "входящих" каталогах.
Подробнее об осуществлении обмена через данный интерфейс можно узнать в статье Интерфейс файлового хранилища Адаптера.
Взаимодействие с Адаптером через БД
Для взаимодействия с Адаптером через БД используется интеграционная БД (не путать с БД Адаптера) под управлением PostgreSQL.Интеграционная БД создается вручную при настройке взаимодействия, например через PGAdmin. При этом вложения предаются через файловую систему. Подробнее о взаимодействии через БД - в статье Интерфейс базы данных Адаптера.
Взаимодействие с адаптером через AMQP
- ИС УВ помещает отправляемые сообщения в очередь исходящих сообщений;
- Адаптер помещает полученные в адрес ИС сообщения в очередь входящих сообщений.
Вложения предаются через файловую систему.
Очереди исходящих сообщений должны именоваться по шаблону [MNM]_QUEUE_SEND, где [MNM] - краткое наименование ИС (мнемоника).
Очереди входящих сообщений должны именоваться по шаблону [MNM]_QUEUE_RECEIVE, где [MNM] - краткое наименование ИС (мнемоника).
Подробнее об использовании интерфейса в статье AMQP интерфейс Адаптера.
Взаимодействие с Адаптером через встроенный пользовательский интерфейс
При использовании встроенного пользовательского интерфейса Адаптера наличие ИС УВ необязательно. Можно установить Адаптер и сразу начинать обмен через СМЭВ, не выполняя интеграцию c ИС УВ.
Предварительно требуется выполнить ряд несложных настроек:
1. Сгенерировать HTML-формы для каждого вида сведений, с которым предполагается работать.
Адаптеру нужно подать на вход архив со схемами вида сведений, а формы для запроса и ответа он сгенерирует сам.
2. Завести в адаптер пользователей, которые будут работать со встроенным интерфейсом.
Подробнее об использовании встроенного интерфейса в статье Встроенный интерфейс Адаптера.
Описание настроек web-интерфейса приведено в статьях:
Для установки Адаптера СМЭВ на компьютер необходимо выполнить несколько основных шагов:
Или воспользоваться автоматизированной установкой ИУА с комплектом ПО.