Комплексные программные решения для финансового рынка

Функциональная и платформенная масштабируемость, специальные отчеты... Преимущества подробнее  

Ретроспектива

www.fansy-service.ru
Главная > Технология > Ретроспектива

Fansy-технология. Ретроспектива

Предпосылки

90-ые годы прошедшего века в России были отмечены бурным ростом числа компьютерных программ для информационной поддержки и управления организационно-финансовой деятельностью предприятий. Диапазон возможностей этих программ широк не только по охвату задач, но и по составу, по моделям учета, глубине проработки и по механизмам реализации обмена информацией . Постепенно с развитием компьютерных технологий разработчики приложений мигрировали и еще мигрируют в направлениях DOS => Windows, файловые структуры => базы данных SQL, двухуровневая => трехуровневая архитектуры приложений клиент/сервер, текстовый => графический интерфейс рабочего стола. (Что касается Запада, то там история компьютеризации побогаче, много приложений на больших универсальных компьютерах для больших БД. Многие системы и не пытаются идти к GUI).

Напомним, что стандартная архитектура предусматривает, что сложные приложения требуют для реализации двух слоев: один (предварительная обработка) - для приложения рабочего стола, другой (окончательная обработка) - для БД. Однако отметим, что эта архитектура не располагает к необходимой гибкости и быстроте при сопровождении и перепроектировании сложных приложений: в ней нет выделенного места для правил бизнеса, которые для разных предприятий бывают самыми специфическими.

Новая трехслойная архитектура приложений, в которой специально создается слой для правил бизнеса, представляется более интересной:лойная архитектура приложений, в которой специально создается слой для правил бизнеса, представляется более интересной:

СлойОтвечает заСодержаниеФункции
ДокументПонятный, эффективный интерфейсПриложения рабочего стола и Graphical User InterfaceПредставление, навигация, манипулирование и анализ
Правила бизнесаПолитику принятия решений и эвристические процедурыПравила бизнеса и вычислительные процессы, схемы документооборотаПринятие решений, проведение политики, координация ресурсов и документов
Управление даннымиСогласованность и защищенность данныхСУБД (SQL) - хранение и извлечение данных, OLTPСогласованность, секретность, целостность и безопасность

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

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

Ниже мы описываем наш вклад в реализацию трехслойной архитектуры, предоставив вниманию читателя технологию Fansy, как основу подхода к комплексной автоматизации профессионального участника РЦБ.

Требования

Проект Fansy стартовал в 1995г., когда появление нового средства визуальной разработки Delphi вселяло надежду на технологический прорыв в скорости разработки проектов даже небольшим коллективом разработчиков. В то время широко использовались системы Clipper и X-Base, которые ставили больше задач (ошибки индексов и нарушение целостности данных при сбое вычислительной системы), чем давали решений. К новому проекту мы выдвинули следующие требования:

  • Разработка нового языка манипулирования данными Fansy-script, с одной стороны, достаточно мощного для спецификации алгоритмов обработки данных и бизнес-правил, а с другой стороны, достаточно простого, чтобы конечные пользователи могли использовать его для расширения возможностей и настройки приложений на специфику применения.
  • Основа реализации приложений - Delphi, основа реализации отчетов - MSOffice, основа реализации бизнес-правил - Fansy-script, основа хранилища данных - SQL.
  • Использование идеи ""Словаря данных"" со следующими принципиальными расширениями: в базе метаданных будем хранить не только дополнительную информацию о запросах к данным, но и сами запросы, а так же бизнес-правила и полную информацию о структуре всех приложений: формы, отчеты, документы, пользователи, правовые профили, зависимости, параметры, макросы, события, шаблоны выгрузки данных, хелпы. Тем самым, само приложение представляется как интерпретатор базы метаданных, и может быть сконструировано из объектов, являющихся частями других приложений. Разработка визуального редактора базы метаданных, своего рода конструктора финансовых приложений. Сопровождение приложений должно сводится к обновлению базы метаданных.
  • Использование объектно-ориентированного подхода не только в сфере организации приложений, но и в сфере организации хранилища данных: использование единого глобального первичного ключа всех взаимосвязанных таблиц базы данных позволит упростить средства анализа данных и унифицировать ядро приложения. Использование объектов для хранения истории изменения реквизитов некоторых наиболее важных таблиц, а так же для расширения классификационных признаков предметных таблиц БД без изменения структуры БД (классификаторы).
  • Реализация высокопроизводительного универсального бухгалтерского ядра, позволяющего в одних и тех же структурах представлять информацию об остатках и оборотах, хранить данные о разнородных ценностях (деньги, ценные бумаги, товары) и поддерживать несколько учетных плоскостей. Реализация А и Т типов аналитик, плановых проводок и бюджетов. Идея метаданных должна позволять пользователю менять и настраивать схемы бухгалтерского учета.
  • Реализация высокопроизводительного универсального ядра электронного документооборота, пригодного для использования в различных финансовых областях. Механизм поддержки электронных сообщений для реализации проблемы передачи информации по электронным каналам связи, встроенный XML-парзер, реализации репликации данных и организации удаленного сопровождения приложений.
  • Реализация конструктора тарифных планов: возможность спецификации тарифных планов в виде суперпозиции источника данных, хранимого в метаданных, и расчетной схемы, получающейся путем контекстной генерации программы на языке Fansy-script.
  • Принцип открытости системы: предоставление конечному пользователю возможности написания собственных отчетов, запросов к данным, документов и классификаторов. Идея метаданных должна позволять пользователю менять и настраивать содержимое и визуальное отображение документов, набор бизнес-правил и событий приложения.
  • Принцип мобильности: использование стандарта SQL-92 для написания запросов к данным. Цель - обеспечение независимости системы от SQL-платформы.
  • Простота интерфейса и логики работы целевых приложений. На выходе технологического цикла разработки получаются стандартные по интерфейсу пользователя компилируемые Windows-приложения (организованные по MDI схеме), содержащие гибкий интерпретируемый код.

Реализация

В 1997г. реализация проекта была в основном завершена. В качестве SQL - платформы выбрали InterBase. Реализовали интерпретатор и визуальный отладчик языка Fansy-script. Разработали визуальный редактор базы метаданных (ADMIN) - конструктор финансовых приложений. В итоге:

  • разработано более 40 визуальных компонентов для Delphi, обеспечивающих связи приложений с метаданными;
  • база метаданных достигла 40 таблиц, и содержала 300 форм приложений, 450 запросов, 170 отчетов и около 1000 метафункций на языке Fansy-script;
  • база данных содержала 150 таблиц, 50 представлений, 650 триггеров и 150 процедур;
  • утилита ADMIN была разработана как Fansy - приложение (bootstrapping), что способствовало начальной отладки кода и проверке заложенных идей.

Практически все из задуманного было реализовано. Что не удалось:

  • Не удалось достичь следования исключительно стандарту SQL-92. Мы задействовали мощную возможность InterBase, позволяющую использовать процедуры с параметрами (возвращающими отношение) в запросах к данным (своего рода динамические курсоры). Эту возможность мы заложили в основу всех средств анализа (аналитика). Тем не менее это не привело к потери такого свойства технологии, как СУБД-независимость, аналогичные возможности вскоре появились и в других СУБД (MSSQL-2000, ORACLE9i).
  • Пришлось отказаться, из соображений эффективности, от использования единого глобального первичного ключа всех таблиц базы данных, тем не менее, часть таблиц с явным наследованием исповедует этот принцип.
  • Отсутствие в InterBase ссылок между базами привело к расщеплению метаданных на два вида: метаданные о схемах бухгалтерского учета и сценариях документооборота пришлось разместить в базе данных и написать еще один редактор (BALTUN) - конструктор схем бухгалтерского учета и сценариев документооборота.
  • По этой же причине пришлось усложнить процедуру удаленного сопровождения приложений, разработав специальные сообщения, ответственные за репликацию второго вида метаданных

Трехслойная архитектура приложений в технологии Fansy получила реализацию в виде следующей таблицы:

СлойФункцииИнструмент
ДокументПредставление - форматированный ввод-вывод данных.
Навигация - переход между связанным документам.
Манипулирование - возможность создавать и изменять информацию.
Анализ - использование классификаторов.
Графические средства Delphi, Fansy-script -для обработки событий,Visual-Basic - для формирования отчетов
Правила бизнесаПринятие решений, проведение политики, координация ресурсов, расчет тарифов, условия директив документов, генерация проводокFansy-script
Управление даннымиСогласованность (целостность) - защита транзакций, секретность (безопасность) - обеспечение физического и логического уровня защиты данныхЯзыки SQL серверов

Наши продукты

1997г.

Первым мощным применением технологии стал проект Fansy-DEPONENT "Удаленный клиент депозитария", хорошо знакомый депонентам ДРС продукт. Первый опыт использования электронных сообщений для передачи финансовых сообщений и, что особенно важно, для репликации данных между удаленными базами данных. Ядро документооборота расширилось возможностью автоматической обработки документов. Язык Fansy-script дополнен встроенным XML-парзером, транслирующим документ в набор данных в опреативной памяти.

1998г.

Fansy-BROKER - модуль Бэк-офисного учета. Полный электронный документооборот бэк-офиса компаний, осуществляющих брокерскую, дилерскую деятельность и деятельность по управлению ценными бумагами. Три плана счетов: "Расчеты по деньгам", "Расчеты по бумагам" и "Технические расчеты", образуют основу для синтетического и аналитического анализа состояния бэк-офиса. Выбор метода расчета средней себестоимости (метод среднего, ЛИФО, ФИФО). Учет операций с любыми видами ценных бумаг на биржевом и внебиржевом рынке. Учет требований ФКЦБ и НАУФОР. Полный набор требуемой отчетности. Управление собственными инвестиционными портфелями, брокерское обслуживание клиентов, ведение клиентских портфелей ценных бумаг. Система позволяет импортировать/экспортировать данные (в том числе и содержимое документов) произвольных форматов, этот механизм может быть использован для экспорта лимитов во фронт-офис Интернет-Брокера. Великолепный пример взвешенного использования А и Т аналитик, мощное применение технологических возможностей по расчету клиентских тарифов: 15 источников данных и 5 расчетных схем, позволяющие получить 75 различных тарифных планов.

1999г.

Fansy-TARIFF - модуль расчета депозитарных тарифов. Предназначен для задания тарифных планов произвольной сложности в организациях, использующих программное обеспечение ДЕПО96, выпущенное ОЮЛ "Депозитарно-расчетный союз" в 1996г.

2000г.

Fansy-DEPO - модуль депозитарного учета [7]. Интересный эксперимент по скрещиванию банковского плана счетов (который вслед за ЦБ навязывается депозитариям ПАРТАД -ом), с принципиальной необходимостью все-таки связывать Депо-счета владельцев с информацией о месте хранения ценных бумаг. Отличный пример работы Т-аналитики. Учет требований ПАРТАД, ФКЦБ и ЦБ. Полный набор депозитарной отчетности.

2000г.

Fansy-BALANCE - модуль бухгалтерского учета для нового плана счетов Минфина. Реализован базовый уровень бухгалтерского документооборота, связанный с процедурами учета: расчет зарплаты, ведение книги продаж (покупок), выставление счетов, кассовые операции, выдача отчетности. Приложение писалось для использования внутри компании с целью быстрого покрытия бухгалтерских рутинных операций для малого бизнеса.

2001г.

Fansy-REESTR - модуль ведения реестра паевого инвестиционного фонда.

2002г.

Fansy-SPECTRE - универсальный модуль для ведения учета брокерской компании, управляющей компании инвестиционного фонда или специализированного депозитария фонда (ПИФ, НПФ). Программный продукт создан в результате плодотворного сотрудничества с компанией ОАО "Специализированный депозитарий пенсионных, паевых инвестиционных фондов Специализированный депозитарий" в лице ее ведущего менеджера Крупнова Ю.Е.

2005г.

Fansy-TRUST - система внутреннего учета ДУ и ОФБУ для банков. Программный продукт создан в результате плодотворного сотрудничества с банком "ГЛОБЭКС".

Если вы руководящий работник и хотите сами управлять бизнес-правилами системы автоматизации, инструментарий Fansy-TOOLKIT может предоставить такую возможность.

Комплекс приложений BROKER+DEPO+BALANCE и SPECTRE+DEPO+REESTR представляет достаточно полный набор средств автоматизации деятельности профессионального участника рынка ценных бумаг. Важной особенностью является возможность всех приложений работать с единым хранилищем данных (работает идея раздельных учетных плоскостей). Это дает весомые преимущества: 1) автоматическое заполнение аналитических плоскостей всех приложений при изменениях в данных в любом из них (субъекты, ценные бумаги, сделки, контрагенты); 2) общие документы могут порождаться в одном приложении, а использоваться в другом (счета, поручения, приказы, распоряжения, классификаторы).

Большим сюрпризом для нас, да и для многих разработчиков, явился выход в свет версии MSSQL-2000, в которой появились долгожданные процедуры, возвращающие отношение. Адаптация базы метаданых и технологического инструментария заняла 4 человеко-недели, перенос серверной части базы данных занял 3 месяца.

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

В 2003 г. активизирован процесс переноса серверной части на СУБД ORACLE9i. Промышленная версии серверной части для СУБД ORACLE вышла в 2004г.

2007г.

Fansy-AGENT - реализован модуль агентского пункта ПИФ

2008г.

Fansy-DEPONENT - модуль удаленного депонента депозитария

2010г.

Fansy-TRUST - расширение системы внутреннего учета для банков блоком собственных и клиентских сделок

2010г. 

Fansy-TRUST - расширение системы внутреннего учета для банков блоком учета собственных векселей

2011г. 

Адатация серверной части системы к СУБД ORACLE11g.

2015г.

Fansy-STANDARD система автоматизации учета , основанная на проекте отраслевого стандарта регулятора

2016г.

Активизирован процесс переноса серверной части на СУБД PostgreSQL. Промышленная версии серверной части для СУБД PostgreSQL вышла в 2019г. 

2019г. 

Язык Fansy-script дополнен встроенным JSON-парзером и типом данных FIXED для работы с цифровыми данными с фиксированной точкой, имеющих расширенный диапозон значащих цифр и знаков после запятой. Адатация серверной части системы R СУБД ORACLE19.

2020г.  

Приложение Fansy-BALANCE - расширено операциями по учету ценных бумаг.

Наш адрес: 105066, г. Москва, улица Нижняя Красносельская, дом 35, строение 64, БЦ Виктория Плаза, 9 этаж, офис 916
Телефон: +7 (495) 109-5581;
Электронная почта: fansy@fansy-service.ru
© 2002 - 2022
ООО Проверенные технологии