Транспортная компонента RS-Bank V.6
Модуль, обеспечивающий канал связи с ИБС RS Bank V.6 и передачу XML-сообщений между внешней системой и ИБС RS-Bank V.6.
Заказать консультацию
Обзор продукта
Транспортная компонента RS-Bank V.6 – модуль, обеспечивающий канал связи с ИБС RS Bank V.6 и передачу XML-сообщений между внешней системой и ИБС RS-Bank V.6.
Функциональные возможности
- Инициирует соединение с ИБС RS-Bank V.6;
- Поддерживает сеанс связи в течение заданного времени;
- Поддерживает шифрование передаваемой информации на уровне шифрования канала;
- Формирует сообщение об ошибке, если связь установить не удаётся.
Архитектура
Транспортная компонента включает специализированный веб-сервис, работающий на веб-сервере IIS, и модуль RS-COM, являющийся частью ИБС RS-Bank V.6. Серверный процесс ТК позволяет выполнять зарегистрированные в системе RSL-макросы и передавать вызывающей стороне результаты их работы в виде XML-сообщений.
Транспортная компонента способна функционировать в двух режимах: активном и пассивном.
В активном режиме транспортная компонента инициирует вызов внешних ресурсов (например, сторонних веб-сервисов, очередей IBM MQ, веб-сервисов других копий ИБС RS-Bank V.6 или сервисов механизма конвейеров RS-Bank V.6).
В пассивном режиме транспортная компонента сама выступает сервисом, обслуживающим запросы внешних потребителей. В этом случае запросы к ТК могут отправлять внешние системы (например, другие АБС), приложения веб-клиента RS-Bank V.6 и другие копии RS-Bank V.6. Использование ТК в качестве источника данных обеспечивает при многопользовательской работе в RS-Bank V.6 оптимальную загрузку имеющихся ресурсов сервера приложений и сервера базы данных.
В рамках информационного взаимодействия выполняются передаваемые через транспортную компоненту запросы следующих типов:
- проверка возможности выполнения операции;
- аутентификация пользователя;
- запрос дополнительных параметров операции;
- выполнение операции в ИБС.
Каждый запрос вызывающей стороны должен иметь уникальный идентификатор ReqID. Уникальность должна быть обеспечена в рамках одной ИБС RS-Bank V.6.
При обработке запросов вызывающей стороны ИБС RS-Bank V.6 формирует следующие типы ответов:
- подтверждение/отказ возможности выполнения операций;
- сообщение с запрашиваемой информацией;
- выполнение операций в ИБС с сообщением о результате;
- сообщение об ошибке.
Взаимодействие обеспечивается за счет вызова указанных в запросах вызывающей стороны специальных макрофункций RS-Bank V.6, которые, в свою очередь, в процессе выполнения связываются с внутренними функциями и хранимыми процедурами ИБС RS-Bank V.6.
Макрофункции могут быть как встроенные в дистрибутивный вариант ИБС, так и разработанные пользователями самостоятельно. При этом они должны удовлетворять следующим требованиям:
- Один запрос запускает на выполнение только одну макрофункцию.
- Операции, запускаемые макрофункцией, должны выполняться в безынтерфейсном режиме. Запрещено обращение к пользовательскому интерфейсу и вывод на экран информационных сообщений.
- Макрофункция не должна ни принимать, ни возвращать SQL-запросы.
- Макрофункция может возвращать данные в виде скалярных значений переменных, RSDataSet, RSL-объектов или массивов RSL-объектов.
- Если в макрофункции предусмотрено повторное выполнение одного запроса и её выполнение приводит к изменению БД, все выполненные в процессе работы макрофункции изменения должны быть привязаны к запросу через его идентификатор ReqId. Кроме того, в макрофункции должен быть предусмотрен корректный ответ на её вызов по запросу с тем же ReqId.
- Информация об ошибках возвращается стандартной RSL-функцией RunError (см. Руководство программиста "Проблемно-ориентированный язык RSL").
Вызов в ИБС RS-Bank V.6 нужной макрофункции обеспечивает XML-сообщение, обрабатываемое транспортной компонентой.
Передача сообщений осуществляется только в синхронном режиме.
В качестве формата XML-сообщений используется XML-RPC, спецификация.
Работа транспортной компоненты основана на взаимодействии трёх составляющих:
- AxRSCOM – dll-библиотека, позволяющая установить соединение с ИБС RS-Bank V.6 и осуществить вызов объекта RS-COM.
- Соединение с RS-Bank V.6.
- Передача в RS-Bank V.6 XML-RPC сообщения.
- Получение ответного сообщения.
- RSBankWS – веб-сервис, функционирующий в среде Internet Information Services (IIS) и обеспечивающий сетевое взаимодействие ИБС RS-Bank V.6.
- Веб-сервис функционирует под управлением платформы Microsoft Internet Information Services версии 6.0 или выше.
- Для упаковки сообщений, передаваемых и получаемых веб-сервисом, используется формат, определённый протоколом SOAP 1.2.
- RsXmlRpc – dll-библиотека, реализующая контекстно-независимый функционал XML-RPC интерфейса.
- Разбирать сообщения в формате RPC.
- Определять среду выполнения процедуры запроса.
- Выполнять взаимодействие с контекстно-зависимой частью ТК.
- RsXmlRpcCntx – dll-библиотека, реализующая контекстно-зависимый функционал XML-RPC интерфейса. Основные функции RsXmlRpcCntx:
- Авторизация и аутентификация пользователя.
- Определение возможности удаленного старта по имени макроса и для текущего операциониста.
- Вызов макроса.
- Выгрузку полученного ответа в XML.
Через AxRSCOM выполняется:
В транспортной компоненте также предусмотрена возможность отмены выполнения отправленного запроса, ответ на который ещё не получен.
Если в процессе взаимодействия участвуют несколько серверов приложений (СП) RS-Bank V.6, то настройка веб-сервиса выполняется отдельно для каждого СП. Таким образом реализована возможность параллельной отправки XML-RPC запросов на разные СП по организованным каналам связи. Управление нагрузкой обеспечивается путём создания пула процессов и их распределения по имеющимся каналам, а в случае их занятости, создания новых.
Существует ряд общих требований, обеспечивающих нормальное функционирование веб-сервиса:
В веб-сервисе предусмотрено преобразование формата входящих и исходящих сообщений для последующей пользовательской обработки.
Данные, определяющие какую процедуру нужно вызвать и для какого пользователя, передаются в RsXmlRpc в виде XML-сообщения. В настоящее время транспортная компонента поддерживает передачу сообщений в стандартах RPC и IFX. Основные функции RsXmlRpc:
В состав транспортной компоненты, помимо библиотеки RsXmlRpc, входит стандартный RSL-модуль XmlRpcInter.
Удалённый вызов макрофайлов в режиме on-line возможен только через авторизацию и аутентификацию пользователей. Причём предусмотрено два вида пользователей:
- Технические пользователи. Для них назначается подсистема "Внешний интерфейс" (другие подсистемы будут недоступны) и в реестре макросов определяется доступ к макрофайлам.
- Прикладные пользователи. Такие пользователи создаются в системе стандартным способом. Им доступны для работы все разрешённые подсистемы. Но дополнительно для них необходимо активизировать признак РАЗРЕШЕНА РАБОТА ЧЕРЕЗ ВНЕШНИЙ ИНТЕРФЕЙС.
Транспортная компонента обеспечивает взаимодействие как в on-line, так и в off-line режимах. Причём использование веб-сервиса RSBankWS обеспечивает взаимодействие RS-Bank V.6 только в режиме on-line.
Запросы, которые не удалось выполнить в режиме on-line, могут быть загружены в RS-Bank V.6 в режиме off-line в составе файла off-line обмена.
В случае использования банком нескольких копий RS-Bank V.6 обмен сообщениями с внешней системой обеспечивается механизмом маршрутизации. Использование маршрутизации предполагает наличие:
- Специального параметра в сообщении – логического идентификатора, активизирующего использование механизма маршрутизации.
- Настроенного реестра источников / получателей XML-сообщений.
Реестр содержит указание на выполнение сообщений в RS-Bank V.6 или их дальнейшую маршрутизацию в другие копии RS-Bank V.6 по указанному URL-адресу.
Информация о сообщениях, проходящих через транспортную компоненту, фиксируется в системных журналах ИБС RS-Bank V.6:
- При интеграции с внешними системами и модулями – в журнале интеграционных сообщений.
- В ходе функционирования модулей WebClient – в журнале сообщений веб-интерфейса.
- В процессе работы конвейеров – в журнале сообщений конвейера.
Помимо фиксации выполненных действий журнализация обеспечивает:
- Фиксацию результатов работы через транспортную компоненту;
- Контроль выполненного запроса. При получении запроса отслеживается его повторяемость. В случае наличия в журнале успешно обработанного в RS-Bank V.6 запроса с идентичным идентификационным номером ReqId, его повторная обработка не выполняется, а во внешнюю систему будет отправлено сформированное ранее по запросу исходящее сообщение.
Журналы доступны для просмотра в подсистеме "Сервис ГКБО" из меню "Журнал".