Приложение 1. ОПИСАНИЕ ПРОТОКОЛА ЭЛЕКТРОННОГО ОБМЕНА ДАННЫМИ МЕЖДУ ИНТЕГРАЦИОННЫМИ ШЛЮЗАМИ ИНТЕГРИРОВАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ ВНЕШНЕЙ И ВЗАИМНОЙ ТОРГОВЛИ НА ТРАНСПОРТНОМ УРОВНЕ

Приложение N 1
к Правилам электронного
обмена данными в интегрированной
информационной системе внешней
и взаимной торговли

ОПИСАНИЕ
ПРОТОКОЛА ЭЛЕКТРОННОГО ОБМЕНА ДАННЫМИ МЕЖДУ ИНТЕГРАЦИОННЫМИ
ШЛЮЗАМИ ИНТЕГРИРОВАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЫ ВНЕШНЕЙ
И ВЗАИМНОЙ ТОРГОВЛИ НА ТРАНСПОРТНОМ УРОВНЕ

1. Понятия, используемые в настоящем документе, означают следующее:

"API" - Application programming interface - набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах;

"MIME" - спецификация для кодирования и форматирования информации для ее передачи внутри текстовых данных;

"MQMD" - заголовок транспортного сообщения, содержащий основные реквизиты транспортного сообщения;

"MQRFH2" - заголовок транспортного сообщения, содержащий дополнительные реквизиты транспортного сообщения;

"канал" - однонаправленное сетевое соединение, предназначенное для передачи сообщений между менеджерами очередей;

"менеджер очередей" - программный компонент, предоставляющий сервисы очередей сообщений посредством API;

"очередь" - именованное хранилище сообщений, управляемое посредством менеджера очередей;

"транспортное сообщение" - совокупность элементов информации, оформленных в соответствии с требованиями транспортного протокола.

2. Взаимодействие интеграционных шлюзов интегрированной информационной системы внешней и взаимной торговли (далее - интегрированная система) осуществляется посредством промежуточного программного обеспечения, предоставляющего средства для организации очередей сообщений (далее - программное обеспечение MQ).

Правила именования объектов программного обеспечения MQ приведены в пунктах 12 - 18 настоящего документа.

3. Допускается использование любого из имеющихся программных интерфейсов к программному обеспечению MQ (MQI, AMI, JMS и т.д.).

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

4. На транспортном уровне интеграционные шлюзы обмениваются между собой транспортными сообщениями в формате программного обеспечения MQ, оформляемыми в соответствии с пунктами 8 - 11 настоящего документа.

5. Для транспортного сообщения устанавливается предельный размер 100 Мб. В случае если при оформлении транспортного сообщения выяснится, что размер транспортного сообщения превышает указанный предельный размер, интеграционным шлюзом должна быть прекращена обработка такого сообщения. При этом отправитель уведомляется интеграционным шлюзом о невозможности доставки такого сообщения путем формирования и отправки технологического сообщения об ошибке с кодом "int:InternalError".

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

7. В штатном режиме обмена транспортными сообщениями срок доставки транспортного сообщения от одного интеграционного шлюза до другого интеграционного шлюза и принятия этим последним шлюзом сообщения в обработку должен составлять не более 4 часов.

8. Требования к заполнению полей MQMD приведены в таблице 1.

Таблица 1

Значения полей MQMD

Имя поля
Значение
Комментарий
Version
MQMD_VERSION_2
используется только вторая версия заголовков
MsgType
MQMT_DATAGRAM
обмен осуществляется только дейтаграммами
Expiry
144000
ограничение на истечение срока доставки сообщения - 4 часа
Persistence
MQPER_PERSISTENT
включен режим гарантированной доставки
Report
MQRO_EXPIRATION_WITH_FULL_DATA
запрашивается уведомление об истечении срока доставки сообщения
ReplyToQ
имя очереди получения ответов
используется для формирования и передачи транспортных уведомлений об ошибке
ReplyToQmgr
имя менеджера для получения ответов
используется для формирования и передачи транспортных уведомлений об ошибке

Поля MQMD, не указанные в таблице 1, при заполнении должны иметь значения по умолчанию (должны использоваться значения из структуры MQMD_DEFAULT).

9. В транспортное сообщение включается сообщение унифицированной структуры, оформленное согласно требованиям раздела IV Правил электронного обмена данными в интегрированной информационной системе внешней и взаимной торговли, утвержденных Решением Коллегии Евразийской экономической комиссии от ________ N ______.

10. Если сообщение унифицированной структуры содержит MIME-части, то для идентификации наличия двоичного вложения в группе заголовков MQRFH2 в папке должен присутствовать заголовок "contentType", который должен иметь строковое значение "Multipart/Related; boundary=<идентификатор границы MIME-блока>;".

11. Если сообщение унифицированной структуры передается в формате SOAP-сообщения без MIME-частей, то в группе заголовков MQRFH2 в папке должен присутствовать заголовок "contentType", который должен иметь строковое значение "application/soap+xml".

12. На интеграционных шлюзах должны быть настроены менеджеры очередей программного обеспечения MQ, наименования которых должны удовлетворять шаблону <Идентификатор сегмента>.IIS.QM.

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

Таблица 2

Перечень идентификаторов сегментов интегрированной системы

Назначение
Аббревиатура домена
интеграционный сегмент Евразийской экономической комиссии
EEC
национальные сегменты государств-членов
согласно стандарту ISO 3166-1 (alpha-2)

14. Менеджеры очередей должны быть объединены между собой парами каналов типа "sender"/"receiver", наименование которых подчиняется следующим шаблонам:

а) для канала типа "sender" - шаблону IDLocal/IDRemote, где IDLocal - идентификатор локального сегмента, IDRemote - идентификатор сегмента, к которому выполняется подключение. Например, имя канала между менеджерами очередей EEC.IIS.QM и BY.IIS.QM - EEC/BY;

б) для канала типа "receiver" - шаблону IDRemote/IDLocal, где IDRemote - идентификатор сегмента, со стороны которого выполняется подключение, IDLocal - идентификатор локального сегмента. Например, имя канала между менеджерами очередей EEC.IIS.QM и KZ.IIS.QM - KZ/EEC.

15. Для обеспечения постоянной работы каналов сообщений у создаваемых каналов типа "sender" для параметра Disconnect Interval (интервал отключения) должно быть установлено значение "0".

16. Для приема сообщений от интеграционных шлюзов смежных сегментов на каждом менеджере очередей должна быть создана локальная очередь сообщений с именем GATEWAY.INT.IN.

17. На каждом менеджере очередей должны быть созданы определения удаленных очередей (remote queue definition) для очередей GATEWAY.INT.IN на интеграционных шлюзах смежных сегментов.

Наименование определения удаленной очереди должно подчиняться шаблону IDRemote.QName, где IDRemote - код сегмента удаленного менеджера, Qname - имя очереди на удаленном менеджере. Например, для очереди GATEWAY.INT.IN на менеджере очередей EEC.IIS.QM наименование определения удаленной очереди - EEC.GATEWAY.INT.IN.

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