Описание DFServer
Программа DFServer предназначена для подключения к Торговой системе ММВБ (ТС ММВБ) “внешних” (по отношению к ней) систем различного типа (ВС), осуществляющих обмен информацией с ТС ММВБ в режиме реального времени.
Универсальный двунаправленный программный шлюз (УДПШ) представляет собой программную часть аппаратно программного интерфейса между ТС ММВБ и ВС, предназначенного для обмена информацией между соединяемыми системами. Обмен информацией между системами происходит в режиме реального времени и с обеспечением приемлемого (с точки зрения ММВБ) уровня взаимной защиты.
Программный интерфейс позволяет подключать к торгово-депозитарным комплексам ММВБ внешние системы распространения торговой информации, сбора клиентских заявок, ведения позиций, риск-менеджмента и другие системы.
Архитектура системы приведена на следующей диаграмме.
Функциональные возможности
|
Универсальный двунаправленный программный шлюз обеспечивает выполнение следующих основных операций:
подключение к ТС ММВБ от имени пользователя ТС ММВБ, являющегося администратором шлюза, с использованием вводимого этим пользователем идентификатора и пароля;
прием от ВС требований на получение торговой информации или обновлений в торговой информации и передачу их в ТС ММВБ;
прием от ТС ММВБ торговой информации (обновлений), поступивших в ответ на соответствующие требования от ВС и передачу ее в ВС;
прием от ВС требований на выполнение активных транзакций (постановку и снятие заявок) и передачу их в ТС ММВБ;
прием от ТС ММВБ ответов на требований на выполнение активных транзакций, поступившие от ВС и передачу их в ВС;
прием от ТС ММВБ сообщений об ошибках, произошедших при обработки требований на получение торговой информации (обновлений) и активных транзакций, поступивших то ВС и передачу их в ВС;
передачу в ВС (по ее запросу) описания “информационного интерфейса”, доступного ей;
восстановление работы шлюза и обмена информацией после сбоев в ТС ММВБ (или потери связи с ней), ВС или в самом шлюзе;
отключение от ТС ММВБ по требованию администратора шлюза.
УДПШ обеспечивает протоколирование следующих событий:
подключение к ТС ММВБ;
получение от ВС требований на выполнение активных транзакций и содержание требований;
получение от ВС требований на получение торговой информации (обновлений) и содержание этих требований;
отключение от ТС ММВБ.
УДПШ обеспечивает подключение ВС как к версии ТС ММВБ, поддерживающей фондовый и валютный рынок, так и к версии ТС ММВБ, поддерживающей рынок деривативов.
УДПШ реализован в виде двух программных компонентов, исполняющихся на двух физически различных компьютерах, работающих под управлением операционной системы Windows NT. Один из компонентов (DFServer) подключается к ТС ММВБ посредством TSMR и выполнен в виде самостоятельного приложения. Второй компонент (DFClient) выполнен в виде Windows DLL и предоставляет приложению-приемнику ВС прикладной программный интерфейс (API). Между собой компоненты обмениваются информацией с использованием последовательного интерфейса (RS232).
С целью обеспечения универсальности подключения ВС к ТС ММВБ и создания дополнительного “барьера безопасности”, DFServer обеспечивает прием от подключаемой ВС (через DFClient) требований на предоставление и обновление информации, и выполнение активных транзакций, передачу подключаемой ВС (через DFClient) запрошенной информации и обновлений только в рамках “информационного интерфейса”, разрешенного для данной ВС. Описание разрешенного “информационного интерфейса” выполняется в виде специального протокола и включает:
описание доступных клиенту УДПШ (подключаемой ВС) информационных объектов (наименований информационных объектов, состава полей и дополнительной информации);
описание доступных клиенту УДПШ (подключаемой ВС) полей информационных объектов (наименований полей информационных объектов, их типа, формата и дополнительной информации);
описание доступных клиенту УДПШ (подключаемой ВС) активных транзакций (наименований активных транзакций, состава полей и дополнительной информации);
описание доступных клиенту УДПШ (подключаемой ВС) полей активных транзакций (наименований полей активных транзакций, их типа, формата и дополнительной информации);
описание откликов ТС на доступные клиенту УДПШ (подключаемой ВС) активные транзакции;
описание соответствия между информационными объектами и активными транзакциями “информационного интерфейса и сообщениями ТС ММВБ.
Описания “информационных интерфейсов” хранятся и ведутся централизованно, а необходимое описание передается на DFServer в начале сеанса работы по его требованию с TC ММВБ.
В рамках поддержки “информационного интерфейса” DFServer обеспечивает:
запрос, прием и кэширование описания “информационного интерфейса” в начале работы;
адекватное преобразование данных из форматов “информационного интерфейса” в форматы обмена с ТС ММВБ (для требований на получение и обновление информации и активных транзакций, поступающих от подключаемой ВС) и из форматов обмена с ТС ММВБ в форматы “информационного интерфейса” (для информации и обновлений информации, реакции на активные транзакции и сообщений об ошибках, поступающих из ТС ММВБ) в ходе работы;
передачу в подключенную ВС (через DFClient) описания интерфейса по ее требованию;
поддержание дисциплины обмена с ТС ММВБ (формирование пакетов обмена и порядок получения ответов на информационные запросы), определяемой соответствующими флагами при вызове подключенной ВС функций прикладного программного интерфейса (API), предоставляемого ей компонентом DFClient;
контроль передаваемой из подключенной ВС (через DFClient) информации на соответствие загруженному описанию “информационного интерфейса” и возврат в подключенную ВС (через DFClient) сообщений об ошибках в случае обнаружения несоответствий.
Также обеспечена возможность запуска нескольких экземпляров DFServer на одном компьютере с различающимися конфигурационными файлами и рабочими каталогами. При этом работающие параллельно экземпляры DFServer могут быть подключены как к одному и тому же, так и к разным экземплярам ТС ММВБ. Сервер DFServer может обслуживать несколько экземпляров DFClient подключенных через разные коммуникационные порты.
|