SlideShare a Scribd company logo
1 of 5
Download to read offline
Система Нотификации ВТБ 24
Основной задачей Системы Нотификации ВТБ 24 (здесь и далее — Система) является предоставление
единого сервиса информационной рассылки для различных банковских систем, реализующих банковские
продукты, в адрес клиентов этих банковских продуктов.
Система реализует следующий процесс нотификации:
• принимает сообщения от банковских систем, выполняя при этом проверку корректности и допусти-
мости сообщений;
• для каждого сообщения определяет подписчиков — клиентов банковских продуктов, заинтересо-
ванных в информации по сообщениям;
• формирует соответствующие уведомления — конечные сообщения для подписчика, учитывающие
тип сообщений, форму представления информации и тип канала доставки;
• выполняет доставку сформированных уведомлений подписчикам, выполняя при этом учет оплаты
доставки платных уведомлений.
Структура Системы
Система реализована как набор подсистем, выполняющих конечные этапы процесса нотификации (см.
Рисунок 1):
Рисунок 1 - Общий состав Системы
• Модуль регистрации — осуществляет прием сообщений, представленных в XML-виде, выполняет
разбор данных сообщения, проверку их корректности и допустимости, записывает принятые сооб-
щения во внутреннюю БД Системы.
• Модуль определения подписки — на основании данных сообщений, представленных в БД Системы,
и данных справочников, определяет перечень клиентов — подписчиков, заинтересованных в полу-
чении информации по этим сообщениям, и все каналы представления информации, заказанные
подписчиком. Результат работы модуля – определение необходимости формирования уведомле-
ния для конкретного канала и конкретного подписчика.
• Модуль формирования уведомлений — модуль формирует уведомления — конечные сообщения,
предназначенные для отправки конкретному подписчику по конкретному каналу доставки. Уведом-
ления формируются на основании фактов, обнаруженных модулем определения подписки, и со-
храняются во внутренней БД Системы.
• Модуль доставки уведомлений — выполняет доставку сформированных уведомлений через соот-
ветствующие каналы доставки. При этом модуль ведет учет оплаты уведомлений — проверяет
факт предварительной оплаты уведомлений клиентом-подписчиком. В текущей версии Системы
модуль реализует доставку через каналы SMTP и HTTP-шлюз сервиса рассылки SMS.
• Модуль взаимодействия с СУБД — специализированный внутренний модуль Системы, обеспечи-
вающий общую для всех остальных модулей инфраструктуру взаимодействия с СУБД.
Каждый модуль Системы реализован в виде набора библиотек и функционирует в составе специальной
подсистемы — контейнера, объединяющей набор модулей Системы в отдельный процесс-приложение ОС,
управляемый как одна конфигурационная единица. Реализация Системы включает два типа контейнеров:
• Web-приложение на основе Microsoft Internet Information Server (IIS) — в данном случае контейнер
представляет набор библиотек, развертываемых в web-приложение на базе IIS. Все модули, скон-
фигурированные в составе такого контейнера, работают в рамках соответствующего web-
приложения, управляемого стандартными средствами IIS.
• Системная служба Microsoft Windows Service — специальное приложение, устанавливаемое как
системная служба Microsoft Windows Service. Все модули, сконфигурированные в составе такого
контейнера, работают в рамках соответствующего сервиса, управляемого посредством стандарт-
ной оснастки.
Разделение Системы на модули и возможность их организации в составе контейнеров позволяет органи-
зовать горизонтальное масштабирование ключевых элементов процесса нотификации за счет параллель-
ного развертывания нескольких однотипных модулей Системы. При этом реализация каждого модуля
«замкнута» на конечном этапе процесса нотификации, и при параллельной работе однотипных модулей
отказ одного из них не помешает работе остальных модулей (и, соответственно, всей Системе). Таким об-
разом, модульная реализация Системы обеспечивает возможность организации более защищенной кон-
фигурации, устойчивой как к программным, так и к аппаратным ошибкам. Пример возможной конфигурации
Системы (см. «Рисунок 2 — Пример конфигурации Системы, удовлетворяющей требованиям к повышенной
устойчивости»):
Рисунок 2 - Пример конфигурации Системы, удовлетворяющей требованиям к
повышенной устойчивости
Схема работы Системы
Система Нотификации представляет собой автоматический сервис — все основные функции Система вы-
полняет без участия человека, взаимодействуя только с другими автоматизированными системами Банка.
Работа Системы строится по следующему сценарию:
1. Модуль регистрации сообщений выполняет приемку сообщений от исходных систем-владельцев о
наступивших или наступающих событиях, предварительную проверку, разбор и запись сообщений
во внутреннюю БД.
Сообщение принимается в пассивном режиме — модуль Системы выступает в качестве клиента,
получающего сообщения. Все сообщения передаются через HTTP, на адрес специальной страницы
web-приложения, принимающей сообщение в виде POST-запроса.
2. Модуль определения подписки отслеживает факт регистрации нового входящего сообщения, авто-
матически проверяя внутреннюю БД. Для каждого зарегистрированного сообщения модуль опреде-
ляет все подписки, активные на момент получения сообщения — как персональные подписки на со-
общение для конкретных клиентов-подписчиков, так и массовые подписки. Для каждой выявленной
подписки модуль регистрирует во внутренней БД задание на формирование уведомления.
3. На его основании модуль формирования уведомлений генерирует конечные исходящие уведомле-
ния. Формируемое уведомление — это, прежде всего, текст содержания уведомления. Модуль
обеспечивает специальный механизм генераторов — подключаемой реализации логики генерации
текста. В текущую поставку включены следующие генераторы:
a. подстановка значений в шаблон текста, задаваемый для каждого типа сообщения. Подстав-
ляемые параметры выделяются из содержания исходного сообщения;
b. получение содержания (текста) уведомления как результат выполнения XSLT-
преобразования XML-содержания исходного сообщения при помощи XSLT-шаблона, зада-
ваемого для каждого типа сообщения. При этом перед выполнением преобразования в
XSLT-шаблон могут быть подставлены значения, выделенные из исходного сообщения.
При этом модуль обеспечивает механизм анализаторов — подключаемой реализации логики вы-
деления подставляемых значений из исходного сообщения. В исходной поставке модуль включает
реализацию анализатора, обеспечивающего выделение данных из XML-документа исходного со-
общения при помощи XPath-выражений.
Выбор конкретного анализатора и генератора, применяемых для конкретной подписки, осуществ-
ляется на основании данных внутреннего справочника трансформаций.
4. Модуль доставки уведомлений реализует функцию доставки сформированных уведомлений с
двухфазным учетом оплаты их доставки (резервирование оплаты — взимание оплаты по факту
доставки). В данной поставке Системы модуль реализует доставку по следующим каналам:
a. SMTP — формирование и отправка сообщений электронной почты по протоколу SMTP;
b. SMS — формирование и отправка SMS-сообщений при помощи внешнего SMS-шлюза —
специального сервиса, осуществляющего рассылку SMS-сообщений; вызов шлюза выпол-
няется по протоколу HTTP специальным GET-запросом.
Модуль также реализует два варианта учета оплаты доставки уведомления (выбор конкретной
реализации определяется конфигурационными параметрами):
a. внутренний учет — на основании внутренних данных о пакетах оплаченных уведомлений,
соотнесенных с данными о клиентах-подписчиках;
b. внешний учет— в этом случае учет оплаты выполняется во внешней системе, вызов кото-
рой осуществляется через web-сервис.
В общем случае реализация модуля допускает подключение другой логики доставки уведомления и
логики учета оплаты доставки уведомлений.
Количественные характеристики
ения).
Целевые характеристики, реализуемые Системой Нотификации:
• Производительность — от 20 входящих сообщений в секунду. Среднее время обработки сообщения
(от регистрации до передачи в службу доставки) — 3 секунды, максимально допустимое — 10 се-
кунд. Система рассчитана на обработку сообщений, предполагающих формирование и рассылку
уведомлений в количестве, порядок которого составляет миллионы.
• Надежность — в случае ошибок обработки принятое сообщение/сформированное уведомление со-
храняется во внутренней БД и обрабатывается после восстановления работоспособности модуля
(Системы). Модули системы реализуют внутренние механизмы автоматического перезапуска обра-
ботки сообщений/уведомлений.
В процессе опытной эксплуатации Системы Нотификации в Банке было проведено нагрузочное
тестирование1
, в результате которого получена общая оценка производительности Системы — обработка
100-110 исходных сообщений в секунду (при условии генерации и доставки 2-3 уведомлений для каждого
сообщ
1
Конфигурация боевого контура: сервер СУБД — MS SQL Server 2008 Enterprise Edition SP1, на кластере из двух серверов HP Blade
680 (4x4), 16 Gb RAM, с внешним хранилищем; ферма серверов приложений, HP Blade 460 (2x4) 4 Gb RAM, балансировка SLB. На
каждом узле фермы развернут идентичный набор приложений Системы в рамках одного контейнера IIS в выделенном пуле.

More Related Content

Viewers also liked

АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...
АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...
АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...
КРОК
 
КРОК-НСИ описание системы управления мастер-данными разработки компании КРОК
КРОК-НСИ описание системы управления мастер-данными разработки компании КРОККРОК-НСИ описание системы управления мастер-данными разработки компании КРОК
КРОК-НСИ описание системы управления мастер-данными разработки компании КРОК
КРОК
 
Система оценки качества обслуживания клиентов (СОКОК)
Система оценки качества обслуживания клиентов (СОКОК)Система оценки качества обслуживания клиентов (СОКОК)
Система оценки качества обслуживания клиентов (СОКОК)
КРОК
 

Viewers also liked (13)

АИС «Население» Московской городской избирательной комиссии
АИС «Население» Московской городской избирательной комиссииАИС «Население» Московской городской избирательной комиссии
АИС «Население» Московской городской избирательной комиссии
 
АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...
АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...
АНО «Центр третейских разбирательств» - Автоматизированная система Третейский...
 
АСУ ЗАГС Ставропольского края
АСУ ЗАГС Ставропольского краяАСУ ЗАГС Ставропольского края
АСУ ЗАГС Ставропольского края
 
КРОК-НСИ описание системы управления мастер-данными разработки компании КРОК
КРОК-НСИ описание системы управления мастер-данными разработки компании КРОККРОК-НСИ описание системы управления мастер-данными разработки компании КРОК
КРОК-НСИ описание системы управления мастер-данными разработки компании КРОК
 
Интеграция. Платежи ЮЛ и ФЛ
Интеграция. Платежи ЮЛ и ФЛИнтеграция. Платежи ЮЛ и ФЛ
Интеграция. Платежи ЮЛ и ФЛ
 
АИС РСА Бланки строгой отчетности
АИС РСА Бланки строгой отчетностиАИС РСА Бланки строгой отчетности
АИС РСА Бланки строгой отчетности
 
Управление внедрением и предоставлением ИТ-услуг
Управление внедрением и предоставлением ИТ-услугУправление внедрением и предоставлением ИТ-услуг
Управление внедрением и предоставлением ИТ-услуг
 
Система коллективной работы на базе Microsoft Lync
Система коллективной работы на базе Microsoft LyncСистема коллективной работы на базе Microsoft Lync
Система коллективной работы на базе Microsoft Lync
 
Архив избирательных кампаний Московской городской избирательной комиссии
Архив избирательных кампаний Московской городской избирательной комиссииАрхив избирательных кампаний Московской городской избирательной комиссии
Архив избирательных кампаний Московской городской избирательной комиссии
 
Росстат - внедрение КРОК-НСИ
Росстат - внедрение КРОК-НСИРосстат - внедрение КРОК-НСИ
Росстат - внедрение КРОК-НСИ
 
Microsoft CRM в компании КРОК
Microsoft CRM в компании КРОКMicrosoft CRM в компании КРОК
Microsoft CRM в компании КРОК
 
Система оценки качества обслуживания клиентов (СОКОК)
Система оценки качества обслуживания клиентов (СОКОК)Система оценки качества обслуживания клиентов (СОКОК)
Система оценки качества обслуживания клиентов (СОКОК)
 
Электронный государственный реестр товарных знаков Федерального Института Про...
Электронный государственный реестр товарных знаков Федерального Института Про...Электронный государственный реестр товарных знаков Федерального Института Про...
Электронный государственный реестр товарных знаков Федерального Института Про...
 

Similar to Система Нотификации банка ВТБ-24

Развитие удаленных каналов обслуживания в крупном универсальном банке
Развитие удаленных каналов обслуживания в крупном универсальном банкеРазвитие удаленных каналов обслуживания в крупном универсальном банке
Развитие удаленных каналов обслуживания в крупном универсальном банке
КРОК
 
Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...
Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...
Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...
КРОК
 
Обзор программы для управления журналами событий NetWrix Event Log Manager
Обзор программы для управления журналами событий NetWrix Event Log ManagerОбзор программы для управления журналами событий NetWrix Event Log Manager
Обзор программы для управления журналами событий NetWrix Event Log Manager
Netwrix Россия/СНГ
 
Система мониторинга ВКС для ТНК-BP
Система мониторинга ВКС для ТНК-BPСистема мониторинга ВКС для ТНК-BP
Система мониторинга ВКС для ТНК-BP
КРОК
 

Similar to Система Нотификации банка ВТБ-24 (20)

Интеграция. Обслуживание банковских карт
Интеграция. Обслуживание банковских картИнтеграция. Обслуживание банковских карт
Интеграция. Обслуживание банковских карт
 
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
Корпоративная интеграционно-транспортная система (КИТС) СО ЕЭС шлюз во внешни...
 
Интеграция. Взаимодействие между региональными банками
Интеграция. Взаимодействие между региональными банкамиИнтеграция. Взаимодействие между региональными банками
Интеграция. Взаимодействие между региональными банками
 
Интеграция. Перевыпуск банковских карт
Интеграция. Перевыпуск банковских картИнтеграция. Перевыпуск банковских карт
Интеграция. Перевыпуск банковских карт
 
Интеграция системы АС Таллиман и банковских систем
Интеграция системы АС Таллиман и банковских системИнтеграция системы АС Таллиман и банковских систем
Интеграция системы АС Таллиман и банковских систем
 
Развитие удаленных каналов обслуживания в крупном универсальном банке
Развитие удаленных каналов обслуживания в крупном универсальном банкеРазвитие удаленных каналов обслуживания в крупном универсальном банке
Развитие удаленных каналов обслуживания в крупном универсальном банке
 
АИС Электронная Избирательная Комиссия
АИС Электронная Избирательная КомиссияАИС Электронная Избирательная Комиссия
АИС Электронная Избирательная Комиссия
 
Развитие удаленных каналов обслуживания в крупном универсальном банке
Развитие удаленных каналов обслуживания в крупном универсальном банкеРазвитие удаленных каналов обслуживания в крупном универсальном банке
Развитие удаленных каналов обслуживания в крупном универсальном банке
 
Подсистема обеспечения информационного взаимодействия систем ОАО ФСК ЕЭС
Подсистема обеспечения информационного взаимодействия систем ОАО ФСК ЕЭСПодсистема обеспечения информационного взаимодействия систем ОАО ФСК ЕЭС
Подсистема обеспечения информационного взаимодействия систем ОАО ФСК ЕЭС
 
Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...
Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...
Внедрение единого профиля клиента банка на базе MDM-системы IBM InfoSphere Se...
 
Веб-модуль для координатора
Веб-модуль для координатора Веб-модуль для координатора
Веб-модуль для координатора
 
АИС Электронная избирательная комиссия
АИС Электронная избирательная комиссияАИС Электронная избирательная комиссия
АИС Электронная избирательная комиссия
 
Boss2 презентация
Boss2 презентацияBoss2 презентация
Boss2 презентация
 
Обзор программы для управления журналами событий NetWrix Event Log Manager
Обзор программы для управления журналами событий NetWrix Event Log ManagerОбзор программы для управления журналами событий NetWrix Event Log Manager
Обзор программы для управления журналами событий NetWrix Event Log Manager
 
2010-11 (ПБД) Вологжанин Д.Г.
2010-11 (ПБД) Вологжанин Д.Г.2010-11 (ПБД) Вологжанин Д.Г.
2010-11 (ПБД) Вологжанин Д.Г.
 
NetWrix SQL Server Change Reporter. Обзор программы для аудита SQL Server
NetWrix SQL Server Change Reporter. Обзор программы для аудита SQL ServerNetWrix SQL Server Change Reporter. Обзор программы для аудита SQL Server
NetWrix SQL Server Change Reporter. Обзор программы для аудита SQL Server
 
Система мониторинга ВКС для ТНК-BP
Система мониторинга ВКС для ТНК-BPСистема мониторинга ВКС для ТНК-BP
Система мониторинга ВКС для ТНК-BP
 
Автоматизированная система управления бюджетными средствами Федеральной служб...
Автоматизированная система управления бюджетными средствами Федеральной служб...Автоматизированная система управления бюджетными средствами Федеральной служб...
Автоматизированная система управления бюджетными средствами Федеральной служб...
 
ТРПО Сорокин
ТРПО СорокинТРПО Сорокин
ТРПО Сорокин
 
Архитектура Операционных Систем
Архитектура Операционных СистемАрхитектура Операционных Систем
Архитектура Операционных Систем
 

More from КРОК

Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...
Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...
Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...
КРОК
 
Централизованная система обработки данных Федеральной службы государственной ...
Централизованная система обработки данных Федеральной службы государственной ...Централизованная система обработки данных Федеральной службы государственной ...
Централизованная система обработки данных Федеральной службы государственной ...
КРОК
 
Единая интегрированная система сбора и обработки информации Федерального фонд...
Единая интегрированная система сбора и обработки информации Федерального фонд...Единая интегрированная система сбора и обработки информации Федерального фонд...
Единая интегрированная система сбора и обработки информации Федерального фонд...
КРОК
 

More from КРОК (19)

Сайт «Вестник Московской городской избирательной комиссии»
Сайт «Вестник Московской городской избирательной комиссии»Сайт «Вестник Московской городской избирательной комиссии»
Сайт «Вестник Московской городской избирательной комиссии»
 
Прикладная система «CROC Amazon Billing» (AWSInfo)
Прикладная система «CROC Amazon Billing» (AWSInfo)Прикладная система «CROC Amazon Billing» (AWSInfo)
Прикладная система «CROC Amazon Billing» (AWSInfo)
 
Динамический IVR – Автоматизированная система, реализующая функции самообслуж...
Динамический IVR – Автоматизированная система, реализующая функции самообслуж...Динамический IVR – Автоматизированная система, реализующая функции самообслуж...
Динамический IVR – Автоматизированная система, реализующая функции самообслуж...
 
АИС «Обучение» для Московской городской избирательной комиссии
АИС «Обучение» для Московской городской избирательной комиссииАИС «Обучение» для Московской городской избирательной комиссии
АИС «Обучение» для Московской городской избирательной комиссии
 
Система для обработки материалов наблюдения по вопросам использования населен...
Система для обработки материалов наблюдения по вопросам использования населен...Система для обработки материалов наблюдения по вопросам использования населен...
Система для обработки материалов наблюдения по вопросам использования населен...
 
Система для обработки материалов наблюдения участия населения в непрерывном о...
Система для обработки материалов наблюдения участия населения в непрерывном о...Система для обработки материалов наблюдения участия населения в непрерывном о...
Система для обработки материалов наблюдения участия населения в непрерывном о...
 
Система для обработки материалов наблюдения личных подсобных хозяйств (Росстат)
Система для обработки материалов наблюдения личных подсобных хозяйств (Росстат)Система для обработки материалов наблюдения личных подсобных хозяйств (Росстат)
Система для обработки материалов наблюдения личных подсобных хозяйств (Росстат)
 
Система подготовки электронных экономических описаний (Росстат)
Система подготовки электронных экономических описаний (Росстат)Система подготовки электронных экономических описаний (Росстат)
Система подготовки электронных экономических описаний (Росстат)
 
Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...
Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...
Автоматизированная система для разработки базовых таблиц «Затраты - выпуск» з...
 
Централизованная система обработки данных Федеральной службы государственной ...
Централизованная система обработки данных Федеральной службы государственной ...Централизованная система обработки данных Федеральной службы государственной ...
Централизованная система обработки данных Федеральной службы государственной ...
 
Программный комплекс видеозаписи судебных заседаний
Программный комплекс видеозаписи судебных заседанийПрограммный комплекс видеозаписи судебных заседаний
Программный комплекс видеозаписи судебных заседаний
 
СЭД на платформе DIRECTUM
СЭД на платформе DIRECTUMСЭД на платформе DIRECTUM
СЭД на платформе DIRECTUM
 
Call-центр КРОК
Call-центр КРОКCall-центр КРОК
Call-центр КРОК
 
Автоматизированная информационная система «Электронное дело»
Автоматизированная информационная система «Электронное дело»Автоматизированная информационная система «Электронное дело»
Автоматизированная информационная система «Электронное дело»
 
Программный комплекс «Судебно-арбитражное делопроизводство»
Программный комплекс «Судебно-арбитражное делопроизводство»Программный комплекс «Судебно-арбитражное делопроизводство»
Программный комплекс «Судебно-арбитражное делопроизводство»
 
Внедрение шины данных IBM ESB в КРОК
Внедрение шины данных IBM ESB в КРОКВнедрение шины данных IBM ESB в КРОК
Внедрение шины данных IBM ESB в КРОК
 
Единая интегрированная система сбора и обработки информации Федерального фонд...
Единая интегрированная система сбора и обработки информации Федерального фонд...Единая интегрированная система сбора и обработки информации Федерального фонд...
Единая интегрированная система сбора и обработки информации Федерального фонд...
 
АИС РСА Зеленая Карта
АИС РСА Зеленая КартаАИС РСА Зеленая Карта
АИС РСА Зеленая Карта
 
Имитатор комплекса обработки избирательных бюллетеней
Имитатор комплекса обработки избирательных бюллетенейИмитатор комплекса обработки избирательных бюллетеней
Имитатор комплекса обработки избирательных бюллетеней
 

Система Нотификации банка ВТБ-24

  • 1. Система Нотификации ВТБ 24 Основной задачей Системы Нотификации ВТБ 24 (здесь и далее — Система) является предоставление единого сервиса информационной рассылки для различных банковских систем, реализующих банковские продукты, в адрес клиентов этих банковских продуктов. Система реализует следующий процесс нотификации: • принимает сообщения от банковских систем, выполняя при этом проверку корректности и допусти- мости сообщений; • для каждого сообщения определяет подписчиков — клиентов банковских продуктов, заинтересо- ванных в информации по сообщениям; • формирует соответствующие уведомления — конечные сообщения для подписчика, учитывающие тип сообщений, форму представления информации и тип канала доставки; • выполняет доставку сформированных уведомлений подписчикам, выполняя при этом учет оплаты доставки платных уведомлений. Структура Системы Система реализована как набор подсистем, выполняющих конечные этапы процесса нотификации (см. Рисунок 1): Рисунок 1 - Общий состав Системы • Модуль регистрации — осуществляет прием сообщений, представленных в XML-виде, выполняет разбор данных сообщения, проверку их корректности и допустимости, записывает принятые сооб- щения во внутреннюю БД Системы. • Модуль определения подписки — на основании данных сообщений, представленных в БД Системы, и данных справочников, определяет перечень клиентов — подписчиков, заинтересованных в полу- чении информации по этим сообщениям, и все каналы представления информации, заказанные подписчиком. Результат работы модуля – определение необходимости формирования уведомле- ния для конкретного канала и конкретного подписчика.
  • 2. • Модуль формирования уведомлений — модуль формирует уведомления — конечные сообщения, предназначенные для отправки конкретному подписчику по конкретному каналу доставки. Уведом- ления формируются на основании фактов, обнаруженных модулем определения подписки, и со- храняются во внутренней БД Системы. • Модуль доставки уведомлений — выполняет доставку сформированных уведомлений через соот- ветствующие каналы доставки. При этом модуль ведет учет оплаты уведомлений — проверяет факт предварительной оплаты уведомлений клиентом-подписчиком. В текущей версии Системы модуль реализует доставку через каналы SMTP и HTTP-шлюз сервиса рассылки SMS. • Модуль взаимодействия с СУБД — специализированный внутренний модуль Системы, обеспечи- вающий общую для всех остальных модулей инфраструктуру взаимодействия с СУБД. Каждый модуль Системы реализован в виде набора библиотек и функционирует в составе специальной подсистемы — контейнера, объединяющей набор модулей Системы в отдельный процесс-приложение ОС, управляемый как одна конфигурационная единица. Реализация Системы включает два типа контейнеров: • Web-приложение на основе Microsoft Internet Information Server (IIS) — в данном случае контейнер представляет набор библиотек, развертываемых в web-приложение на базе IIS. Все модули, скон- фигурированные в составе такого контейнера, работают в рамках соответствующего web- приложения, управляемого стандартными средствами IIS. • Системная служба Microsoft Windows Service — специальное приложение, устанавливаемое как системная служба Microsoft Windows Service. Все модули, сконфигурированные в составе такого контейнера, работают в рамках соответствующего сервиса, управляемого посредством стандарт- ной оснастки. Разделение Системы на модули и возможность их организации в составе контейнеров позволяет органи- зовать горизонтальное масштабирование ключевых элементов процесса нотификации за счет параллель- ного развертывания нескольких однотипных модулей Системы. При этом реализация каждого модуля «замкнута» на конечном этапе процесса нотификации, и при параллельной работе однотипных модулей отказ одного из них не помешает работе остальных модулей (и, соответственно, всей Системе). Таким об- разом, модульная реализация Системы обеспечивает возможность организации более защищенной кон- фигурации, устойчивой как к программным, так и к аппаратным ошибкам. Пример возможной конфигурации Системы (см. «Рисунок 2 — Пример конфигурации Системы, удовлетворяющей требованиям к повышенной устойчивости»):
  • 3. Рисунок 2 - Пример конфигурации Системы, удовлетворяющей требованиям к повышенной устойчивости Схема работы Системы Система Нотификации представляет собой автоматический сервис — все основные функции Система вы- полняет без участия человека, взаимодействуя только с другими автоматизированными системами Банка. Работа Системы строится по следующему сценарию: 1. Модуль регистрации сообщений выполняет приемку сообщений от исходных систем-владельцев о наступивших или наступающих событиях, предварительную проверку, разбор и запись сообщений во внутреннюю БД. Сообщение принимается в пассивном режиме — модуль Системы выступает в качестве клиента, получающего сообщения. Все сообщения передаются через HTTP, на адрес специальной страницы web-приложения, принимающей сообщение в виде POST-запроса.
  • 4. 2. Модуль определения подписки отслеживает факт регистрации нового входящего сообщения, авто- матически проверяя внутреннюю БД. Для каждого зарегистрированного сообщения модуль опреде- ляет все подписки, активные на момент получения сообщения — как персональные подписки на со- общение для конкретных клиентов-подписчиков, так и массовые подписки. Для каждой выявленной подписки модуль регистрирует во внутренней БД задание на формирование уведомления. 3. На его основании модуль формирования уведомлений генерирует конечные исходящие уведомле- ния. Формируемое уведомление — это, прежде всего, текст содержания уведомления. Модуль обеспечивает специальный механизм генераторов — подключаемой реализации логики генерации текста. В текущую поставку включены следующие генераторы: a. подстановка значений в шаблон текста, задаваемый для каждого типа сообщения. Подстав- ляемые параметры выделяются из содержания исходного сообщения; b. получение содержания (текста) уведомления как результат выполнения XSLT- преобразования XML-содержания исходного сообщения при помощи XSLT-шаблона, зада- ваемого для каждого типа сообщения. При этом перед выполнением преобразования в XSLT-шаблон могут быть подставлены значения, выделенные из исходного сообщения. При этом модуль обеспечивает механизм анализаторов — подключаемой реализации логики вы- деления подставляемых значений из исходного сообщения. В исходной поставке модуль включает реализацию анализатора, обеспечивающего выделение данных из XML-документа исходного со- общения при помощи XPath-выражений. Выбор конкретного анализатора и генератора, применяемых для конкретной подписки, осуществ- ляется на основании данных внутреннего справочника трансформаций. 4. Модуль доставки уведомлений реализует функцию доставки сформированных уведомлений с двухфазным учетом оплаты их доставки (резервирование оплаты — взимание оплаты по факту доставки). В данной поставке Системы модуль реализует доставку по следующим каналам: a. SMTP — формирование и отправка сообщений электронной почты по протоколу SMTP; b. SMS — формирование и отправка SMS-сообщений при помощи внешнего SMS-шлюза — специального сервиса, осуществляющего рассылку SMS-сообщений; вызов шлюза выпол- няется по протоколу HTTP специальным GET-запросом. Модуль также реализует два варианта учета оплаты доставки уведомления (выбор конкретной реализации определяется конфигурационными параметрами): a. внутренний учет — на основании внутренних данных о пакетах оплаченных уведомлений, соотнесенных с данными о клиентах-подписчиках; b. внешний учет— в этом случае учет оплаты выполняется во внешней системе, вызов кото- рой осуществляется через web-сервис. В общем случае реализация модуля допускает подключение другой логики доставки уведомления и логики учета оплаты доставки уведомлений. Количественные характеристики
  • 5. ения). Целевые характеристики, реализуемые Системой Нотификации: • Производительность — от 20 входящих сообщений в секунду. Среднее время обработки сообщения (от регистрации до передачи в службу доставки) — 3 секунды, максимально допустимое — 10 се- кунд. Система рассчитана на обработку сообщений, предполагающих формирование и рассылку уведомлений в количестве, порядок которого составляет миллионы. • Надежность — в случае ошибок обработки принятое сообщение/сформированное уведомление со- храняется во внутренней БД и обрабатывается после восстановления работоспособности модуля (Системы). Модули системы реализуют внутренние механизмы автоматического перезапуска обра- ботки сообщений/уведомлений. В процессе опытной эксплуатации Системы Нотификации в Банке было проведено нагрузочное тестирование1 , в результате которого получена общая оценка производительности Системы — обработка 100-110 исходных сообщений в секунду (при условии генерации и доставки 2-3 уведомлений для каждого сообщ 1 Конфигурация боевого контура: сервер СУБД — MS SQL Server 2008 Enterprise Edition SP1, на кластере из двух серверов HP Blade 680 (4x4), 16 Gb RAM, с внешним хранилищем; ферма серверов приложений, HP Blade 460 (2x4) 4 Gb RAM, балансировка SLB. На каждом узле фермы развернут идентичный набор приложений Системы в рамках одного контейнера IIS в выделенном пуле.