Содержание:
В Газпромбанке используют больше 800 различных систем, каждая из которых взаимодействует с десятками других. Общее число интеграционных обменов между ними исчисляется тысячами. Чтобы упорядочить и привести этот обмен к общему виду, в банке используют сервисно-интеграционную платформу (СИП). Через нее проходят интеграционные взаимодействия большинства систем.
Что такое СИП
Сервисно-интеграционная платформа — один из сервисов обмена запросами и ответами внутри банка. Это единая точка, к которой подключены многие банковские системы. СИП помогает им общаться друг с другом, а еще упорядоченно и безопасно обмениваться данными.
Работа платформы похожа на то, как нервные импульсы в теле человека вызывают сокращение мышц. Каждую секунду через СИП проходят тысячи запросов, которые называют событиями. Они побуждают системы банка выполнить закрепленную за ними функцию: что-то сделать либо предоставить ту или иную информацию. Все эти функции собраны в каталог сервисов и доступны к использованию.
Например, когда клиент банка заходит в мобильное приложение, оно отправляет множество отдельных запросов к бэк-системам. Один запрос должен попасть в систему, которая отвечает за авторизацию, а другой — получить номера счетов и карт клиента, чтобы показать баланс. Вызов этих сервисов происходит через СИП.
Все сервисы структурированы. В каждом запросе есть две части: заголовок запроса и тело сообщения. СИП работает только с сервисными данными — то есть с заголовком. В тело запроса платформа не заглядывает — это зона ответственности систем, которые общаются с помощью вызова сервиса. Для СИП важно только то, куда нужно передать запрос, с каким тайм-аутом и какими правами на сервис.
СИП проверяет, для какой банковской системы предназначен каждый запрос. Затем связывается с ней, передает событие и ждет ответа. Дальше система-провайдер сервиса формирует ответное сообщение — оно тоже состоит из двух частей. В теле хранится информация, которую запросило приложение. В сервисных данных записано, на какое событие отвечает провайдер. СИП связывает внутри себя ответ с запросом и возвращает ответ приложению, которое вызвало сервис.
На обработку одного запроса СИП тратит не больше 100 мс. Благодаря этому пользователь не замечает, что между его действием и загрузкой приложения произошли десятки небольших обменов данными.
Зачем нужна СИП в Газпромбанке
Основная задача сервисно-интеграционной платформы — связать банковские системы друг с другом. Для этого она выполняет несколько функций:
- Обеспечивает безопасное взаимодействие. Вместо десятков подключений к разным источникам каждая банковская система общается только с СИП. Это повышает безопасность за счет того, что остается меньше потенциальных входов для злоумышленников. СИП проверяет сервисные данные каждого запроса. Если система пытается получить информацию, к которой у нее нет доступа, платформа не позволит. Для этого в ней реализованы два уровня безопасности.
- Гарантирует ответ на каждый запрос. На платформе есть встроенный механизм детектирования (обнаружения) тайм-аутов при обращении к сервисам. Например, система, которая предоставляет сервис, может быть заблокирована на время технологических операций. Если в этот момент к ней обратится мобильное приложение, то СИП определит, что система-провайдер недоступна, и сама сформирует ответ с сообщением о тайм-ауте. Если для системы-провайдера есть альтернативный вариант, как предоставить сервис, — к примеру, существует кеширующая система, то СИП маршрутизирует запрос к доступной платформе и вернет ответ на запрос от нее.
- Передает только актуальные запросы. У каждого события есть срок действия. Некоторые системы должны дать ответ в течение нескольких секунд, другие — за минуты или часы. Допустим, система-адресат недоступна, и СИП не может передать ей запрос дольше отведенного на это времени. Тогда платформа сообщит системе-отправителю, что запрос устарел, и удалит его. Это позволяет избежать возможной перегрузки системы неактуальными событиями, если она по какой-то причине была недоступна.
- Создает логи и записывает события в журнал. СИП отслеживает каждый запрос, который через нее проходит. Заполнив заголовок запроса служебной информацией о событиях, можно точно сказать, какие интеграционные взаимодействия были в бизнес-процессе. Поэтому в сервисных данных указываются специальные ID. По ним можно связать отдельные события в единую транзакцию или цепочку действий.
Кто использует логи СИП:
- разработчики банковских систем, чтобы наладить процессы;
- администраторы СИП, чтобы понять, какой запрос может привести к ошибке или сбою;
- службы безопасности в конфликтных ситуациях, чтобы подтвердить перевод или другое действие.
Еще СИП выступает как источник статистики по взаимообменам между банковскими системами. Это помогает спрогнозировать нагрузку и распределить ресурсы. Например, одна система отправляет 1 000 запросов в день, а другая — 100 000. Тогда СИП выделит больше вычислительных ресурсов для второй.
Какие уровни безопасности есть в СИП
В сервисно-интеграционной платформе защита информации организована с помощью двух инструментов:
- 1-й уровень — защита передаваемых данных по сети — SSL, безопасный протокол передачи данных;
- 2-й уровень — определение возможности, как использовать сервис через авторизацию и Active Directory банка.
Криптографический протокол SSL позволяет передавать данные между системами и СИП в зашифрованном виде. Для шифрования используется стандарт RSA. Это стандартный способ безопасной передачи данных.
Основную защиту обеспечивает авторизация через Active Directory. Система отслеживает все компоненты внутри сети, например сервисы, базы данных и учетные записи.
Каждая банковская система расположена внутри отдельной виртуальной сети WLAN. Чтобы получить доступ к другой системе, ей нужно подключиться к СИП. Для этого у нее должна быть техническая учетная запись в Active Directory.
В учетной записи хранится информация о том, к каким источникам может подключаться та или иная система. Например, сервис, который рассчитывает проценты на остаток, имеет доступ к данным о балансе на дебетовых счетах. Но у него нет доступа к кредитным продуктам того же клиента.
Авторизация учетной записи в Active Directory происходит при подключении системы к СИП. В этот момент определяются ее права, и далее СИП понимает, у кого система может запрашивать данные и кому их передавать (на все это расходуется много вычислительных ресурсов, поэтому некоторые системы после авторизации не отключаются от СИП). Теперь платформа может контролировать права доступа по технической учетной записи каждый раз, когда получает новый запрос.
Как будет развиваться СИП
Сервисно-интеграционная платформа должна быть доступна круглосуточно. Поэтому основное направление ее развития — повышение отказо- и катастрофоустойчивости и расширение пропускной способности.
Например, один из проектов команды разработчиков и администраторов платформы связан с подготовкой других систем к работе с несколькими серверами MQ (Messages queue). Сейчас многие из них могут подключаться только к одному серверу. В случае его отказа такая система теряет связь с СИП, а значит, и со всей инфраструктурой банка.
Разработчики СИП перенастраивают такие системы, чтобы при обрыве они динамически подключались к другому доступному серверу. Сама платформа при этом должна быстро определять, куда подключена каждая система.
Еще одно направление развития СИП — расширить применение иного подхода интеграции систем через публикацию/подписку. Кроме отправки запросов, сервисы могут публиковать топики — какую-либо информацию, например карточку клиента. Другие системы подписываются на топики и по необходимости считывают из них данные.
Некоторым системам нужны не все записи топика, а только его небольшая часть — например, только контактные данные из карточки клиента. Поэтому сейчас разрабатывается подсистема СИП для потоковой фильтрации, которая позволит находить в общей публикации только то, что интересно группе систем, и публиковать для них эту информацию отдельно. Так ресурсы систем будут использоваться эффективнее.