"Пятьсот миллионов звезд?…
Пятьсот один миллион шестьсот двадцать две тысячи семьсот тридцать одна".
Антуан де Сент-Экзюпери, "Маленький принц"

Историки-москвоведы предполагают, что Кисловские слободы образовались в Москве недалеко от кремлевских стен в Белом городе во времена царствования Ивана Грозного. Здесь, при Опричном дворе поселились "кислошники", приготовлявшие квашенья и соленья для государевых трапез. В XIX веке в особняках и домах, построенных на этом месте, жили многие известные писатели, драматурги, актеры. В Нижнем Кисловском переулке, в частном театре впервые выступил под псевдонимом Станиславский Константин Сергеевич Алексеев – купец, принадлежавший к высшему кругу русских промышленников. Сегодня же в уютной тишине Кисловских переулков, в комплексе вновь отстроенных зданий располагается Московская межбанковская валютная биржа, возникшая в начале 90-х годов.

Это небольшая прелюдия к серии рассказов о различных сторонах деятельности ММВБ, а точнее — об уникальных автоматизированных системах, разработанных в разное время и успешно действующих сегодня на бирже. Это торговая система, электронная депозитарная система, система электронных расчетов и система, автоматизирующая внутреннюю деятельность биржи. Вначале речь пойдет о системе электронных расчетов.

Профиль клиента

Компания:
Расчетная палата Московской межбанковской валютной биржи

Местонахождение:
Москва

Руководитель:
Виктор Игоревич Беляков-Бодин, начальник управления программно технического обеспечения

Проблема:
Автоматизация системы расчетов ММВБ

Профиль партнера

Компания:
CMA Small Systems AB

Местонахождение:
штаб-квартира в Стокгольме, Швеция; представительство в Москве

Руководитель:
Игорь Козинцев, инженер

Решение:
Разработка системы электронных расчетов ММВБ

Предтеча

Первый вариант системы для ММВБ разработала фирма "Инист". Эта система прошла длительный период развития, окончательно сформировавшись к 1996 году. Но доработки при этом продолжались, что в основном было связано с постоянными изменениями документов Центробанка. Постепенно система стала столь громоздкой, что люди подчас переставали понимать, как же она устроена и что в ней происходит.

Аппаратно расчетная система, разработанная фирмой «Инист», состояла из компьютеров на базе процессоров Intel, а программная составляющая базировалась на так называемой "настольной" СУБД FOXBase. Это не давало нужной устойчивости работы системы и ограничивало возможность ее масштабирования.

Кроме того, расчетная система была построена на основе локальных сетей Novell, но с несколько модифицированным транспортным протоколом. Этот протокол, вероятно, имел какие-то плюсы, по мнению тех, кто его создавал, но существенным его недостатком оказалась невозможность развиваться вместе с остальными продуктами компании. Это лишало пользователей всех преимуществ, заложенных в новые разработки Novell. А со временем и сопровождать модифицированный протокол оказалось некому. Другими словами, сетевое решение было архаичным.

Тем не менее в результате многих доработок система была доведена до нужной степени функциональности. Если бы в ней были заложены необходимая гибкость и масштабируемость, то, удачно сочетаясь с возможностью модификации (а это необходимо в связи с частыми изменениями в нашей жизни и в политике Центробанка), все эти свойства позволили бы системе проработать в ММВБ еще не один год. Специалистов биржи вполне устраивало, что было сделано, но совершенно не устраивало, как сделано. Нужно было создавать новую расчетную систему.

Московская межбанковская валютная биржа
http://www.micex.com
Закрытое акционерное общество "Московская межбанковская валютная биржа" было основано в 1992 году. Размер уставного капитала — 115,415 млн. руб. Общий объем биржевых сделок на ММВБ в 1999 году составил 1921 млрд. руб. (76,7 млрд. долл.). История становления биржи, стратегия которой направлена на создание общенациональной системы биржевых торгов, неотделима от процесса развития всего финансового рынка России.

В 1999 году особенно ярко проявилась роль ММВБ как центра формирования мнения финансово-банковского сообщества по актуальным вопросам развития рынка. Совместно со своими партнерами (АРБ, РСПП, НФА, НВА, АУВЕР) биржа инициировала разработку концептуальных программ, таких как "Программа восстановления российского рынка ценных бумаг", проекта краткосрочной государственной программы "Неотложные меры по восстановлению российского рынка корпоративных ценных бумаг с целью привлечения инвестиций в реальный сектор экономики", "Программа поддержки деятельности российских предприятий-эмитентов на рынке ценных бумаг", Кодекс поведения участников валютного рынка (Кодекс членов НВА) и др.

Несколько ранее на бирже была успешно внедрена торговая система, техническую базу которой составляли бизнес-серверы Hewlett-Packard (http://www.hp.ru) серии 9000 и программные продукты Informix (http://www.informix.ru). Понятно, что поддерживать разные системные платформы в рамках одной организации нецелесообразно, поэтому одним из требований к новой разработке была та же аппаратно-программная база, которая хорошо зарекомендовала себя в системе торгов.

Корпоративный стандарт

Основная система — система торгов ММВБ — изначально использовала СУБД Interbase. Ее новая версия, возникшая в середине 90-х годов, была разработана уже на Informix. Так как примерно в то же время была поставлена задача создания новой расчетной системы, это в какой-то степени подтолкнуло взять за основу ее разработки СУБД Informix. Следующая, депозитарная система, также разрабатывалась на базе Informix. Так постепенно сложился корпоративный стандарт автоматизированных систем ММВБ.

Возвращаясь к истории создания действующей сегодня расчетной системы, отметим еще несколько моментов, обусловивших выбор Informix в качестве ее основы. Первое — у этой СУБД лучше технические характеристики, что проявляется при ее использовании в условиях деятельности ММВБ. От системы требовалась ежедневная обработка десятков гигабайт информации, возможность с определенной частотой обновлять данные, умение обслуживать сложные запросы к базе данных с учетом связей между различными таблицами и многое другое. Помимо соответствия перечисленным требованиям, Informix обеспечивала более высокую, чем другие СУБД, производительность и гибкость решения, что необходимо при обработке огромного объема информации в условиях достаточно часто изменяющейся нормативной базы.

Второй момент. В связи с особенностями российской банковской системы, отечественной технологии биржевых операций и в силу специфических требований, которыми должна руководствоваться биржа, для автоматизации деятельности ММВБ вряд ли возможно было применить что-либо из богатого набора приложений той же Oracle без существенных усилий по адаптации, сравнимых по трудоемкости с разработкой специализированного приложения. В то же время специализированное приложение всегда более точно отражает требования заказчика по сравнению с готовым, пусть и настроенным определенным образом продуктом. Поэтому в данном случае не было минусом то, что Informix не могла предложить такого рода готовых решений. Необходимые приложения разработали для ММВБ программисты компании — системного интегратора, CMA Small Systems AB, которая занималась созданием расчетной системы для биржи.

CMA Small Systems AB
http://www.cma.ru, http://www.cma.se
Международный системный интегратор, разрабатывающий и поставляющий решения "под ключ" для сферы финансовых услуг. СМА поставляет системы для фондовых бирж, депозитариев, клиринговых и расчетных структур, центральных банков, брокерских и инвестиционных компаний. Оборот компании составляет 500 млн. шведских крон (примерно 60 млн. долл.).

CMA Small Systems AB — дочерняя компания группы CMA Europe AB. Штаб-квартира компании расположена в Стокгольме, имеются представительства в ЮАР и России. В настоящий момент СМА планирует расширение сферы своей деятельности на рынках Центральной и Восточной Европы.

Третье. Для ММВБ очень важна гибкость системы, потому что правила проведения банковских операций, на которые биржа неизбежно должна ориентироваться, до сих пор нельзя считать окончательно устоявшимися. Вполне предвидимы были также варианты изменения логики работы самой Расчетной палаты ММВБ, ее взаимосвязи с различными сторонами этого процесса, общего порядка проведения расчетов и т.д. Поэтому для построения расчетной системы была использована технология document flow, в соответствии с которой сами эти правила существуют не в виде жестко построенной программы, а в виде описания, которое хранится в базе данных и к которому процесс исполнения постоянно обращается. Как показал опыт, Informix прекрасно поддерживает эту технологию программирования.

В пользу Informix говорила и меньшая стоимость самого продукта. Конечно, на рынке существовали и еще более дешевые СУБД, но ориентироваться на них было рискованно. Здесь сыграли роль такие рыночные соображения, как позиции фирмы-разработчика на рынке. "Informix производит впечатление достаточно устойчивой компании, и я надеюсь, что мы всегда будем иметь необходимую техническую поддержку с ее стороны," — подчеркнул начальник управления программно технического обеспечения ММВБ Виктор Игоревич Беляков-Бодин.

Любопытно, что особенности, которые выявились в готовой системе постфактум, даже превзошли постановочные требования. В частности, возможность перенесения акцента на высокоскоростную обработку данных в оперативной памяти (путем размещения наиболее критичных по времени доступа данных в таблицах ОП) позволила обеспечить исполнение платежных транзакций в режиме реального времени на индивидуальной основе, что фактически соответствует принципам систем класса RTGS (real time gross settlement system). Для обеспечения надежности и транзакционной целостности специалисты СМА разработали специальные механизмы и алгоритмы. Накопленный опыт и наработки компания успешно применила и в последующих проектах.. "Это показатель того, что использование правильного механизма при решении достаточно общей, хотя и специфически поставленной задачи, позволяет получить продукт, ценность которого не исчерпывается хорошей работой у единичного заказчика," — отметил г-н Беляков-Бодин.

История внедрения

Компания CMA Small Systems AB выступила не только как поставщик решения и разработчик ПО для системы электронных платежей ММВБ; она же проводила обучение сотрудников биржи, а в настоящее время осуществляет техническую поддержку системы.

Макет расчетной системы прошел испытания в мае 1997 года. По его результатам были сделаны необходимые доработки, и программная часть системы была готова к использованию в сентябре 1997 года. Начался процесс внедрения, включающий переобучение пользователей и установку системы в тех из 600 организаций, которые захотели ее иметь. В настоящее время она установлена в 350 организациях. Кроме того, требовалось конвертировать всю базу данных из старой расчетной системы и перенести ее в новую, чтобы можно было ею пользоваться. Новую систему планировалось запустить в промышленную эксплуатацию 15 декабря 1997 года.

Но планы пришлось скорректировать, так как к этому времени созрело решение о двух существенных изменениях в экономике страны: деноминации и переходе на новый план счетов. В связи с этим все банки оказались до предела загружены работой, и им было не до внедрения новой расчетной системы. Поэтому ММВБ пришлось отложить ее запуск до марта 1998 года.

С января по март 1998 года параллельно действовали и старая, и новая системы. Реальная работа шла с системой, разработанной ранее фирмой «Инист», данные постепенно сбрасывались в новую систему, и она как бы отслеживала работу старой.

Но работа в параллельном режиме продолжалась недолго. К марту все перешли на новые сетевые решения, и для поддержки старой системы требовались специальные усилия; это делалось на экстренный случай, если вдруг понадобился бы откат (возврат к старой системе). К счастью, этого не потребовалось.

Продолжительный период ввода новой системы в эксплуатацию плавно вобрал в себя все, что было необходимо для ее нормального функционирования. После ее окончательного запуска старой системы старая система поддерживалась в работоспособном состоянии еще 2 недели. Через месяц же ее работа была полностью прекращена, и старая сеть демонтирована.

Следующим шагом, к реализации которого ММВБ приступила в 1999 году, стал перевод на Informix системы электронных расчетов по результатам валютных торгов. В данном случае технические преимущества, которые важны в больших системах, здесь не были так уж необходимы, поскольку эта система довольно скромна по объему базы данных. Тем не менее решение на базе Informix, ставшее корпоративным стандартом ММВБ, в силу своей более низкой по сравнению с Oracle стоимости, оказалось кстати.

А что там внутри?

Система электронных расчетов построена в трехуровневой архитектуре клиент-сервер. Центральный узел представляет собой кластер из двух машин Hewlett-Packard К420. Для поддержки кластерной конфигурации используется соответствующее ПО Hewlett-Packard.

В системе резервирования внешнего дискового пространства используется механизм репликации Hewlett-Packard. Если выходит из строя один компьютер, то автоматически выполняется перемонтировка дискового пространства ко второй машине, в результате база данных остается доступной пользователям. Для пресечения попыток несанкционированного доступа к данным системы после переключения проводится повторная авторизация клиентов. Эта процедура может длиться не более 10 мин.

Внешнее дисковое пространство также имеет резервную копию, на которую выполняется переключение в случае выхода из строя основного массива. Эта процедура происходит незаметно для пользователя.

Для организации взаимодействия удаленного клиента с центральным узлом фирма СМА разработала специальный протокол обмена, позволяющий восстановить соединение при кратковременном разрыве связи. В случае разрыва специальный компонент связи автоматически пытается повторно установить соединение с центральным узлом и в случае успеха проводит повторную авторизацию, незаметно для собственно пользователя, работающего за компьютером. В соответствии с заложенными в систему принципами электронного документооборота, на каждый отправленный платежный документ система возвращает квиток о его состоянии: принят к исполнению, помещен в очередь, исполнен, не может быть исполнен по той или иной причине и т.п. Важно подчеркнуть, что весь обмен клиента с системой ведется в режиме реального времени, а принятые платежные документы исполняются на индивидуальной основе.

Все эти меры по обеспечению надежности и производительности хорошо зарекомендовали себя в ходе эксплуатации системы в "боевых" условиях.

Система электронных расчетов должна взаимодействовать как с другими системами, используемыми в ММБВ — торговой системой и депозитарием, так и с внешними системами, среди которых программный комплекс КОНВА МЦИ (Межрегионального центра информации) Центрального банка и S.W.I.F.T. Для решения задачи интеграции специалисты СМА применили технологию интеграции приложений на основе продукта PIE. PIE (Processware Integration Environment) принадлежит к классу программных продуктов EAI (Еnterprise Аpplication Integration) и предназначен для интеграции разнородных бизнес-приложений. Основная особенность PIE — интеграция приложений на уровне бизнес-логики. Использование общепринятых стандартов (XML, UML, COM/DCOM и т.д.), компонентно-ориентированная архитектура, поддержка механизма транзакционной целостности на уровне бизнес-логики, масштабируемость делают PIE эффективным средством для создания, управления и поддержки сложных распределенных информационных систем. Полученное решение позволяет как бы объединить в единое целое системы от разных поставщиков, используемые в платежном документообороте.

Архивирование

За три года работы системы расчетов объем обрабатываемой информации сильно возрос. Для удобства в системе используется несколько уровней архивации. Те данные, которые теряют актуальность в силу изменения законодательства или по другим причинам, архивируются и хранятся на магнитных носителях. Если эти данные понадобятся, их можно восстановить либо в действующей базе данных, либо во временной. Это самый глубокий уровень архивации.

Внутри системы организованы промежуточные уровни. Пользователи, как правило, работают с теми из них, где хранятся относительно небольшие объемы информации за непродолжительный отрезок времени — остатки по счетам с начала года, платежные документы за квартал и т.д. По запросу пользователя система формирует либо SQL-запрос к базе данных, либо, если данные в текущий момент находятся в памяти, вызывает функцию доступа к таблицам памяти.

В соответствии с регламентом в конце дня выполняется процедура закрытия операционного дня. При этом информация, которая стала неактуальной, с помощью специальных алгоритмов «переливается» в другие таблицы базы данных большего объема. Как правило, большие таблицы не используются в оперативной работе, так как обращение к ним может потребовать значительного времени и вычислительных ресурсов компьютеров центрального узла. Правила работы с такими данными определяются соответствующим регламентом, позволяющим ограничить доступ к ним в пиковые периоды нагрузки на систему. В первую очередь такое разделение потоков предусмотрено для того, чтобы не тормозить обработку платежных документов, происходящую в реальном времени.

Таким образом, в системе организован быстрый отклик для работы с оперативными данными, имеется возможность анализа работы с данными, которые неактуальны, но еще используются в работе online, и существуют архивы, которые можно восстановить по требованию пользователя.

Безопасность

Как и всякая финансовая система, связанная с банковской деятельностью, система электронных расчетов имеет защиту от несанкционированного доступа. С точки зрения защищенности системы клиенты условно делятся на локальных и удаленных.

Удаленные клиенты работают через Application Server по специальному протоколу, написанному фирмой CMA (клиент реализован с использованием языка Microsoft Visual C++). Авторизация клиента, электронная подпись и шифрование выполняются с помощью специализированного ПО, сертифицированного в России. Это комплекс средств под названием "Верба".

Локальные клиенты, находящиеся на бирже, используют стандартное средство 4GL Uniface, имеющее свой собственный Application Server, так называемый Polyserver, транслирующий запросы клиента к базе данных. В ходе реализации проекта система криптозащиты “Верба” была подключена и к механизму обмена данными для локальных клиентов. В результате они получили возможность шифровать и подписывать платежные документы, идущие с локальных рабочих мест, также с помощью ПО "Верба.

Когда шло внедрение "Вербы", сертифицировано было только решение для DOS. Расчеты показали, что при пиковой нагрузке системы необходимо 2,5 криптосервера под управлением ОС DOS, обладающих определенной производительностью. Система была снабжена шестью криптосерверами, а также специальным механизмом распределения нагрузки между ними, обеспечивающим шифрование в полном объеме даже в случае выхода из строя одного из серверов.

В настоящее время в системе ежедневно работает порядка 350 удаленных клиентов. Все платежи проходят в реальном времени. Как только платеж прошел, клиент сразу может получить подтверждающие документы, заверенные электронной подписью.

Нюансы

Напомним, что система электронных расчетов позволяет вести операции в реальном масштабе времени. Благодаря наличию такой возможности ММВБ еще в 1998 году была готова к тому, что Центральный банк вот-вот запустит проект RTGS (Real Time Gross Settlement System) — систему валовых расчетов в реальном времени. Однако этого до сих пор не произошло. Заметим в скобках, что RTGS — это веление времени: на систему расчетов, в основе которой лежит RTGS, перешло уже более половины банков во всем мире, и процесс этот продолжается.

Поясним, что ранее, когда работа шла с периодом 1 день, у расчетно-кассовых центров Банка России была возможность проводить взаимозачеты. В результате с одного корреспондентского счета на другой переходили совсем небольшие деньги. При расчетах в реальном времени невозможно ждать, когда кто-то соберется произвести встречный платеж; соответственно, сумма расчета проводится полностью. Это порождает целый ряд особенностей самой системы расчетов: другие риски, свои правила действий в особых ситуациях и т. д.

В настоящий момент ММВБ производит платежи 4 раза в день. Это, конечно, далеко от настоящей системы реального времени, поэтому некоторые возможности системы электронных расчетов до сих пор не востребованы.

Правда, такая потребность существовала, когда в стране был развитый рынок ГКО. Часто случалось, что в последние минуты перед закрытием расчетов все собранные средства бросали на рынок ГКО. Система электронных расчетов ММВБ была в состоянии обеспечить такой режим работы. В те времена вся наша экономическая система была чувствительна к колебаниям этого рынка.

Сегодня рынок ГКО уже не имеет тех масштабов и не влияет столь заметно на экономику в целом. Соответственно и прибыль на нем не та. Поэтому банки не стремятся тратить деньги на внедрение новой системы, а хотят использовать уже имеющиеся у них средства — у кого S.W.I.F.T., у кого TELEX. Тем не менее 250 банков РФ работают с ММВБ по новой расчетной системе.

Депозитарная система

Вслед за первым успехом было решено и другие корпоративные системы, в частности, депозитарную систему, делать на Informix.

Изначально расчетная система существовала отдельно, а депозитарная была частью комплекса торговой системы, т. е. предполагалось, что соответствующая работа будет осуществляться одной организацией. Однако Федеральная комиссия по ценным бумагам сформулировала требования, по которым процесс торгов должен осуществляться отдельно от депозитария. Согласно требованиям Федеральной комиссии, сейчас торги и депозитарий — это функции различных организаций, входящих в холдинг ММВБ.

Разделение функций повлекло за собой потребность в отдельной депозитарной системе, воспроизводящей весь тот функционал, который был уже хорошо изучен в рамках единого торгово-депозитарного комплекса. Опять же для новой системы требовался механизм, позволяющий учитывать периодическое изменение законодательства, которое, повторимся, еще далеко не установилось.

Депозитарная система была запущена в 1999 году. Сегодня она обеспечивает депозитарное обслуживание широкого круга ценных бумаг и расчеты по результатам торгов на различных фондовых рынках и для различных торговых площадок. Система поддерживает ведение депозитарных счетов вплоть до уровня индивидуального инвестора и предоставляет владельцам счетов возможность оперативно управлять ими в интерактивном режиме.

Et cetera

Система электронных расчетов создавалась для Расчетной палаты, которая является самостоятельным юридическим лицом, имеющим банковскую лицензию, в составе холдинга ММВБ. Данная система используется для ведения рублевых расчетов.

Для ведения расчетов в валюте Расчетная палата использует целую гамму программно-аппаратных средств, в том числе что-то близкое к уменьшенной копии системы, разработанной компанией «Инист» в начале 90-х годов, о которой мы говорили выше. Здесь и сами расчеты, и учет обязательств участников, и т. д. Это программы внутренние, и потому из них исключены "сетевые фантазии" предыдущих разработок.

Кроме того, следующим шагом ММВБ по пути использования Informix стала переделка целой группы используемых программ, которые не смотря на слабую связь между собой, все-таки представляют своего рода систему.

В порядке опробования рассматривается возможность использования Informix в Web-решениях ММВБ. Пока сделаны первые прикидки, они обнадеживают, но говорить, что это решение уже состоялось, и оценивать его успешность пока еще рано. Однако это еще одна иллюстрация движения по определенному пути.