Аннотация проекта
Проект
Мы хотим вывести на мировой рынок новое средство производства прикладных программ и предложить мировому сообществу разработчиков принципиально новую парадигму программирования, новый язык программирования, и соответствующую среду разработки — платформу Visual Data, включающую в себя все необходимое для быстрого создания, развертывания и надежной эксплуатации приложений.
Аналоги и конкуренты
Многочисленные средства быстрой разработки программ RAD (Rapid Application Development) подразделяются на две большие категории: Low-Code платформы, и No-Code платформы. Предлагаемое нам решение относится к No-Code, что подразумевает, что в среде Visual Data прикладные программы создаются исключительно методами визуального конструирования, без написания программных кодов.
В приведенном по данной ссылке обзоре подробно рассмотрено более 100 таких платформ, и список продолжает непрерывно пополнятся. Но основная ценность данного обзора заключается в том, что он содержит интегральный анализ преимуществ и недостатков всех перечисленных платформ, обобщая результаты анализа на технологию No-Code в целом.
Не прибегая к цитированию обзора, мы лишь хотим подчеркнуть фундаментальные отличия предлагаемого нами решения от всех конкурирующих No-Code продуктов, перечисленных в обзоре.
Мы принципиально отличаемся:
— язык и парадигма
Ни для компьютера, ни для человека, ни для целевой предметной области автоматизации, ни один из существующих языков программирования не является естественным. Этот простой факт объясняет как все многообразие языков, парадигм, и инструментов программирования, так и всю нетривиальность их использования. Вместе с тем, природа в самых различных своих проявлениях демонстрирует нам универсальный способ решения задач путем простого комбинирования экземпляров примитивных базисных элементов.
Если для описания сколь угодно обширной предметной области достаточно экземпляров всего четырех элементов: сущности-класса, ее отдельной характеристики-атрибута, отношения классов и связи атрибутов; то следует признать, что эти элементы и являются единицами языка, а ER-модель данных, образованная их экземплярами — программой. И этому есть простое объяснение: логическая модель приложения, которая описывает внутреннее устройство целевой предметной области и взаимодействие всех ее частей, в соответствующей вычислительной среде способна обеспечить получение такого же результата, которого мы добиваемся обычными технологиями с использованием различных языков программирования, их сред исполнения и фреймворков. А название парадигмы — "Программирование в терминах предметной области" наилучшим образом отражает ее суть: мы создаем модель приложения, обладающую свойствами программы, используя для этого смысловые понятия сущностей и связей предметной области в их первозданном виде.
— математический аппарат
Математическую основу всех современных СУБД, как подраздел теории множеств, заложил Э.Ф.Кодд еще в 70-х годах прошлого века. На обиходном языке краткий итог его реляционной теории можно изложить так: "Любую предметную область можно описать системой связанных таблиц". Связь двух таблиц обеспечивается совпадением значений в специальных колонках в каждой из таблиц. При этом одна из колонок содержит значения, которые используются в качестве первичного ключа, позволяющего идентифицировать конкретную запись в таблице.
Как-то так получилось, что за прошедшее время никто не обратил внимание, что аналогичным способом можно не только описать, но и реализовать объективно существующую причинно-следственную связь значений в колонках. Для этого в метаданные, описывающие таблицу, необходимо добавить еще один слой деклараций, которые попарно свяжут зависимые колонки таблицы. Побочным следствием такого добавления автоматически становится трансформация первичного и вторичного ключей в значения прямой и обратной ссылок, которые обеспечивают более быструю связь таблиц, и придают этой связи конкретный функциональный характер. Более подробно ...
— встроенная база данных
В попытке удовлетворить всех желающих, современные реляционные и NoSQL СУБД создавались независимо, как "вещь в себе", предоставляя для доступа к своему содержимому некоторый функционально-декларативный API. Соответственно, несть числа вариантам реализации ORM (Object-relational mapping), которые пытаются "подружить" с той или иной СУБД ту или иную платформу. И каждая такая реализация характеризуется собственным уникальным набором проблем и ограничений.
В вычислительной среде Visual Data все действующие субъекты — мета-данные (модель данных + формы сценария), а также собственно данные, имеют универсальную форму объекта данных. Что закономерно приводит к мысли использовать для их хранения и управления ими простые и производительные средства объектной СУБД. Именно поэтому, в отличие от всех прочих, Visual Data изначально проектировалась как платформа на основе собственной встроенной СУБД.
— бесконечная гибкость
Всего одна, но непреодолимая проблема, сильно ограничивающая их применимость, характерна для всех без исключения существующих No-Code (да и Low-Code) платформ. Это их ограниченная функциональность.
Между тем, бесконечная гибкость и неограниченная функциональная сложность прикладной программы достижимы, если следовать одному фундаментальному принципу природы. Всё наблюдаемое нами бесконечное разнообразие окружающего нас мира в самых различных его проявлениях получено одним единственным способом: бесконечным комбинированием экземпляров базисных сущностей, набор которых минимален с точки зрения их количества и способов взаимодействия. Платформа Visual Data следует этому принципу достаточно строго:
- комбинацией экземпляров всего четырех (!) базисных сущностей мета-модели приложения можно реализовать любую бизнес-логику прикладной задачи.
- комбинацией экземпляров всего четырех (!) визуальных примитивов можно реализовать бесконечно сложный визуальный интерфейс программы.
— всеядность
Платформа делает прикладную программу равнодоступной с любого устройства, настольного или мобильного, независимо от используемой устройством операционной системы, а также размеров (разрешения) экрана устройства. Одновременно при этом, прикладная программа доступна через любой веб-браузер, что позволяет использовать ее как обычное веб-приложение. Кроме этого, клиентская и серверная части платформы, скомпилированные как под Windows, так и под Linux, могут одновременно исполняться даже под разными операционными системами. Подробнее …
— скорость разработки
Именно эта характеристика дает право на жизнь всему направлению RAD, но платформа усиливает ее еще больше. Конечно, основной вклад вносит полное и точное соответствие используемого понятийного аппарата модели данных целевой предметной области автоматизации. Но не меньший прирост дают и чисто технические приемы: создание новых форм интерфейса копированием и модификацией уже существующих, одномоментный переход от исполнения к отладке и обратно, невозможность допустить ошибку, автоматическое формирование структуры базы данных и многое другое. Подробнее ...
— независимость и надежность
Одним из базовых принципов, лежащих в основе проектирования и разработки платформы Visual Data, был принцип независимости. Независимости от операционной системы. Независимости модели и сценария приложения от программной реализации самой платформы. Независимость от сторонней СУБД. И полная независимость от чьих-либо сторонних библиотек и фреймворков — не только во имя чистоты лицензирования, но и для достижения высокого уровня надежности собственно платформы. Высокий уровень надежности прикладной программы в среде платформы Visual Data, определяется тремя факторами: алгоритмической надежностью, надежностью исполнения, и способностью к авто-восстановлению. Подробнее ...
— наглядность и открытость
Одним их преимуществ No-Code платформ по праву считается наглядность восприятия бизнес-логики приложения. И это преимущество надо использовать в полной мере не только при командной разработке функционально сложного продукта. Не меньшее значение приобретает возможность открыть для всех желающих модель приложения Бухгалтерии или ERP, например, с тем, чтобы развивать ее силами сообщества независимых разработчиков и внедренцев. И на эту цель работает не только полная независимость модели и сценария приложения от кода платформы, но и встроенные инструменты и механизмы многоуровневого конфигурирования модели и сценария приложения в привязке к авторизации пользователя.
Продукт
Все перечисленные выше отличия появились благодаря разработке новых технологий, программная реализация которых образует монолитную компактную платформу, характеризующуюся функциональным единством и минимальными требованиями к аппаратным средствам.
Платформа Visual Data полностью самодостаточна, независима ни от операционной системы, ни от сторонних программных продуктов, и включает в себя не только собственную базу данных, но и функционально полный комплект инструментальных программных средств для быстрого создания и надежной эксплуатации приложений, и легко может быть развернута в нужной конфигурации в самых различных средах исполнения.
Рынок
Платформа Visual Data адресована сразу нескольким смежным секторам мирового IT-рынка
- систем управления базами данных (СУБД);
- средств разработки прикладных программ;
- "облачных" систем предоставления услуг;
с совокупным годовым объемом более 100 млрд USD и темпом роста более 10% в год.
На этом рынке стабильно наблюдается дефицит квалифицированных кадров, и это при том, что общая численность программистов, занятых в процессе разработки — более 5 миллионов человек (из них четверть миллиона - в России). Все эти разработчики, а также компании, в которых они работают, — наша целевая аудитория, которой мы можем предложить продукт с поистине уникальными характеристиками и преимуществами.
Конкурентные преимущества
- Недостижимая другими современными технологиями эффективность процесса создания прикладных программ, в сочетании с:
- высокой алгоритмической и функциональной надежностью;
- визуальной наглядностью конструирования и исполнения;
- отсутствием специальных требований к квалификации разработчика (просто — как Excel);
- Многократное снижение издержек производства и сопровождения прикладного ПО;
- Уникальное сочетание компактности, функциональной полноты и работоспособности, что называется - "из коробки";
- Единство формы (интерфейса программы) и содержания (бизнес-логики программы);
- Независимость приложения от изменений и улучшений, вносимых в код платформы;
- Независимость платформы от национальных языковых особенностей (не требует локализации);
- Независимость прикладной программы не только от аппаратной среды и используемой операционной системы (кросс-платформенность), но и доступность программы с любого стационарного или мобильного устройства (в сочетании с независимостью от изменений кода платформы - кросс-платформенность в кубе);
- Низкий порог входа на рынок новым игрокам;
- Возможность использования публичной модели Open Source (!) для создания прикладных программ и веб-сервисов;
Основной барьер, препятствующий массовому появлению новых прикладных программ — очень высокая стоимость их разработки. Платформа Visual Data позволяет легко преодолеть этот барьер.
Маркетинг
Целевая аудитория — профессиональные разработчики, всегда пристально следят за появлением технологических новшеств, поэтому самый эффективный рекламный инструмент — статьи и комментарии на различных форумах программистов, в специализированных ресурсах (Habr, VC, Reddit,.. ), в профильных группах в соцсетях. А также учебный канал на YouTube.
В целях скорейшей популяризации, собственно платформа Visual Data, и готовые базовые конфигурации типовых прикладных программ (таких как ERP, CRM, etc), созданных в ее среде, планируется распространять бесплатно. Эти продукты будут доступны для свободного скачивания с сайта компании, или ее партнеров. Тем самым разработчик прикладного программного обеспечения получает возможность свободного использования платформы для ускоренного производства собственных программных продуктов, и приобретает у компании клиентские лицензии только при поставке и внедрении своих программ конечному пользователю.
Монетизация
Важной особенностью платформы является возможность авторизации каждого конечного пользователя прикладной программы, созданной в среде платформы. Соответственно, предметом продаж являются клиентские лицензии на право пользования за каждое отдельное авторизованное подключение, а также на услуги по технической поддержке.
Лицензирование не препятствует популяризации и свободному распространению платформы. Команда проекта придерживается принципа справедливости в следующем его понимании: копия платформы предоставляется в пользование любому желающему абсолютно бесплатно, ровно до тех пор, пока не используется в целях извлечения коммерческой выгоды.
Критерием коммерческой эксплуатации копии платформы является некоторый порог в пользовательской нагрузке на прикладную программу. Факт коммерческого использования и требуемый объем лицензирования платформа устанавливает автоматически.
План реализации
План реализации состоит из отдельных шагов, большая часть которых реализуется параллельно:
- доработать платформу версии 3.0 до требуемого уровня функциональной полноты и добиться высокой надежности исполнения;
- завершить процесс получения патентов по поданным ранее патентным заявкам и подготовить новые;
- создать в среде версии 3.0 базовые конфигурации как минимум трех приложений: ERP, CRM, Планирование работ, разместить их на отдельной площадке с публичным доступом;
- автоматизировать выдачу лицензий, организовать онлайн прием платежей, автоматизировать учет лицензирования и оплаты;
- опубликовать рабочие сборки платформы и типовых приложений, а также демонстрационные материалы и документацию на сайте компании;
- провести рекламную кампанию в сообществах разработчиков на форумах и в социальных сетях, а также в профильных интернет изданиях;
- открыть компанию в юрисдикции EC (Чехия, Финляндия) - владельца прав на продукт и интеллектуальную собственность;
- начать формирование партнерской сети в ключевых регионах мира (Китай, Индия, США, EC).
Интеллектуальная собственность
Интеллектуальная собственность защищается в Китае и США. Поданы и зарегистрированы следующие заявки:
- System and method for management of functionally linked data (US,CN,RU);
- Method and system for visual data management (US);
С первичными заявками PCT можно ознакомиться по этой ссылке.
История
Комплекс технологий Visual Data разрабатывается с 2004 года для удовлетворения собственных потребностей в простом, эффективном и независимом техническом средстве, позволяющем быстро создавать функционально сложное программное обеспечение.
С 2008 года функционирует стабильная версия 2.0 платформы. На раннем сайте компании размещена подборка прикладных программ, созданных в ее вычислительной среде для подтверждения правильности и качества выбранных технологических решений и характеристик платформы. Сама платформа Visual Data и прикладные решения созданы командой, состоящей всего из одного постановщика и двух программистов.
Для вывода на рынок создана версия 3.0, в настоящий момент работоспособная, но требующая доводки до уровня промышленного изделия. Живой пример создания и эксплуатации примитивного приложения в версии 3.0 демонстрируется ниже: