Интеграция (Шина)

Пред.  Начало  След.

Шина

  Сервисная шина обмена сообщениями (ПК "Интеграция-КС") предназначена для организации централизованного и унифицированного событийно-ориентированного обмена сообщениями (документы, протоколы и т.д.) между различными информационными системами. Применяется для интеграции информационных систем, используемых в бюджетном процессе субъектов Российской Федерации и муниципальных образований.

 

  Для просмотра сообщений по обмену в комплексе "Бюджет-СМАРТ" предназначен режим "Сообщения сервиса обмена".

 

 

Архитектура шины обмена сообщениями:

shina_arhitekt

 

Канал шины представляет собой механизм по отправке, приему, преобразованию и хранению сообщений. Каналы подразделяются на типы по виду источника данных в зависимости от их физической природы, и для подключения к ним имеются соответствующие адаптеры. Каждый канал имеет виртуальный (Virtual Address) и физический адрес (Real Address). Формат адреса имеет вид электронной почты: name@domain.

 

Лог шины cм по кнопке "Log" в сервисе шины (меню SERVICE - кнопка Log).  Для ОС Windows: физически файл лога расположен на компьютере, где развернут ПК "Интеграция-КС" по пути C:\Program Files\Remote Messaging Service\<номер версии шины>\RMS\App_Data\LOGS .

Лог канала см по кнопке "Monitor" подпункт "Log" в списке каналов (меню CHANNELS).

 

Ошибки в канале шины можно посмотреть в окне редактирования канала, поле "Error".

 

Статусы сообщений (отправлено, в ожидании и т.п.) канала шины см в окне редактирования канала по кнопке "Messages": графа "FROM" - отправитель сообщения ; графа "TO" -  получатель сообщения ; графа "DATE" - дата и время появления сообщения; графа "STATUS" - статус сообщения (ушло, в ожидании отправки/приема и т.д.); графа "TIME" - дата и время изменения статуса сообщения; графа "SUBJECT" - кодовое обозначение действия/события которое инициировало сообщение. По кнопке "View / Edit" (либо дубльклик) можно посмотреть содержимое сообщения.

 

 

Для работы шины в СУБД Postgres крайне важно, чтобы подключение было под пользователем ks_rms. Для этого в ПК "Бюджет-СМАРТ" нужно создать пользователя ks_rms и согласиться с привязкой уже имеющегося пользователя ks_rms (в СУБД он уже предустановлен) к комплексу.

 

 

Взаимодействие между базами данных осуществляется через каналы, связанные с этими базами данных:

1. база данных-отправитель проверяет доступность канала шины (делается запрос на сервис шины от SQL сервера) и создает сообщение в специальной таблице базы данных  ,
2. соответствующий канал (созданный для базы данных отправителя) шины типа:
oMSSQL: с заданной периодичностью сканирует специальную таблицу в своей базе данных на предмет появления исходящих сообщений,
oFILE: с заданной периодичностью сканирует заданный каталог на диске на предмет появления файлов с сообщением для отправки,
3. и отправляет их в канал получателя, который, в зависимости от типа канала:
oMSSQL: сохраняет полученное сообщение в специальную таблицу своей базы данных ,
oFILE: сохраняет  полученное сообщение в заданный каталог,
4. база данных-получатель (прописана в канале получателя) с помощью планировщика задач (см. п.5) с заданной периодичностью опрашивает специальную таблицу базы данных  на предмет "поступивших сообщений" (задача планировщика "Проверка межкомплексных сообщений интеграционной шины"), при наличии обрабатыает их (меняет статус документу и т.п.), отправив в шину результат обработки для отправителя (п.1).
5. планировщик задача "Проверка межкомплексных сообщений интеграционной шины" обрабатывает поступающие из вне сообщения, и для полноценной работы планировщику требуется доступ: к сервису ОД (для складирования файлов приема) и базе данных получателя (для инициализации процедуры приема).

 

Взаимодействие со СМЭВ осуществляется через канал SMEV:

1. база данных проверяет доступность канала шины (делается запрос на сервис шины от SQL сервера) и создает сообщение в специальной таблице базы данных  ,
2. соответствующий канал (созданный для базы данных отправителя) шины типа SMEV (СМЭВ-канал) с заданной периодичностью сканирует специальную таблицу в базе данных на предмет появления исходящих сообщений.
3. сообщения преобразовываются в SOAP пакет, подписываются ЭП, сохраняются в базу шины и отправляются в СМЭВ согласно указанному в канале адресу точки доступа в Ростелекоме,
4. тот же канал (п.2) получает ответ от СМЭВ на переданное сообщение, коррелирует (связывает) его с исходящим сообщением и сохраняет в специальную таблицу базы данных .
6. база данных с заданной периодичностью опрашивает специальную таблицу базы данных  на предмет "поступивших сообщений" (планировщик задач "Проверка межкомплексных сообщений интеграционной шины"), при наличии обрабатывает их (меняет статус докуемнту и т.п.).

 

 

НСИ

  НСИ - эталонное хранилище нормативно-справочной информации (КБК, счетов, учреждений), с тиражированием записей на все подключенные информационные системы (комплексы). Так же изменение данных через заявки клиентов на добавление/изменение записей в хранилище посредством утверждения уполномоченным лицом.

 

Принцип действия: один из комплексов назначается эталоном справочной информации (сервером НСИ), остальные комплексы (клиенты НСИ) синхронизируются с эталоном. Перечень комплексов задается шиной. Синхронизация данных осуществляется по GUID (служебный уникальный идентификатор записи справочника) записи кода, дополнительно осуществляется контроль на корректность записей по реквизитному составу: уникальность код БК, уникальность дат вступления в силу наименований, зацикленность иерархии кодов, длина кода БК. Потому не рекомендуем в этолонной базе вносить изменения в справочную систему методом удаления и последующего ввода новых правильных (исправленных) записей - предпочтительнее вносить правки в существующие записи.

 

  Если ПК "Бюджет-СМАРТ" является клиентом НСИ, то с "сервером НСИ" синхронизируются только записи справочников с установленными аналитическими признаками "НСИ (исх.)" (SYS_NSI_OUT) и "НСИ (вх.)" (SYS_NSI_IN):

НСИ (исх.) (SYS_NSI_OUT) - сообщение об изменении записи справочника рассылается клиентам НСИ.
НСИ (вх.) (SYS_NSI_IN) - запись справочника изменяется (синхронизируется) при поступлении сообщений от клиентов НСИ.

Если на записи справочника есть только признак НСИ (исх.), то запись не будет обновляться по данным других клиентов НСИ.

Если на записи справочника есть только признак НСИ (вх.), то запись не будет обновляться у других клиентов НСИ.

 

  В случае рассылки клиентом запроса на удаление записи справочника в рамках НСИ, если один из каналов не отвечает на запрос, то считается, что не ответивший

канал ответил утвердительно (разрешение получено), и запись удаляется.

 

 

 

 

  Реализация в ПК "Бюджет-СМАРТ"

Справочники БК - кнопка "Запуск синхронизации с НСИ" - при её нажатии проверяется идентичность записи справочника с хранилищем НСИ и результат проставляется в графе "Статус НСИ".  Кнопка отображается только при соответствующих настройках синхронизации в "Навигатор: СЕРВИСНЫЕ РЕЖИМЫ \ Сервисы обмена с другими комплексами \ Режим синхронизации справочников":

oИспользовать сервис синхронизации справочников = ДА,
oКлиенты сервиса синхронизации справочников (для режима сервера) = указан хотя бы один клиент, если "Роль текущей БД в системе синхронизации справочников"="Сервер".
oСервер синхронизации справочников (режим клиента) = указан сервер, если  "Роль текущей БД в системе синхронизации справочников"="Клиент".

 

 

 

Управление - см. "Навигатор: СЕРВИСНЫЕ РЕЖИМЫ \ Сервисы обмена с другими комплексами":

Клиенты сервиса обмена - справочник баз прочих программных комплексов (информационных систем), которых можно подключить к НСИ. Создается шиной, доступен только для чтения.
Режим синхронизации справочников - это настройки базы НСИ :
oРоль текущей БД в системе синхронизации справочников - "Сервер" означает что текущая база данных "Бюджет-СМАРТ" будет эталоном для остальных комплексов, значение "Клиент" означает, что справочная информация текущей базы будет синхронизироваться с сервером.
oКлиенты сервиса синхронизации справочников (для режима сервера) - отмечаются галками программные комплексы (базы), участвующие в синхронизации НСИ. Список баз задается шиной.
oИспользовать сервис синхронизации справочников - ВКЛ/ОТКЛ режима синхронизации НСИ в текущей базе.
oСервер синхронизации справочников (режим клиента) - указывается сервер, с которым будет осуществляться синхронизация НСИ, если текущая база не является сервером (см выше настройку "Роль текущей БД").

 

 

Настройка "Шины" для передачи отчетов в СВОД-СМАРТ

 

1.Скачать и установить на sql сервер шину (см сайт ПК "Интеграция", по ссылке "Установочный пакет для ПК "Интеграция-КС" (работает как служба)").
2.Запустить шину, логин пароль rms rms .
3.Настроить внутри шины сервер и имя базы комплексов "Бюджет-СМАРТ" и "Свод-СМАРТ".

 

4.Бюджет-СМАРТ: «НАСТРОЙКИ \ Подкомплексы \ Свод \ Режим синхронизации сводных отчетов - настройка - Использовать сервис синхронизации сводных отчетов» = ДА.
5.Бюджет-СМАРТ: «НАСТРОЙКИ \ Подкомплексы \ Свод \ Режим синхронизации сводных отчетов - настройка - Сервер синхронизации сводных отчетов» - выбрать базу ПК "Свод-СМАРТ" .
6.Бюджет-СМАРТ: «НАСТРОЙКИ \ Подкомплексы \ Свод \ Автоматически отправлять сводные отчеты в "Свод-Смарт"» - рекомендуем установить НЕТ.
7.После этого в "Бюджет-СМАРТ" надо рассчитать сводный отчет, зайти в список отчетов и выбрать рассчитанный отчет (или несколько отчетов) - далее нажать кнопку "Передача в СВОД": отчеты передаются по шине, отобразится протокол отправки. В графе "Статус" можно отслеживать состояния отчета .

 

 

Настройки

При передаче пакетов проверять работоспособность шины и каналов (отправителя и получателя) - если включено, то перед отправкой данных в шину проверяется её работоспособность (наличие отклика). Если шина и база данных получателя сообщения расположены в разных подсетях, то рекомендуем отключить настройку.

 

Меню Настройки: СЕРВИС ОБМЕНА \ Клиенты сервиса обмена - Адрес получателя по умолчанию

Настройка должна быть заполнена адресом получателя - адрес шины через которое осуществляется взаимодействие.