Технологии и архитектура платформы
Платформа Visual Data является программной реализацией одноименной технологии, и представляет собой вычислительную среду объектного управления данными, включающую в себя полнофункциональную объектную СУБД, а также полный стек инструментальных и коммуникативных средств для быстрого создания прикладного программного обеспечения.
Платформа характеризуется функциональным единством, компактностью, минимальными требованиями к аппаратной части, и минимальной зависимостью от особенностей реализации операционной системы, самостоятельно используя в "первозданном" виде ее основные ресурсы: диск, память, сокеты Беркли и подсистему графического вывода. Платформа реализована в традиционной архитектуре сервер-клиент с обменом по протоколу TCP , при этом все исполнение реализуется непосредственно вычислительной средой объектной базы данных на сервере, а тонкий клиент используется как пользовательский браузер сценария при исполнении, или визуальный конструктор - при создании/модернизации приложения.
Платформа реализует принципиально новую парадигму программирования, называемую программирование в терминах предметной области. В вычислительной среде платформы функции прикладной программы выполняет декларативное описание классовой модели прикладной задачи - модель приложения, образованная совокупностью структур данных, которые являются экземплярами, производными от всего четырех сущностей мета-модели. Аналогичным образом, пользовательский интерфейс образован совокупностью экранных, печатных и файловых форм представления классов модели приложения, которые являются экземплярами естественного представления соответствующих сущностей. Создание прикладной программы осуществляется в среде двух визуальных конструкторов: модели приложения и интерфейсных форм сценария. Внутренняя функциональность приложения представлена максимально наглядным способом - визуальными образами в 3D пространстве конструктора модели, и доступна для восприятия и внесения изменений разработчиком, не обладающим никакими специальными навыками. Внесение изменений и дополнений в приложение осуществляется непосредственно в процессе его исполнения, с немедленным переходом от режима исполнения к режиму дизайна и обратно по нажатию одной клавиши, не покидая действующего контекста исполнения.
Технологическая основа вычислительной среды Visual Data
Технология взаимодействия данных основана на дальнейшем развитии реляционной модели Кодда, при котором в мета-модель системы управления данными вводится новое понятие отношение атрибутов. В новой модели данных, любая предметная область рассматривается как конечное множество взаимодействующих значений и описывается совокупностью понятийных сущностей (классов) и их характеристик (атрибутов), а все действующие в предметной области правила выражены отношениями классов и атрибутов. Технология прямого взаимодействия данных использует субъекты мета-модели для создания производных экземпляров классов, атрибутов и отношений, и полученную таким образом декларативную модель предметной области далее применяет при отработке внешних воздействий для согласованного создания и модификации производных объектов данных и их значений. Интеграция бизнес-логики предметной области непосредственно в управляющие структуры базы данных обеспечивает перманентную согласованность и логическую целостность данных при общей высокой степени алгоритмической надежности исполнения. А также позволяет заменить традиционные формы программирования простым и наглядным конструированием. Кроме того, присущая новой модели симметрия реализации отношений позволяет при организации доступа к данным использовать всю мощь методов естественной навигации.
Технология сущность-представление вводит в мета-модель системы управления данными такое понятие как интерфейсное представление сущности. Любой субъект мета-модели: элементарная сущность (класс, атрибут или отношение), а также событие сущности, обладает по меньшей мере одним представлением для каждого типа интерфейса — как визуального, так и не визуального. Абстрактное представление унифицированно связывает субъект мета-модели с компонентами интерфейса, экземпляры которых в декларативной форме входят в состав представления, и своими внутренними методами обеспечивает взаимное взаимодействие субъекта с этими экземплярами. На уровне модели данных предметной области, представление пользовательского класса создается навигационным комбинированием декларативных экземпляров представлений атрибутов и событий в составе экземпляра представления собственно класса. Совокупность представлений классов модели данных образует многооконный сценарий приложения, который может быть получен простым визуальным конструированием.
Технология объектного управления данными предоставляет простые, и как следствие - производительные методы организации долговременного хранения, модификации и извлечения логически связанных данных в формате изолированного объекта, с соблюдением всех требований ACID. Совокупность всех объектов образует объектную базу данных, в которой каждый объект обладает уникальным идентификатором. Идентификатор объекта представляет собой простое число, которое в один шаг конвертируется в указатель на размещение объекта на диске или в памяти, и используется в том числе для организации логической связи объектов. Сочетание универсального способа идентификации с представлением внутреннего содержимого объекта данных как кортежа контейнеров, позволяет унифицированно хранить в объектной базе данных как собственно данные, так и управляющие приложением субъекты модели данных, в равной степени обеспечивая для них соблюдение транзакционной и "состоятельной" целостности. При этом, в пределах одной физической базы данных может существовать произвольное множество полностью изолированных логических баз данных.
Технология трехмерной визуализации метаданных обеспечивает, по сравнению с "плоскими" методами визуализации UML, качественно новый уровень наглядности восприятия взаимодействующих субъектов, образующих модель предметной области, и в том числе за счет использования средств анимации и естественной навигации. При этом отображаемые в пространстве объемные фигуры являются экземплярами интерфейсных представлений сущностей и отношений модели приложений, что позволяет использовать методы технологии сущность-представление для непосредственно конструирования модели приложения.
Технология визуальных примитивов позволяет, не прибегая к программированию, простым созданием декларативных экземпляров, производных от всего четырех простых визуальных компонент, реализовать сценарные формы произвольного уровня сложности, включая интерактивные графики и диаграммы. При этом сильно упрощается процесс администрирования содержимого форм: управление координатными свойствами унифицировано, а для управления всеми остальными свойствами своего экземпляра каждый примитив предоставляет простой и наглядный пиктографический диалог.
Технология web-отображения позволяет "на лету" конвертировать любую сценарную форму визуального интерфейса, созданную по технологии сущность-представление, в интерактивную html-страницу с точным сохранением ее внешнего вида и компоновки при отображении в любом существующем WEB-браузере на любом десктопном или мобильном устройстве.
Совокупность перечисленных технологий, реализованных в вычислительной среде Visual Data, позволяет создавать прикладные программы произвольной функциональной сложности без написания программных кодов. Исключение цикла кодирование-компиляция-отладка обеспечивает многократный рост общей производительности процесса разработки приложений, в сочетании с высокой степенью алгоритмической надежности их исполнения.
Область применения
Платформа предназначена для создания самых различных приложений, WEB-сервисов и сайтов, и применима для всех задач, традиционно решаемых с использованием СУБД. К таким задачам можно отнести все предметные области, которые можно рассматривать как систему взаимодействующих значений, обладающую состояниями. С помощью платформы нельзя реализовать отдельный алгоритм - она предназначена для автоматизации предметной области целиком. Также, с помощью платформы нельзя реализовать игру или драйвер устройства.
Платформа Visual Data версия 3.0
В функциональный состав версии 3 входят:
- Файловое хранилище с автоматическим восстановлением после аппаратного сбоя;
- Система управления объектной базой данных с интерпретатором модели данных;
- Подсистема управления интерфейсными (сценарными) ресурсами;
- Трехмерный визуальный конструктор мета-модели бизнес-логики приложения;
- Визуальный конструктор экранных, печатных, и файловых ( в том числе XML) форм;
- Библиотека визуальных компонент и подсистема экранной визуализации данных;
- Масштабируемый WEB-сервер с конвертером экранных форм в html;
- Менеджер управления печатными формами;
- Отдельная клиент-серверная утилита удаленного администрирования.
Специфичной особенностью версии 3.0 является интеграция WEB-серверных функций в клиентскую часть платформы. Модуль клиента можно использовать не только как средство удаленного дизайна прикладной программы или десктопный браузер сценария, но и как масштабируемый прокси-сервер, обслуживающий множество клиентских подключений, осуществляемых через любой известный Internet-браузер. При этом подсистема экранной визуализации клиента динамически конвертирует экранные формы сценария в html-образы, которые в браузере выглядят абсолютно идентично десктопным. В таком качестве платформа версии 3.0 способна заменить собой связки типа Apache+MySQL+PHP, при этом полностью стирая границу между обычным и web-программированием.
Платформа версии 3 характеризуется многоуровневой вычислительной моделью, используя:
- Интерпретатор объектно-атрибутных зависимостей, декларированных в модели данных, (исполняется на уровне базы данных и несет основную вычислительную нагрузку);
- Примитивные сценарные вычислители (уровень форм интерфейса);
- Внутренний скриптовый язык управления уровнем источников данных;
- Вычислительную среду Python (интеграция на всех уровнях).
Общая архитектура платформы
Редакция и исполнение интерфейсных ресурсов