Подкомплекс "Интеграция-КС"
Интеграция-КС, так же именуется как "Шина".
Сервисная шина обмена сообщениями предназначена для организации централизованного и унифицированного событийно-ориентированного обмена сообщениями (документы, протоколы и т.д.) между различными информационными системами. Применяется для интеграции информационных систем, используемых в бюджетном процессе субъектов Российской Федерации и муниципальных образований.
Для просмотра сообщений по обмену (отправляемые и получаемые пакеты) предназначен режим "Сообщения сервиса обмена".
Архитектура шины обмена сообщениями:
Канал шины представляет собой механизм по отправке, приему, преобразованию и хранению сообщений. Каналы подразделяются на типы по виду источника данных в зависимости от их физической природы, и для подключения к ним имеются соответствующие адаптеры. Каждый канал имеет виртуальный (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 (в СУБД он уже предустановлен) к комплексу.
Взаимодействие между базами данных осуществляется через каналы, связанные с этими базами данных:
- база данных-отправитель проверяет доступность канала шины (делается запрос на сервис шины от SQL сервера) и создает сообщение в специальной таблице базы данных ,
- соответствующий канал (созданный для базы данных отправителя) шины типа:
2.1. MSSQL: с заданной периодичностью сканирует специальную таблицу в своей базе данных на предмет появления исходящих сообщений,
2.2. FILE: с заданной периодичностью сканирует заданный каталог на диске на предмет появления файлов с сообщением для отправки, - и отправляет их в канал получателя, который, в зависимости от типа канала:
3.1. MSSQL: сохраняет полученное сообщение в специальную таблицу своей базы данных ,
3.2. FILE: сохраняет полученное сообщение в заданный каталог, - база данных-получатель (прописана в канале получателя) с помощью планировщика задач (см. п.5) с заданной периодичностью опрашивает специальную таблицу базы данных на предмет "поступивших сообщений" (задача планировщика "Проверка межкомплексных сообщений интеграционной шины"), при наличии обрабатывает их (меняет статус документу и т.п.), отправив в шину результат обработки для отправителя (п.1).
- планировщик, задача "Проверка межкомплексных сообщений интеграционной шины", обрабатывает поступающие из вне сообщения, и для полноценной работы планировщику требуется доступ: к сервису ОД (для складирования файлов приема) и базе данных получателя (для инициализации процедуры приема).
Взаимодействие со СМЭВ осуществляется через канал SMEV:
- база данных проверяет доступность канала шины (делается запрос на сервис шины от SQL сервера) и создает сообщение в специальной таблице базы данных ,
- соответствующий канал (созданный для базы данных отправителя) шины типа SMEV (СМЭВ-канал) с заданной периодичностью сканирует специальную таблицу в базе данных на предмет появления исходящих сообщений.
- сообщения преобразовываются в SOAP пакет, подписываются ЭП, сохраняются в базу шины и отправляются в СМЭВ согласно указанному в канале адресу точки доступа в Ростелекоме,
- тот же канал (п.2) получает ответ от СМЭВ на переданное сообщение, коррелирует (связывает) его с исходящим сообщением и сохраняет в специальную таблицу базы данных.
- база данных с заданной периодичностью опрашивает специальную таблицу базы данных на предмет "поступивших сообщений" (планировщик задач "Проверка межкомплексных сообщений интеграционной шины"), при наличии обрабатывает их (меняет статус документу и т.п.).
Синхронизация НСИ между различными комплексами компании разработчика
НСИ - эталонное хранилище нормативно-справочной информации (КБК, счетов, учреждений), с тиражированием записей на все подключенные информационные системы (комплексы). Так же изменение данных через заявки клиентов на добавление/изменение записей в хранилище посредством утверждения уполномоченным лицом.
Принцип действия: один из комплексов назначается эталоном справочной информации (сервером НСИ), остальные комплексы (клиенты НСИ) синхронизируются с эталоном. Перечень комплексов задается шиной. Синхронизация данных осуществляется по GUID (служебный уникальный идентификатор записи справочника) записи кода, дополнительно осуществляется контроль на корректность записей по реквизитному составу: уникальность код БК, уникальность дат вступления в силу наименований, зацикленность иерархии кодов, длина кода БК. Потому не рекомендуем в этолонной базе вносить изменения в справочную систему методом удаления и последующего ввода новых правильных (исправленных) записей - предпочтительнее вносить правки в существующие записи.
Если ПК "Бюджет-СМАРТ" является клиентом НСИ, то с "сервером НСИ" синхронизируются только справочники у которых включена настройка "Действия НСИ", и только записи с установленными аналитическими признаками "Исх" (SYS_NSI_OUT) и "Вх" (SYS_NSI_IN):
- Исх. (SYS_NSI_OUT) - сообщение об изменении записи справочника рассылается клиентам НСИ.
- Вх. (SYS_NSI_IN) - запись справочника изменяется (синхронизируется) при поступлении сообщений от клиентов НСИ.
В случае рассылки клиентом запроса (в другие системы) на удаление записи справочника в рамках НСИ, если один из каналов не отвечает на запрос, то считается, что не ответивший канал ответил утвердительно (разрешение получено), и запись удаляется.
При сопоставлении входящих записей (кого надо удалить или изменить) сначала идёт сопоставление по GUID, затем, если по GUID запись не найдена, по фактическим значениям содержимого (код, период действия, бюджет).
Управление синхронизацией осуществляется в режимах: "Клиенты сервиса обмена", "Режим синхронизации справочников".
Настройка "Шины" для передачи отчетов в СВОД-СМАРТ
- Установить на шину (см сайт ПК "Интеграция", по ссылке "Установочный пакет для ПК Интеграция-КС (работает как служба)").
- Запустить шину, логин пароль rms rms .
- Настроить внутри шины сервер и имя базы комплексов "Бюджет-СМАРТ" и "Свод-СМАРТ".
- В ПК "Бюджет-СМАРТ":
4.1. «НАСТРОЙКИ \ Подкомплексы \ Свод \ Режим синхронизации сводных отчетов - настройка - Использовать сервис синхронизации сводных отчетов» = ДА.
4.2. «НАСТРОЙКИ \ Подкомплексы \ Свод \ Режим синхронизации сводных отчетов - настройка - Сервер синхронизации сводных отчетов» - выбрать базу ПК "Свод-СМАРТ" .
4.3. «НАСТРОЙКИ \ Подкомплексы \ Свод \ Автоматически отправлять сводные отчеты в "Свод-Смарт"» - рекомендуем установить НЕТ. - После этого в "Бюджет-СМАРТ" надо рассчитать сводный отчет, зайти в список отчетов и отметить рассчитанный отчет (или несколько отчетов) галками - далее нажать кнопку "Передача в СВОД": отчеты передаются по шине, отобразится протокол отправки. В графе "Статус" можно отслеживать состояния отчета (доставлен, проверен и т.п.).
Настройки
При передаче пакетов проверять работоспособность шины и каналов (отправителя и получателя) - если включено, то перед отправкой данных в шину проверяется её работоспособность (наличие отклика). Если шина и база данных получателя сообщения расположены в разных подсетях, то рекомендуем отключить настройку.
Меню Настройки: СЕРВИС ОБМЕНА \ Клиенты сервиса обмена - Адрес получателя по умолчанию
Настройка должна быть заполнена адресом получателя - адрес шины через которое осуществляется взаимодействие.