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

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

Общие концепции

www.fansy-service.ru
Главная > Технология > Общие концепции


Общие концепции технологии FANSY

FANSY - это жизнеспособная технология построения открытых масштабируемых финансовых приложений (ERP-систем, CRM-систем), основанных на принципах "docflow", реализованных в классе "клиент-сервер" с использованием платформенно независимой SQL-СУБД и словаря данных (метаданных).

Предполагается, что информационная поддержка автоматизируемой организации осуществляется одним или несколькими приложениями, которые совместно используют задаваемые в технологии объекты, такие как: базы данных (БД), таблицы, процедуры, правовые профили, формы, выборки, функции, отчеты, документы, бизнес  сценарии, планы счетов и схемы проводок, а также возможные отношения между ними. Эти же объекты используются при коллективной разработке приложений.

Информация о вышеперечисленных объектах заводится и хранится в словаре данных, называемом метаданными (МД), которые являются неотъемлемой частью приложений и представляют собой интерпретируемые данные, выносимые за рамки компилируемого кода программы (фактически это программные ресурсы, хранимые в БД). Приложения обладают способностью адаптироваться к изменению МД.

Для работы с данными используется специальные объекты - выборки (мета-запросы). Тремя составными частями выборки являются: селекция данных, действия над данными и визуализация данных. Селекция определяет критерий отбора данных, задаваемый на языке SQL. Действия определяют операции на языке обработке данных (вставка, удаление, изменение), зависимые от текущего курсора выборки, и критерии ограничений бизнес-правил. Визуализация определяет способ отображения полей данных в контролах формы, справочник значений и т.д.

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

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

FANSY-технология предоставляет три уровня защиты данных от несанкционированного доступа: 1) физический уровень прав - уровень СУБД, 2) логический уровень - правовой профиль пользователя, проверяемый во время работы приложений и 3) шифрование пароля доступа к СУБД. Вне зависимости от того, как расставлены физические права на таблицы, логический уровень прав на выборки проверяется всегда, и наоборот. Уровень шифрования пароля препятствует возможности входа в СУБД вне санкционированного приложения. Предусмотрены процедуры автоматизированной загрузки и выгрузки БД и МД, формирования физических прав пользователей СУБД на основе их правовых профилей.

Таким образом, разработка FANSY-приложений сводится к проектированию выборок, конструированию форм (в значительной степени из готовых типовых фрагментов библиотеки визуальных компонентов, имеющих доступ к МД) и заведению или использованию соответствующих объектов МД (своего рода базы знаний разработчиков). Разработчик избавлен от рутины привязки типовых действий над данными (сортировка, группировка, фильтрование, вставка, удаление, экспорт) к формам приложения. При этом используются три инструментальных языка: SQL - для задания обработчиков данных, Delphi - для построения компилируемого ядра приложения, метаязык Fansy-script - для тонкой (проблемно-ориентированной) настройки приложения.

На выходе технологического цикла разработки получаются стандартные по интерфейсу пользователя Windows-приложения (организованные по MDI схеме) с оригинальным объектно-ориентированным интерфейсом..

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

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

Помимо универсального учетного ядра (Fansy accounting engine),  система предоставляет возможность взаимодействия с универсальным ядром электронного документооборота (Fansy docflow engine).

Документ представляет собой совокупность исходных данных (собственно документ) и некоторый развернутый во времени процесс изменения этих данных (выполнение документа). С документом (как объектом БД) связаны: системные параметры (таблица БД, форма визуализации), состояния и директивы перехода из состояния в состояние, правовой профиль пользователя на вышеуказанные объекты. Категории документов организованы в древовидную структуру по наследованию состояний и директив, а именно: корень дерева специфицирует системные (общие для всех) состояния и директивы, а категории нижних уровней наследуют свойства категорий более высокого уровня.

Предопределены следующие категории документов (по способу регистрации): Внутренний, Входящий, Исходящий, Транзитный. Состояния бывают исходные, промежуточные и конечные. Корневая категория предоставляет следующие системные состояния: "начальный ввод", "начало обработки", "отменена обработки", "конец обработки", доступные всем документам.

Директива представляет собой пару функций на специальном языке обработки данных: 1) функцию проверки условий применимости (арбитр); 2) функцию по обработке данных (обработчик), выполнение которой зависит от результата функции проверки. Обработчики вырабатывают код завершения, который запоминается в достигнутом состоянии. Арбитры могут проверять эти коды и влиять на процесс выполнения. Совокупность директив документа определяет граф переходов из исходных состояний в конечные. Все функции специфицируются на внешнем по отношению к программе, интерпретируемом языке, тем самым, обеспечивая возможность модификации набора операций, предоставляемых программой. Экземпляры документов инициируются либо оператором, либо другим экземпляром документа.

Добавление новых документов осуществляется простым редактированием дерева категорий документов.

Совместная работа территориально разобщенных подсистем организуется посредством передачи сообщений (файловых образов документов) по системе ЭДО. Документы, предназначенные внешнему по отношению к действующему субъекту, участвуют в ЭДО. Процедура репликации данных и удаленное сопровождение программной системы в рамках рассматриваемого подхода реализована как посылка и обработка документа специальной категории.

Для передачи документов в виде электронных сообщений используется специальный формат XML-файлов (формат FANSY), позволяющий передавать как содержимое всех реквизитов документов, так и их ЭЦП. Формат основан на стандартах W3C и рекомендациях рабочей группы ПАРТАД по форматам сообщений для рынка коллективных инвестиций. В отличие от других форматов для РКИ, формат FANSY имеет существенную особенность: он позволяет передавать любые документы и операции, специфицированные в метаданных FANSY-приложений, в том числе, те документы и операции, которые будут разработаны в будущем, т.е. добавление любой новой операции не потребует изменения структуры самого формата.

В качестве транспортной сети система позволяет выбрать как популярные сети передачи данных (сети с поддержкой POP3, SMTP или FTP протокола), так и любые частные сети передачи данных (в этом случае FANSY-сообщение помещается в «конверт» используемой транспортной сети). Система позволяет также использовать принципиально различные транспортные сети для отправки и приема сообщений.

В качестве средства криптозащиты система позволяет использовать криптопровайдер любого производителя, инсталлированного штатным способом в систему Windows. Система использует функции проверки и снятия подписи стандарта XML W3C либо PKCS посредством стандартного API Windows.

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

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