Смэв интерфейс

В материале приводится обзор Универсального интерфейса (General Interafce, GI) – решения, разработанного командой Хемуль IT и позволяющего упростить и расширить возможности работы конечных пользователей с бесплатным Адаптером СМЭВ Минкомсвязи России. В состав универсального интерфейса входят собственный пользовательский интерфейс (UI) и программный интерфейс (API) для работы со СМЭВ.

Смэв интерфейс

Преимущества и недостатки бесплатного Адаптера СМЭВ

В настоящий момент многие органы исполнительной власти, негосударственные пенсионные фонды, кредитные организации для обеспечения взаимодействия в Системе электронного межведомственного взаимодействия (СМЭВ) используют программный продукт «Адаптер СМЭВ», разработанный Минкомсвязи России. Адаптер СМЭВ позволяет реализовать полноценное межведомственное взаимодействие. Кроме того, у решения существует несколько значимых преимуществ, по сравнению с другими продуктами, доступными на рынке на рынке:

  • ПО распространяется бесплатно;
  • ПО является официальным решением, рекомендуемым Минкомсвязи России;
  • ПО регулярно обновляется и поддерживает большинство нововведений, реализуемых в СМЭВ;
  • ПО не связано с отдельным вендором (интегратором), имеет подробную документацию и может поддерживаться различными коммерческими компаниями, а также силами штатных специалистов организации.

Тем не менее, в ходе практического использования Адаптера СМЭВ обнаруживается ряд существенных недостатков. Некоторые замечания, отмеченные коллективном Хемуль IT в статье «Реализация СМЭВ-проекта на базе бесплатного адаптера СМЭВ», были оперативно исправлены разработчиками. Другие были пропущены. Наконец, в очередном обновлении Адаптера был изменен тип и структура СУБД, что существенно ограничило возможности администрирования и доработки решения.

В результате, с точки зрения пользователя текущая реализация Адаптера СМЭВ обладает следующими недостатками:

  • отсутствие расширенных инструментов фильтрации и поиска по реестрам запросов;
  • отсутствие функционала для реализации бизнес-логики – формирования групп
  • отсутствие функционала конфигурации карточек запросов, вынуждающее пользователя при отправке запроса заполнять техническую информацию, вплоть до идентификатора запроса в СМЭВ;
  • невозможность параллельной работы пользовательского интерфейса (UI) и программного (API) интерфейсов Адаптера СМЭВ;
  • отсутствие документации для работы с СУБД H2;
  • сложности с разграничением прав доступа к функционалу Адаптера СМЭВ.

Для устранения выявленных недостатков командой проекта Хемуль-IT был разработан Универсальный интерфейс (General Interafce, GI) Адаптера СМЭВ. Универсальный интерфейс – оболочка, реализующая расширенный функционал пользовательского и программного интерфейса, и взаимодействующая с Адаптером СМЭВ посредством стандартного web-сервиса и обращения к недокументированным возможностям СУБД.

Описание Универсального интерфейса

Универсальный интерфейс Адаптера СМЭВ реализует пользовательский и программный интерфейс, позволяющий упростить работу с Адаптером СМЭВ Минкомсвязи России. Интеграция модуля «Универсальный интерфейс» с базовым решением осуществляется через стандартный API Адаптера СМЭВ.

Универсальный интерфейс обладает следующим функционалом:

  • гибкая настройка бизнес-логики обработки запросов, включая массовые запросы, последовательные запросы, запросы по расписанию;
  • формирование упрощенных карточек запросов и автоматическое заполнение технической информации в запросе (мнемоника, uuid, timetsmp) — для отправки запроса пользователю остается заполнить только содержательную информацию;
  • возможность создания в системе реестров и карточек объектов, объединяющих данные направляемые/получаемые из СМЭВ – например, если можно создать объект «организация», добавить в карточку объекта значения ИНН и ОГРН и направлять запросы в ФНС по данной организации кликом на одну кнопку;
  • настройка внешнего вида реестров запросов путем выбора набора колонок (атрибутов) в строке записи, изменения количества и последовательности колонок;
  • фильтрация записей в реестре запросов, в т.ч. по нескольким признакам;
  • поиск записей в реестре запросов, в т.ч. по сложным условиям;
  • собственная реализация программного интерфейса, поддерживающая параллельную работу UI и API;
  • авторизация и разграничение прав доступа пользователей – каждый пользователь может просматривать/ создавать/ редактировать только доступные для него запросы и объекты;
  • управление пользователями (создание, редактирование, настройка прав доступа);
  • визуализация процесса обработки запросов в СМЭВ – графический и визуальный мониторинг статусов обработки запросов в СМЭВ;
  • система уведомлений о событиях (получение запроса, поступление ответа на запрос).

Примеры функционала Универсального интерфейса

Пользовательский интерфейс (UI) Универсального интерфейса имеет серверную реализацию, доступен через интернет-браузер и не привязан к конкретному АРМ. При корректной настройке сети UI может быть доступен из любой точки мира. Решение не имеет ограничения на количество пользователей.

Смэв интерфейс

Регистрация новых пользователей производится Администратором.

Структура UI состоит из нескольких функциональных блоков:

  • набор взаимосвязанных реестров для обработки СМЭВ-запросов;
  • блок администрирования пользователей;
  • блок мониторинга обработки СМЭВ-запросов.
Реестры

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

Смэв интерфейс

Реестр запросов СМЭВ

Каждый реестр поддерживает функционал:

  • поиск по всем записям, поиск по колонке (отдельному атрибуту всех записей), поиск по нескольким колонкам или условиям;
  • сортировка по колонкам;
  • настройка набора и последовательности отображаемых колонок.

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

Универсальный интерфейс может содержать произвольное число реестров. Базовыми реестрами являются «Реестр входящих запросов СМЭВ» и «Реестр исходящих запросов СМЭВ». Кроме того, можно создавать реестры произвольных объектов – например, реестр организаций.

В карточке реестра отображается подробная структурированная информация о записи. Например, в карточке запроса СМЭВ отображается информация:

  • содержательные данные из полей запроса (ИНН, ФИО, СНИЛС и т.д.);
  • содержательные данные полей ответа на запрос;
  • статус обработки запроса в СМЭВ;
  • служебная информация (время направления запроса, автор запроса, время ответа, мнемоника и т.д.);
  • объекты или списки объектов, связанных с запросом (если запрос сформирован по ранее созданному объекту).

Смэв интерфейс

Настройка столбцов реестра

Произвольные объекты

Помимо стандартных объектов «входящие запросы» и «исходящие запросы» в Универсальном модуле могут быть созданы произвольные объекты. Произвольные объекты позволяют объединять информацию, необходимую для отправки запросов, или получаемую из ответов.

Смэв интерфейс

Например, если Потребитель часто делает запросы по юридическим лицам (ЕГРЮЛ, ЕГРН, задолженность, штатная численность сотрудников и т.д.), целесообразно создать отдельный «реестр организаций». В карточке записи «реестра организаций» будут содержаться:

  • базовые сведения, необходимые для направления СМЭВ-запроса (например, ИНН);
  • кнопки для направления типовых запросов «в один клик»;
  • результаты ответов по всем запросам в отдельных блоках;
  • информация о времени последнего обновления каждого блока информации;
  • ссылки на перечень всех связанных с организацией СМЭВ-запросов.
Направление СМЭВ-запросов

Направление СМЭВ-запроса возможно одним из двух способов:

  • в реестре запросов СМЭВ выбрать тип запроса, внести в карточку запроса содержательную информацию и подтвердить отправку запроса;
  • в карточке произвольного объекта (организация, человек и т.д.) нажать на кнопку соответствующего запроса.

Смэв интерфейс

Выбор типа запроса

Смэв интерфейс

Заполнение запроса СМЭВ

После того как запрос отправлен в карточке запроса и в реестре отображаются статусы его обработки. По получении содержательного ответа на запрос (responseresponse) Пользователь получает уведомление.

Содержательный ответ в зависимости от вида сведений может быть представлен в виде информации в поле карточки или в виде приложенного файла.

Смэв интерфейс

СМЭВ-запрос с ответом

Смэв интерфейс

Пример отображения ответа

Администрирование пользователей

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

  • создание пользователя или группы;
  • управление ролями.

Раздел создание пользователя или группы представляет собой древовидную структуру, в которой доступен функционал:

  • создание групп и подгрупп;
  • включение пользователей в группы и подгруппы.

Смэв интерфейс

Управление пользователями и группами

Смэв интерфейс

В разделе управления ролями осуществляется назначение группам, подгруппам и пользователям ролей для работы в Универсальном интерфейсе.

Существует два типа ролей: «администратор», «специалист службы поддержки» и функциональные роли. Пользователь с ролью «администратор» имеет доступ к функционалу управления пользователями. Пользователь с ролью «специалист службы поддержки» имеет доступ к разделу мониторинга СМЭВ-запросов.  Функциональные роли предназначены для конечных пользователей решения и дают право на просмотр / редактирование / создание записей в определенных реестрах. Если у пользователя нет прав на просмотр реестра, соответствующий реестр не отображается в его интерфейсе.

Смэв интерфейс

Мониторинг обработки СМЭВ-запросов

Раздел мониторинга запросов СМЭВ представляет собой дашборд, содержащий блоки с графической информацией:

  • о текущем состоянии и работоспособности отдельных элементов Универсального интерфейса и Адаптера СМЭВ;
  • о статистике обработки запросов на стороне решения и в СМЭВ
  • лог взаимодействия Адаптера со СМЭВ, обновляемый в реальном времени.

Информация представлена в виде графиков, гистограмм и флажков-индикторов.

Статистика обработки запросов представлена в разрезе отдельных видов сведений.

Мониторинг обработки СМЭВ-запросов реализован на недокументированных функциях СУБД H2 (реализованы Минкомсвязи по запросу заказчиков Хемуль IT). Функционал может использоваться службой технической поддержки (IT-департаментом) организации для контроля работоспособности инфраструктуры СМЭВ и оперативного решения возникающих инцидентов.

Функционал мониторинга обработки СМЭВ-запросов обладает следующими преимуществами (по сравнению с использованием стандартных программных решений):

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

Программный интерфейс

В настоящий момент программный интерфейс реализован на базе файлового обмена. В папку «in» поступают файлы с данными СМЭВ-запросов, сгенерированные внешней интегрируемой информационной системой. В папку «out» выкладываются полученные ответы для внешней ИС.

Поступающие посредством API запросы могут отображаться в пользовательском интерфейсе решения.

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

  • о типе запросе или виде сведений, к которому направляется запрос;
  • содержательная информация для запроса;
  • идентификатор запроса.

Разбор и преобразование полученного файла в формат СМЭВ-запроса осуществляется на стороне Универсального интерфейса. Аналогичным образом, при получения ответа на запрос из СМЭВ Универсальный интерфейс преобразует его в формат, удобный для обработки во внешней информационной системе.

Таким образом, обеспечивается интеграция бесплатного Адаптера СМЭВ с любой информационной системой пользователя: 1С, внедрённой CRM, собственной корпоративной ИС предприятия.

Преимущества Универсального интерфейса

Основными преимуществами Универсального интерфейса по сравнению со стандартным Адаптером СМЭВ выступают:

  • расширенный функционал работы с запросами СМЭВ;
  • возможность одновременного использования UI и API решения;
  • расширенный функционал разграничения прав доступа;
  • наличие системы мониторинга статуса запросов СМЭВ;
  • наличие системы уведомлений;
  • максимально гибкий API.

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

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

Больше проверок:  Проверка технических и образовательных записей

Смэв интерфейс

UPD 03. 2020

С момента опубликования статьи описываемая в ней версия Адаптера СМЭВ морально и функционально устарела. Решение не поддерживает:

  • новый ГОСТ электронной подписи;
  • версию 1.3 схем СМЭВ.

Техподдержка СМЭВ поддерживает только последние версии адаптера.
Первое, что отвечают коллеги на соответсвующие запросы пользователей: «Сначала обновитесь до последней версии»

В связи с этим команда Хемуль IT настоятельно рекомендует обновить решение до последней версии, опубликованной на технологическом портале СМЭВ. Все опубликованные версии ПО также можно найти в материале «История версий Адаптера СМЭВ«.

Бесплатные адаптеры СМЭВ

Те особо любознательные пользователи технологического портала СМЭВ, кто долистывал главную страницу техпортала до конца, могли видеть там следующие ссылки:

В данной статье речь пойдет об Адаптере для работы со СМЭВ 3 (далее — Адаптер). Мы расскажем, какие преимущества можно извлечь из его использования в интеграционных решениях, кратко опишем процедуры установки, настройки и работы с интерфейсом.

В следующих статьях мы расскажем об Адаптере СМЭВ 3.0 и о библиотеке для сборки клиента СМЭВ 3.

Описание Адаптера для работы со СМЭВ 3

Адаптер для работы со СМЭВ 3 был создан по заказу Минкомсвязи для облегчения и ускорения процессов интеграции со СМЭВ 3 на стороне участников межведомственного взаимодействия.

Адаптер представляет собой Java-приложение, которое с одной стороны полностью интегрировано со СМЭВ 3, а с другой — предоставляет участнику взаимодействия 4 различных интерфейса:

  • web-сервис;
  • обмен сообщениями через файловую систему;
  • обмен сообщениями через базу данных;
  • обмен сообщениями через Java Message Service.

Кроме того, к Адаптеру прилагается графическое пользовательское приложение (GUI адаптера), с помощью которого можно реализовать простейшее интеграционное решение без создания дополнительной информационной системы. При этом все запросы к Поставщикам видов сведений и ответы на запросы Потребителей создаются пользователями в ручном режиме посредством графического интерфейса.

GUI адаптера взаимодействует с самим Адаптером только через web-сервис.

Требования

В силу того, что Адаптер написан на Java, он является кроссплатформенным, и его можно устанавливать как на Windows, так и на nix-системы.

Для установки Адаптера требуются следующий набор компонентов:

  • JRE (бесплатно);
  • (КриптоПро CSP + Trusted Java) или (КриптоПро CSP + КриптоПро Java CSP) или КриптоПро JСP.

Для взаимодействия с Адаптером через JMS потребуется Apache ActiveMQ, а для взаимодействия с адаптером через базу данных потребуется одна из поддерживаемых им СУБД:

  • Oracle;
  • MySQL;
  • PostgreSQL;
  • MS SQL Server.

Структура

Функциональная схема Адаптера для работы со СМЭВ представлена на рисунке.

Смэв интерфейс

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

Анализ логов Адаптера позволяет предположить, что он состоит из следующих модулей:

Интеграционный модуль обеспечивает взаимодействие адаптера с информационными системами участника взаимодействия и с GUI адаптера.

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

В качестве СУБД могут быть использованы базы данных Derby (этот режим устанавливается по умолчанию) или PostgreSQL (здесь потребуется исполнить пару простеньких па с бубном).

Кроме сообщений в формате Адаптера СМЭВ, которые хранятся в базе данных, специальный отладочный режим позволяет сохранять сообщения в формате СМЭВ в виде XML-файлов. О разнице форматов Адаптера СМЭВ и самого СМЭВ речь пойдет ниже, а здесь сделаем предупреждение о том, что отладочный режим генерирует очень много XML-файлов. Регистрируется каждый запрос к очереди участника в СМЭВ и ответ на него (включая сообщения о пустой очереди), а эти запросы Адаптер посылает непрерывно.

Преимущества использования Адаптера СМЭВ в интеграционных решениях

В чем же заключаются преимущества использования Адаптера СМЭВ перед разработкой интеграционного решения «с нуля»?

Во-первых, упрощаются форматы XML-сообщений.

На следующих рисунках представлены: сверху — формат СМЭВ (из Методических рекомендаций по работе с ЕСМЭВ версии 3.4), снизу — формат Адаптера СМЭВ.

Смэв интерфейс

Смэв интерфейс

ЭП-ОВ – это электронная подпись информационной системы участника взаимодействия (органа власти).

ЭП-СП – это электронная подпись должностного лица участника взаимодействия, от имени которого подается запрос (расшифровка аббревиатуры СП утеряна).

При беглом анализе обоих схем бросается в глаза то, что в схеме Адаптера отсутствует подпись ЭП-ОВ. Эту функцию адаптер СМЭВ берет на себя – запросы, ответы и сообщения-тикеты (Ack) подписываются Адаптером автоматически.

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

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

К сожалению, в тех случаях, когда запросы определенных видов сведений требуют подписи должностного лица (например, запрос данных о доходах физлиц по справкам 2-НДФЛ у ФНС), эту подпись приходится формировать самостоятельно. Адаптер тут не помощник.

Но могут быть использованы:

  • библиотека для сборки клиента СМЭВ 3, о которой будет рассказано в одной из следующих статей;
  • GUI адаптера СМЭВ, если взаимодействие осуществляется с его помощью (GUI адаптера описывается в последнем разделе данной статьи).

В-третьих, вместо элемента TransactionCode в схеме Адаптера применяются элементы комплексного типа createGroupIdentity или linkedGroupIdentity.

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

Смэв интерфейс

На основании значений этих элементов Адаптер СМЭВ самостоятельно получает код транзакции в СГКТ, используя сервис СПКТ.

Расшифровку этих непроизносимых аббревиатур можно посмотреть в Методических рекомендациях, но лучше не тратить на это время.

Коды транзакций были придуманы для сложных бизнес-процессов, когда одно ведомство посылает запрос во второе ведомство, которое для подготовки ответа посылает запросы в третье или четвертое ведомство. Код транзакции служит для объединения всех этих запросов в одну бизнес-транзакцию.

На практике же эта идея пока не используется, поэтому в качестве значений всех трех элементов CreateGroupIdentity можно передавать по двадцать нулей, и СПКТ вернет вполне годный код транзакции.

Элемент linkedGroupIdentity используется в ответах на запросы, полученные из СМЭВа, т.е. когда участник взаимодействия выступает в роли Поставщика вида сведений. Причем этот элемент заполняется Адаптером автоматически при обработке запроса.

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

Все вложения перемещаются в каталог файловой системы, а в элементах AttachmentHeader запроса передаются ссылки на них.

Смэв интерфейс

Адаптер самостоятельно принимает решение (на основании размера вложения), каким образом передавать вложения – MTOM или отдельным файлом через FTP.

Если вложение не подписано подписью должностного лица, то Адаптер совершенно самостоятельно подписывает его подписью ЭП-ОВ.

Еще два неочевидных преимущества работы через Адаптер СМЭВ – это возможность отправки в СМЭВ псевдосинхронных запросов (SendSyncRequest) при подключении информационной системы через web-интерфейс и реализация Адаптером службы приема от СМЭВ push-уведомлений.

SendSyncRequest со стороны информационной системы участника выглядит как запрос в СМЭВ с немедленным получением синхронного ответа на него.

Под капотом это реализуется с помощью стандартных асинхронных запросов и ответов СМЭВ.

Использование SendSyncRequest имеет смысл только в случае быстрой (секунды) реакции Поставщика на поступающие к нему запросы, а такие виды сведений еще нужно поискать.

Push-сервис – это замечательный компонент, который должен получать push-уведомления от СМЭВ о том, что в очереди участника взаимодействия появилось новое сообщение (например, ответ на запрос).

Но для того, чтобы сделать этот push-сервис видимым со стороны СМЭВ, нужно спуститься в организационно-бюрократический ад и пройти все семь его кругов сначала в одном направлении — с техническими службами Ростелекома, а потом в другом направлении — со службой безопасности.

Если бы push-уведомление содержало в себе сам ответ на запрос (для Потребителя ВС) или запрос от другого участника взаимодействия (для Поставщика ВС),  эти мытарства, может, и имели бы смысл.

Но push-уведомление от СМЭВ реализовано в семантике «Посмотри свою очередь – там что-то новенькое появилось». После такого уведомления все равно требуется посылать запрос в СМЭВ на чтение очереди.

А Адаптер СМЭВ и так непрерывно отправляет такие запросы.

Собственно, поэтому «синхронный» запрос и push-уведомления отнесены нами в разряд неочевидных преимуществ СМЭВ-Адаптера.

Работа с GUI-адаптера (готовое решение из бесплатной коробки)

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

  • В двух командных оболочках последовательно запускаем два приложения – Адаптер СМЭВ и GUI адаптера СМЭВ.
  • Открываем интернет-браузер, и в строке адреса вводим «http://localhost:8082/».
  • Откроется интерфейс администратора, в котором заполним сведения о нашей информационной системе.

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

  • Переходим на закладку «Управление видами сведений» и добавляем описание вида сведений.

    Наименование вида сведений может совпадать с приведенным на технологическом портале, а может быть любым, удобным и понятным пользователям участника взаимодействия.
    Наименование схемы – необходимо указывать namespace из схемы вида сведений.
    Загрузить файл схемы – прикрепляется либо сам XSD-файл, либо, если в схеме есть импортируемые схемы, zip-архив, содержащий все схемы, используемые для вида сведений.
    Обычно в виде таких архивов схемы ВС хранятся на технологическом портале, но иногда их приходится собирать руками.
    Наименования корневых элементов запроса и ответа копируются из схемы вида сведений.
    В списке связанных информационных систем нужно указать те ИС, которые будут работать с создаваемым видом сведений. Для каждой ИС (если их много) могут быть указаны разные ВС (если их много).
    Нажимаем кнопку «Добавить».

  • Выходим из системы и осуществляем вход под учетной записью пользователя.

    У простого пользователя есть возможность создавать и отправлять в СМЭВ запросы, просматривать полученные ответы, просматривать полученные запросы и писать на них ответы.

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

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

Работа с входящими запросами, где участник взаимодействия выступает в роли поставщика вида сведений, происходит аналогичным образом.

В качестве заключения

В настоящей статье приведен общий обзор Адаптера для СМЭВ и преимуществ его применения в интеграционных решениях.

Главный вывод заключается в том, что продукт вполне работоспособен, несмотря на несовершенство документации к нему и определенные трудности в установке и настройке, обусловленные этим несовершенством.

В одной из следующих статей мы расскажем о реальных решениях, построенных на базе Адаптера СМЭВ, а также о последней версии Адаптера, в которую внесен ряд существенных изменений.

Также вы можете передать задачи организации СМЭВ-взаимодействия участникам нашего проекта. Качественная настройка СМЭВа и интеграция Адаптера с различными ИС — наш нехемульский долг.

Sokolko

4 года, 1 месяц назад

Смэв интерфейс

Как мы уже писали в статье про СМЭВ 3, Система Межведомственного Электронного Взаимодействия уже давно востребована не только государственным учреждениями и органами власти, но и рядом коммерческих организаций. У наших клиентов также возникла необходимость взаимодействия со СМЭВ. История взаимодействия была начата ещё во времена “расцвета” СМЭВ 2, для которой не было готового Адаптера СМЭВ (как для СМЭВ 3). В то время для взаимодействия со СМЭВ 2 нами был разработан собственный Адаптер СМЭВ. Он всё ещё остаётся актуальным для интеграции с некоторыми сервисами СМЭВ, которые остаются работать на СМЭВ 2 (например, отправка и регистрация сертификатов в ЕСИА для Удостоверяющих Центров). Ориентировочной датой переноса всех сервисов на СМЭВ 3 называют март 2019 года, но всё может круто поменяться, учитывая специфику функционирования СМЭВ. В данной статье речь пойдёт о запуске бесплатного Адаптера СМЭВ 3 для взаимодействия с ним.

Отличия СМЭВ 2 от СМЭВ 3

Изначально мы планировали доработать наш Адаптер СМЭВ 2 собственной разработки для взаимодействия со СМЭВ 3. Но, как выяснилось, отличия двух систем не просто значительные, а радикальные. По сути, с точки зрения интеграции СМЭВ 2 не имеет почти ничего общего со СМЭВ 3. В СМЭВ 2 каждый поставщик данных (ФНС, ПФР, МВД) имел свой SOAP-сервис со своим файлом WSDL и особенностями работы. В СМЭВ 3 присутствует единый сервис, который является посредником между запрашивающей стороной (нами) и поставщиками информации. Более детально СМЭВ 3 описан в документе Методические рекомендации по работе с ЕСМЭВ

При выборе способа интеграции нужно учитывать, что передаваемые сообщения подписываются электронной подписью (ЭП) организации. Кроме того, при взаимодействии с единым сервисом СМЭВ 3 нужно использовать протокол SOAP с нестандартным алгоритмом каноникализации. Не совсем понятно, почему разработчики СМЭВ решили использовать свою каноникализацию, это уже останется на их совести. Само собой, свободных и открытых библиотек для данного алгоритма нет. Трудности есть и с подписыванием запросов SOAP по ГОСТ, т.к. не все языки программирования поддерживают ГОСТ “из коробки”. Эталонная реализация алгоритма каноникализации доступна только на Java, так что разработчики, использующие другие языки должны либо реализовывать данный алгоритм самостоятельно, либо отказаться от работы со СМЭВ.

Кроме того, при работе с российскими криптоалгоритмами по ГОСТ, согласно требованиям нашего законодательства к защите ключа электронной подписи, необходимо использовать сертифицированный криптопровайдер. То есть просто экспортировать приватный ключ из носителя ЭП и подписывать им запросы технически можно, но запрещено требованиями регуляторов в данной сфере. Это тоже накладывает свои ограничения на выбор технологии интеграции. Учитывая все эти аргументы, у нас получилось 3 варианта интеграции со СМЭВ 3.

Полностью собственное решение на удобном нам языке (Python)

Смэв интерфейс

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

Реализация собственного адаптера на Java

Смэв интерфейс

Данный способ использует для хранения закрытой части ключа КриптоПРО JCP. Такое решение соответствует законодательным требованиям РФ по защите ЭП, т.к. используется сертифицированный криптопровайдер. К недостаткам можно отнести поддержку не всех носителей ЭП и необходимость приобретения лицензии на КриптоПРО JCP. Библиотека для Java распространяется свободно.

Мы решили не останавливаться на этом способе, т.к. он “прибит гвоздями” к Java, а для нас удобнее несколько иные технологии разработки.

Бесплатный Адаптер СМЭВ 3

Смэв интерфейс

Мы выбрали за основу последний способ. При данном подходе за взаимодействие со СМЭВ 3 отвечает бесплатный адаптер СМЭВ от Ростелекома. Он полностью реализует функции асинхронной работы с единым сервисом СМЭВ (постановка в очередь запросов и формирование ответов). Подпись вычисляется через Trusted Java, ключ хранится в стандартном КриптоПРО CSP, который поддерживает очень большое количество носителей ЭП и имеет все необходимые сертификаты. Тут следует отметить, что требуется приобретение лицензий на Trusted Java и КриптоПРО CSP, но они довольно бюджетные и не оказали существенного влияния на общую смету проекта (порядка 3 000 руб. суммарно).

На схеме цветом выделены те сервисы, которые реализуются непосредственно нами на удобной нам технологии разработки ПО (Python). Благодаря возможности выбора способа интеграции (база данных, файловый обмен, SOAP) мы не привязаны к Java или каким-либо другим языкам программирования. Более подробно интерфейсы интеграции Адаптера СМЭВ описаны в руководстве администратора Адаптера.

Подготовка к запуску

Смэв интерфейс

В нашем случае, организация уже имела доступ к СМЭВ 2, была зарегистрирована в СМЭВ и имела все необходимые учётные записи. Но, как оказалось, для подключения к СМЭВ 3 этого недостаточно. Для получения учётной записи СМЭВ 3 необходимо снова собрать все документы и пройти процедуру подключения. Процедура описана в на Технологическом портале СМЭВ. После успешного подключения, на электронную почту будет направлено зарегистрированное наименование участника (название организации) и мнемоника, которая понадобится в дальнейшем для настройки Адаптера СМЭВ.

Выбор программной платформы для адаптера

Смэв интерфейс

Согласно официальной документации на Адатер СМЭВ 3, поддерживается как Windows, так и Linux. Это неудивительно, т.к. он написан на Java и изначально задумывался как кроссплатформенное программное обеспечение. Тем не менее, после более детального изучения документации, стало ясно, что поддержка Linux только номинальная. В частности, в руководстве администратора адаптера СМЭВ детально расписано, какие библиотеки для Java необходимо установить на Windows, представлены сведения о криптопровайдерах и т.д. В разделе об установке на Linux написано дословно “1. Развернуть и настроить java JRE в среде Linux.”. Это максимум информации, которую можно почерпнуть из официального руководства по вопросу установки на Linux. После нашего запроса в техподдержку пришла стандартная отписка, что нужно “настроить те же компоненты, что и в варианте с Windows”. После этого вопрос с выбором платформы был решён в пользу ОС Microsoft.

Установка адаптера СМЭВ

Для установки под Windows мы использовали полезную с технологического портала СМЭВ 3. Единственное. что следует учитывать: для настройки лицензии Trusted Java необходимо установить VC++ redistributable (из состава меню самой Trusted Java). Без неё окошко ввода лицензии не появляется. После установки и запуска адаптера он настраивается полностью по видеоинструкции на работу с тестовой средой (). Нужно не забыть настроить мнемонику системы и указать интеграцию через файловое хранилище (это потребуется дальше). Если планируется использовать web-интерфейс адаптера, рекомендую после установки сделать резервную копию машины: добавляемые в систему виды сведений никогда не удаляются. Такая уж особенность адаптера.

Смэв интерфейс

Тестовое взаимодействие со СМЭВ 3

Для того, чтобы иметь возможность работы с производственным контуром СМЭВ, необходимо обязательно пройти тестирование на тестовом контуре. Без соблюдения этого условия заявка на доступ к виду сведений будет сразу же отклонена. Тестирование предполагает отправку и получение эталонных запросов и ответов в адрес эмулятора СМЭВ. Результаты взаимодействия со СМЭВ по тестовому контуру отправляются в виде файлов с сообщениями адаптера как вложения к заявке на доступ к виду сведений. Для того, чтобы сообщения сохранялись в файлы, нужно в “Настройках конфигурации” Адаптера СМЭВ нажать кнопку “Показать расширенные настройки” и отметить галочку “12.2 Сохранение входящих/исходящих сообщений СМЭВ”

Смэв интерфейс

Смэв интерфейс

Смэв интерфейс

Будет загружен архив с несколькими файлами xml. Данные файлы представляют собой те сообщения, которые адаптер СМЭВ 3 должен отправить в адрес эмулятора и ответы на них.

Для того, чтобы отправить эталонные сообщения, нам необходимо подготовить файлы отправки. Т.к. мы выбрали интеграцию через файловое хранилище, адаптер будет забирать файлы из папки %ADAPTER_ROOT%integrationiles%MNEMONIC%out и на их основании отправлять сообщения. Тут проблема заключается в том, что у адаптера несколько иной формат конверта (сообщения), чем у сервиса ЕСМЭВ. Подробнее о формате можно почитать в руководстве администратора адаптера СМЭВ. Ниже приводится пример содержимого файла в формате адаптера для отправки эталонного сообщения тестирования вида сведений “Выписки из ЕГРЮЛ по запросам органов государственной власти”:

Здесь 111111 – мнемоника системы, 3e83e83a-6a23-4908-b0d2-e3ad08fe2602 – идентификатор запроса. Он должен меняться при каждом запросе. Можно воспользоваться онлайн-генератором по ссылке:

Как видно из примера, в блок MessagePrimaryContent помещается тело эталонного сообщения.

После отправки сообщения нужно подождать некоторое время и в папке  %ADAPTER_ROOT%messages%MNEMONIC% появятся файлы, в которых будут находиться XML-сообщения запроса и ответа. Данные файлы следует сохранить и впоследствии прикрепить к заявке на доступ к виду сведений производственного контура СМЭВ. Операцию по тестированию следует повторить для всех эталонных сообщений в архиве.

После того, как были получены все необходимые XML-файлы, подключение к СМЭВ производственного контура становится делом техники: нужно только оформить соответствующую заявку на доступ к нужному ВС и приложить файлы тестирования. В нашем случае доступ был предоставлен в течение трёх дней.

Надеемся, наш опыт был Вам полезен. Удачи в работе со СМЭВ!

Единая система межведомственного электронного взаимодействия (СМЭВ)

Реализация взаимодействия информационных систем организаций и ведомств осуществляется в рамках государственной целевой программы «Информационное общество (2011-2020 годы)».

Взаимодействие реализуется в рамках:

  • системы межведомственного электронного документооборота (МЭДО).
  • единой системы межведомственного электронного взаимодействия (СМЭВ).

Что такое СМЭВ и для чего она нужна?

Единая система межведомственного электронного взаимодействия (СМЭВ)1  – федеральная государственная информационная система, предназначенная для организации информационного взаимодействия между информационными системами участников СМЭВ в целях предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций в электронной форме.

Участниками межведомственного электронного взаимодействия (участниками СМЭВ) являются федеральные органы исполнительной власти, государственные внебюджетных фонды, исполнительные органы государственной власти субъектов Российской Федерации, органы местного самоуправления, государственные и муниципальные учреждения, многофункциональные центры, иные органы и организации.

Целью создания СМЭВ является повышение качества предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций за счет использования общих информационных ресурсов, уменьшения времени на поиск и обработку информации в электронной форме.

Смэв интерфейс

СМЭВ предназначена для решения следующих задач:

  • обеспечение исполнения государственных и муниципальных функций в электронной форме;
  • обеспечение предоставления государственных и муниципальных услуг в электронной форме, в том числе с использованием универсальной электронной карты и единого портала2 ;
  • обеспечение информационного взаимодействия в электронной форме при предоставлении государственных и муниципальных услуг и исполнении государственных и муниципальных функций.

Основные функции СМЭВ

Основными функциями СМЭВ являются:

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

В целях исполнения своих функций СМЭВ обеспечивает:

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

Технологическое обеспечение СМЭВ

Технологическое обеспечение информационного взаимодействия с применением СМЭВ достигается путем использования:

  • сервис-ориентированной архитектуры, представляющей собой совокупность электронных сервисов, построенных по общепринятым стандартам;
  • единых технологических решений и стандартов, единых классификаторов и описаний структур данных.

Как стать участником СМЭВ?

Особенности использования СМЭВ и подключения к ней информационных систем отдельных органов и организаций определяются соглашениями между Минцифра России, являющимся оператором СМЭВ4, и органом и организацией, являющейся участником СМЭВ. Минцифра России осуществляет координацию деятельности по подключению к СМЭВ, обеспечивает её функционирование и ведение реестра электронных сервисов.

Интеграция информационных систем в рамках СМЭВ осуществляется в соответствии с Техническими требованиями к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия (утв. приказом Минкомсвязь России от 27.12.2010 № 190).

Чтобы стать участником СМЭВ органу или организации, предоставляющей государственные и муниципальные услуги и исполняющей государственные и муниципальные функции, необходимо:

  • Обеспечить разработку электронных сервисов и интерфейсов взаимодействия используемой информационной системы и СМЭВ. 
    Для этого нужно обратиться к поставщику или разработчику используемой информационной системы для выполнения им работ по реализации необходимых сервисов и интерфейсов.
  • Предоставить электронный сервис оператору узла СМЭВ, участником которого должна быть данная организация, для проведения регистрации и внесения в реестр электронных сервисов.
    Для этого необходимо официально обратиться к оператору узла СМЭВ и предоставить паспорт электронного сервиса, методику испытаний и руководство пользователя электронного сервиса, а также обеспечить доступность электронного сервиса для проведения его приемки.
  • Обеспечить наличие защищенного канала связи между используемой информационной системой и СМЭВ.

Смэв интерфейс

АИС МФЦ ДЕЛО

АИС МФЦ ДЕЛО — решение для автоматизации деятельности многофункциональных центров предоставления государственных и муниципальных услуг (МФЦ). Основная цель внедрения АИС МФЦ – повышение качества работы МФЦ. Это достигается путем взаимодействия со СМЭВ, РСМЭВ, УЭК, ИАС МКГУ, ГИС ГМП, Центром Телефонного Обслуживания, а также с федеральной государственной информационной системой «ЕСИА»:

Смэв интерфейс

Справочная информация: Перечень наиболее важных документов по организации информационного взаимодействия органов государственной власти в рамках СМЭВ:

  • Распоряжение Правительства РФ от 17.12.2009 № 1993-р «Об утверждении сводного перечня первоочередных государственных и муниципальных услуг, предоставляемых в электронном виде».
  • Постановление Правительства РФ от 08.09.2010 № 697 «О единой системе межведомственного электронного взаимодействия».
  • Приказ Министерства связи и массовых коммуникаций РФ от 27.12.2010 № 190 «Об утверждении технических требований к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия».
  • Постановление Правительства РФ от 08.06.2011 № 451 «Об инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций в электронной форме».
  • Постановление Правительства РФ от 28.12.2011 № 1184 «О мерах по обеспечению перехода федеральных органов исполнительной власти и органов государственных внебюджетных фондов на межведомственное информационное взаимодействие в электронном виде».
  • Постановление Правительства РФ от 22.12.2012 № 1382 «О присоединении информационных систем организаций к инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций в электронной форме».
  • Распоряжение Правительства РФ от 25.12.2013 № 2516-р «Об утверждении Концепции развития механизмов предоставления государственных и муниципальных услуг в электронном виде».
  • Распоряжение Правительства РФ от 09.06.2014 № 991-р «Об утверждении плана мероприятий («дорожной карты») по реализации Концепции развития механизмов предоставления государственных и муниципальных услуг в электронном виде, утв. распоряжением Правительства РФ от 25.12.2013 № 2516-р».
  • Приказ Министерства связи и массовых коммуникаций РФ от 01.07.2014 № 184 «О реализации положений постановления Правительства Российской Федерации от 19 марта 2014 г. № 208 «О внесении изменений в положение о единой системе межведомственного электронного взаимодействия».
  • Постановление Правительства РФ от 19.11.2014 № 1222 «О дальнейшем развитии единой системы межведомственного электронного взаимодействия».

1. В соответствии с Положением о единой системе межведомственного электронного взаимодействия (утв. постановлением Правительства РФ от 08.09.2010 № 697).

2. Федеральная государственная информационная система «Единый портал государственных и муниципальных услуг (функций)».

3. Программные и технические средства, обеспечивающие возможность доступа к информационным системам через СМЭВ.

4. В соответствии с Положением о единой системе межведомственного электронного взаимодействия.

Настройка Адаптера СМЭВ выполняется в веб-интерфейсе и не зависит от операционной системы, в которой установлено ПО. Описание основных настроек, добавление ИС и ВС в Адаптер указаны в описании Устанавливаем и настраиваем экземпляр Адаптера.

Настройки, на которые нужно обратить внимание в разделе Конфигурация:

1)    Оба вида сведений используют схему 1.3. Поэтому в поле Предустановленные настройки выбирается СМЭВ 1.3 с соответствующей средой (Рисунок 1). Для сохранения изменения выбрать кнопку Применить и сохранить.

Смэв интерфейс

Рисунок 1 – Настройки конфигурации адаптера.

Также необходимо убедиться, что в пункте СМЭВ транспорт верно проставились поля Адрес, Версия и Адрес маркировщика транзакций:

  • п. 2.1: http://smev3-n0.test.gosuslugi.ru:5000/transport_1_0_2 – для тестовой среды, http://172.20.3.12:5000/transport_1_0_2/ – для продуктивной среды;
  • п. 2.2: 1.3 для всех сред;
  • п. 2.4: http://smev3-n0.test.gosuslugi.ru:5000/ws/smev-message-exchange-service-1.3.wsdl – для тестовой среды, http://172.20.3.12:5000/ws/smev-message-exchange-service-1.3.wsdl- для продуктивной среды.

2)    Настройки архивации (пункт 14) – важно выставить значения так, чтобы таблица message_state не разрасталась. Большой размер таблицы может повлиять на время запуска GetRequest, что может привести к задержкам в опросе очереди.

3)    В случае необходимости уменьшения периодичности отправки сообщений (пункт 4.2), рекомендовано уменьшить количество забираемых сообщений из СМЭВ (пункт 4.1 Конфигурации информационной системы).

Для настройки ИС необходимо обратить внимание на следующие параметры:

1.    Обязательно должен быть включен опрос getResponse (пункт 4.5). В противном случае опрос очереди на наличие сообщений не будет производиться, а значит не будут доходить ответы.

2.    В настройках добавленной ИС уделить внимание настройке Количество сообщений, забираемых из СМЭВ (пункт 4.1). Необходима для регулировки вычитывания сообщений из очереди. Если объем приходящих ответов большой, очередь скапливается, то необходимо увеличить количество забираемых сообщений.

Загрузку очереди можно проверить в ЛК УВ в описании своей ИС в разделе Очереди (Рисунок 2).

Смэв интерфейс

Рисунок 2 – Очереди информационной системы.

Смэв интерфейс

Рисунок 3 – Создание учетной записи для информационной системы.

Необходимо знать, что в Адаптере СМЭВ доступно несколько вариантов использования интерфейсов:

– Базы данных;

Каждый из вариантов настраивается по-своему. Выбрать интерфейс необходимо опираясь на удобство и потребности использования.

Сообщение запроса для интерфейса БД вносится через SQL команды в соответствующую таблицу Send_Table. Подробнее о том, как настроить интерфейс БД и формировать через него сообщения, можно узнать тут.

Проверить входящую очередь сообщений можно в созданной таблице, чаще именуемой Receive_Table. Очередь отправляемых сообщений – в таблице Send_Table. Содержимое сообщений хранится в таблице core.message_content.

Отправленные и полученные сообщения для любого интерфейса можно проверить в самом адаптере в разделе Обработанные сообщения (Рисунок 4). На форме отображаются данные из таблицы core.delivery_log.

Смэв интерфейс

Рисунок 4 – Раздел “Обработанные сообщения” Адаптера.

Нажав на одну из записей, можно увидеть карточку сообщения (Рисунок 5). В ней помимо основных данных из общего меню можно найти сообщения и сам конверт запроса.

Смэв интерфейс

Рисунок 5 – Карточка обработанного сообщения.

При использовании файлового интерфейса сообщения размещаются в директории /opt/adapter/integration для Linux, либо в директории C:Program FilesSmevAdapterintegrationiles для Windows. Запросы кладутся в виде xml в папку out. Далее спустя небольшой промежуток времени корректно сформированный конверт автоматически преобразуется Адаптером. Дополненный конверт ClientMessage помещается в подпапку sent, и направляется в СМЭВ. Невалидные конверты будут перемещены в подпапку error с описанием ошибок. Ответы хранятся в папке in.

Встроенный интерфейс предполагает отправку запросов через web-интерфейс адаптера. Но в случае обмена с Госключом данный интерфейс интересен для взаимодействия по SOAP или REST API протоколам. Наиболее часто встречающийся вариант – использование связки Адаптера с ПО Soap UI. Поэтому рекомендуем ознакомиться с описанием данного варианта в статье «Обмен сообщениями с помощью SOAP UI» (ссылка).

Статусная информация по процессам адаптера записывается в лог файл в папке /opt/adapter/logs для Linux, и в C:Program FilesSmevAdapterlogs для Windows. Она пригодится для анализа возможных проблем. Также в данный лог могут записываться конверты сообщений. Но для этого необходимо включить соответствующую настройку Адаптера – пункты 2.7, 2.8 настроек конфигурации.

Смэв интерфейс

Рисунок 6 – Определение oid значения в файлах cookie браузера.

Подробнее об используемых сообщениях и их содержании поговорим в описании Разбор примеров сообщений в обменах СМЭВ при интеграции с Госключом.