Войти

Что такое Адаптер?

Адаптер СМЭВ – программный компонент, предназначенный для упрощения подключения к СМЭВ и взаимодействия со СМЭВ.
Адаптер является Java-приложением, которое реализует взаимодействие:
  • Адаптер - СМЭВ в полном соответствии с требованиями Методических рекомендаций;
  • ИС - Адаптер в упрощенном формате через 1 из 4-х интерфейсов Адаптера.
 

Принципы работы с адаптером

Для отправки сообщения в Адаптер используется упрощенный конверт ClientMessage:

Первый обязательный элемент в конверте – itSystem должен содержать краткое наименование системы, направляющей запрос или ответ. 


Блоки RequestMessage и ResponseMessage структурированы аналогично и предназначены для передачи запроса и ответа соответственно. 
   
Элемент messageType необязательный и заполняется значениями REQUEST - для запроса, или RESPONSE - для ответа.
  
Блоки RequestMetadata ResponseMetadata содержат единственный обязательный элемент – clientId, который должен содержать универсальный уникальный идентификатор (UUID) запроса, сформированный по любому варианту (см. спецификацию RFC4122).
  
Блок RequestContent предназначен для передачи бизнес данных запроса и имеет следующую структуру:

MessagePrimaryContent должен содержать сообщение запроса. Сообщение запроса формируется по требованиям вида сведений.

 
 В элемент PersonalSignature помещается подпись должностного лица отправителя (ЭП-СП), если она предусмотрена для вида сведений.
 
Элемент AttachmentHeaderList предназначен для описания вложений.
 
Пример заполненного сообщения ClientMessage:

clientMessage.png


Простота запроса к адаптеру в сравнении с запросом к СМЭВ (SendRequestRequest) очевидна:
  1. Идентификатор запроса clientId не должен быть привязан ко времени и его можно формировать с помощью любой библиотеки, работающей с UUID. Адаптер сам сформирует MessageID, соответствующий требованиям раздела 5.2.2.1.1 Методических рекомендаций.
  2. Не требуется предварительно получать код транзакции в СГКТ. Адаптер сам запросит код транзакции.
  3. Не требуется трансформировать сообщение и подписывать его подписью ИС отправителя. Адаптер сделает это за нас.
 
При отправке сообщений в СМЭВ Адаптер снимает с ИС УВ функции:
  • подписания сообщений усиленной квалифицированной электронной подписью ведомства (ЭП-ОВ);
  • получения кода транзакции;
  • работы с файловым хранилищем СМЭВ;
  • MTOM-преобразования при передаче небольших вложений в составе XML-запроса;
  • подписания вложений ЭП-ОВ. 

Функция подписания сообщений ЭП должностного лица (ЭП-СП) должна выполняться в ИС УВ.
Необходимость подписания сообщений ЭП-СП определяется участником взаимодействия.  
При получении сообщений Адаптер снимает с ИС УВ функции:
  • автоматического опроса очередей входящих запросов и ответов на стороне СМЭВ;
  • проверки ЭП-ОВ на получаемых сообщениях;
  • отправки в СМЭВ подтверждений (Ack) успешной доставки сообщения;
  • извлечения вложений из MTOM-содержимого;
  • скачивания вложений из файлового хранилища.

При наличии настроенного сервиса приема push-уведомлений ИС может получать от Адаптера уведомления о полученных сообщениях.
  
Полученные сообщения передаются в ИС УВ через один из 4-х доступных интерфейсов Адаптера. 
     
Полученные вложения Адаптер сохраняет в определенном каталоге, предоставляя унифицированный доступ к вложениям, независимо от способа их доставки из СМЭВ.

Интерфейсы взаимодействия с Адаптером

ИС взаимодействуют с Адаптером путем обмена сообщениями через:
  1. web-сервис по SOAP или REST API протоколам;
  2. файловую систему;
  3. базу данных;
  4. брокер сообщений по протоколу AMQP (Advanced Message Queuing Protocol)
  5. встроенный пользовательский интерфейс.

Выбор способа взаимодействия ИС УВ с адаптером определяется:

  • архитектурными решениями, принятыми при разработке ИС УВ;
  • специализацией и квалификацией разработчиков ИС УВ;
  • особенностями администрирования и мониторинга процессов межведомственного взаимодействия;
  • многими другими факторами.
   
С точки зрения функциональности адаптера все указанные способы обмена сообщениями абсолютно равноценны.

Адаптер может работать с несколькими ИС УВ одновременно.

 
Адаптер обеспечивает работу с несколькими ИС по одному интерфейсу.
 
Для каждой из ИС может быть выбран один из интерфейсов взаимодействия с Адаптером. 
     
Используя Адаптер УВ может выполнять обмен сообщениями со СМЭВ без ИС, при этом заполнение запросов и просмотр ответов выполняется пользователем в графическом интерфейсе Адаптера (далее в этой статье будет приведен пример такого взаимодействия).

Взаимодействие с адаптером через web-сервис

Web-сервис адаптера предоставляет ИС УВ методы для работы сообщениями:

  1. Send – отправляет запрос или ответ в СМЭВ;
  2. Get – получает первое непрочитанное сообщение из очереди входящих;
  3. Find – получает все сообщения, удовлетворяющие указанным критериям.

Метод Send отправляет сообщение ClientMessage (Запрос или Ответ) в Адаптер для преобразования и передачи в СМЭВ.  

Метод Get получает первое непрочитанное сообщение из Адаптера. Получить сообщение из Адаптера методом Get можно только 1 раз, после чего сообщение будет помечено как прочитанное, а метод Get вернет уже следующее непрочитанное сообщение.  

Прочитанные и непрочитанные сообщения можно извлечь из адаптера с помощью метода Find.

Метод Find извлекает все сообщения, найденные по:

  • периоду времени;
  • clientID -- идентификатору сообщения в Адаптере.
 
Подробнее об осуществлении обменов через данный интерфейс можно узнать в статье о встроенном интерфейсе Адаптера.

Взаимодействие с Адаптером через Файловую систему

При взаимодействии с Адаптером через Файловую систему используются:
  • Каталог исходящих сообщений;
  • Каталог исходящих вложений;
  • Каталог входящих сообщений;
  • Каталог входящих вложений. 

Для передачи сообщений и вложений ИС размещает их в соответствующих "исходящих" каталогах.
Адаптер размещает полученные в адрес ИС файлы и вложения в соответствующих "входящих" каталогах.
Подробнее об осуществлении обмена через данный интерфейс можно узнать в статье Интерфейс файлового хранилища Адаптера.

Взаимодействие с Адаптером через БД

Для взаимодействия с Адаптером через БД используется интеграционная БД (не путать с БД Адаптера) под управлением PostgreSQL.
Интеграционная БД создается вручную при настройке взаимодействия, например через PGAdmin. При этом вложения предаются через файловую систему. Подробнее о взаимодействии через БД - в статье Интерфейс базы данных Адаптера.

Взаимодействие с адаптером через AMQP

При взаимодействии через AMQP (очереди сообщений):
  • ИС УВ помещает отправляемые сообщения в очередь исходящих сообщений;
  • Адаптер помещает полученные в адрес ИС сообщения в очередь входящих сообщений.

Вложения предаются через файловую систему.

Очереди исходящих сообщений должны именоваться по шаблону [MNM]_QUEUE_SEND, где [MNM] - краткое наименование ИС (мнемоника).
Очереди входящих сообщений должны именоваться по шаблону [MNM]_QUEUE_RECEIVE, где [MNM] - краткое наименование ИС (мнемоника).

Подробнее об использовании интерфейса в статье AMQP интерфейс Адаптера.

Взаимодействие с Адаптером через встроенный пользовательский интерфейс

При использовании встроенного пользовательского интерфейса Адаптера наличие ИС УВ необязательно. Можно установить Адаптер и сразу начинать обмен через СМЭВ, не выполняя интеграцию c ИС УВ.

Предварительно требуется выполнить ряд несложных настроек:
1. Сгенерировать HTML-формы для каждого вида сведений, с которым предполагается работать.
     Адаптеру нужно подать на вход архив со схемами вида сведений, а формы для запроса и ответа он сгенерирует сам.
2. Завести в адаптер пользователей, которые будут работать со встроенным интерфейсом.

Подробнее об использовании встроенного интерфейса в статье Встроенный интерфейс Адаптера.

Описание настроек web-интерфейса приведено в статьях:

Для установки Адаптера СМЭВ на компьютер необходимо выполнить несколько основных шагов:


Или воспользоваться автоматизированной установкой ИУА с комплектом ПО.
Авторизуйтесь, чтобы оставить комментарий к статье