Перейти к содержанию

Статья для предыдущей поддерживаемой версии ПО — 4.7!

Текущая рекомендованная версия — Comindware Platform 5.0. См. документацию к версии 5.0.

Low-code и графовая БД

Содержание

  1. Что такое настоящий Low-code
  2. Фундамент настоящего Low-code (Графовая БД)
  3. Онтологии
  4. Заключение

 

Что такое настоящий Low-code

Low-code платформы — системы с минимумом кодирования и максимумом визуальной разработки силами бизнес-аналитиков и людей бизнеса (“гражданских”).

Элементы Low-code сейчас встречаются во многих программах: никого не удивляет возможность создать форму в визуальном редакторе, настроить под себя интерфейс, перетаскивая мышкой его элементы, задать настройки в визуальном «мастере» и т.п.

Но когда Low-code нужен не как локальная «удобняшка», а как идеология системы и подход к функционированию бизнеса, возникают совсем особенные требования к его реализации. Требуется:

  1. Тотальность : настоящий Low-code позволяет менять всё, что может потребоваться изменить — администратора или программиста нужно звать только в исключительных случаях.
  2. Задание структур и отношений : настоящий Low-code не сводится к правке «объектов данных», он умеет создавать структуры, не просто агрегировать по связям, но задавать логику связности по разным отношениям.
  3. Задание функционала : настоящий Low-code позволяет задать поведение — вычисления, правила, условия и т.п. – без программирования.
  4. Интеллектуальность : настоящий Low-code должен уметь исходить из контекста, динамически формировать представления и выбирать функционал обработки.
  5. Адаптивность : настоящий Low-code обеспечивает возможность задания неполной и противоречивой информации, а также поддерживает сосуществование и согласование нескольких вариантов и версий одного и того же смысла.

Здесь уже становится понятно, что реализация концепции Low-code как идеологии системы неминуемо требует соответствующего «фундамента».

 

Фундамент настоящего Low-code

Графовая база данных (БД)

Традиционно в основе большинства ИТ-продуктов и сервисов (в том числе BPMS) лежат самые надёжные, устойчивые, тщательно задокументированные и наиболее привычные программистам реляционные базы данных. Они опираются на жёстко заданные таблицы, в которых хранятся все данные, используемые в ИТ-системе. Таким образом, реляционные БД прекрасно подходят для задач учёта: случаев, когда в системе предполагается работа с простыми данными фиксированной структуры. Именно эта их особенность идёт вразрез с основными требованиями к Low-code платформам: тотальность, интеллектуальность, адаптивность, …

Настоящий Low-code возможен только на одной из графовых БД, которые предлагают более естественное представление данных, основанное на той же логике, которой мы пользуемся в реальной жизни, и подходят для создания действительно гибких и эффективно работающих приложений.

Для наглядности сравним функциональность реляционных и графовых баз данных для концепции Low-code:

Реляционная БД Графовая БД
Основана на  реляционной алгебре

Основана на стандартах W3C:

RDF , OWL N-triples

Добавление атрибута требует реконфигурирования БД Реконфигурирование БД не требуется – мгновенный перенос приложения из разработки в рабочую среду
API разрабатываются программистом API генерируется автоматически согласно онтологии, с учетом определенных в ней ограничений доступа
Оптимальна в случае преобразования бизнес-логики в низкоуровневые операции с данными посредством кода, разработанного программистом Оптимальна в случае преобразования бизнес-логики в операции с данными через онтологию, заданную бизнес-аналитиком средствами платформы
Запросы вида select * from table
  • заданные свойства заданного объекта
Запросы вида select attribute from * подходит для реализации социальной функциональности, включая возможность:
  • добавлять комментарии и задачи к любому объекту (документ, клиент, ресурс, …)
  • давать коллегам ссылки на заданные объекты

Использование графовой БД является обязательным, но не единственным, залогом успешной реализации ключевых «фишек» Low-code.

Мы в Comindware изначально задумали  Comindware Business Application Platform под максимальное соответствие Low-code концепции и для успешной реализации этой концепции разработали собственную технологию, которая опирается на графовую БД и методы подробной формализации широкой области знаний с помощью концептуальных схем – онтологий.

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

 

Онтологии 

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

С помощью онтологических описаний удаётся преодолеть фундаментальный недостаток традиционных методик программирования, ориентированных на «языки программирования». Само понятие «языка» предполагает некоторый способ концептуализации, видения мира. Беда языков программирования в том, что они ориентированы на технические, компьютерные концепты и методы – реалии мира приходится выражать через них (собственно, в этом и состоит деятельность программиста).

Переложение реалий мира через программный код имеет массу принципиальных недостатков:

  • субъективно: реализации одной и той же задачи разными программистами будут совершенно непохожи;
  • неявно: код программы никак не выражает суть задачи;
  • требует смеси разных языков: один компьютерный язык описывает вычисления, другой – хранение, третий – визуализацию и т.д.;
  • запредельно трудоёмко: поскольку ИТ-системы жизненно необходимы, все просто смирились с тем, что для них неприменимы финансовые критерии «прибыльности», «возврата инвестиций» и т.п.

Формализмы онтологий позволяют ввести некий промежуточный слой абстракций между реалиями жизни и программированием. Это целиком меняет саму идеологию построения и использования информационных систем – появляется возможность выработки «промежуточных» концептов, объединяющих бизнес-понятия и программную реализацию.

 

Заключение

Итак, настоящая Low-code платформа должна иметь:

  1. На поверхности — пользовательские инструменты для настройки и конфигурирования системы, не требующие помощи ИТ-специалиста.
  2. «Под капотом»:
    1. графовую базу данных, которая обеспечит возможность эффективной обработки разнообразных объектов и динамичных связей между объектам с учётом меняющихся требований бизнеса.
    2. онтологические модели, которые помогают проектировать и реализовывать прикладные системы силами людей бизнеса.

С ростом популярности Low-code концепции BPM-вендоры по возможности расширяют функциональность своих продуктов и дают “гражданским” возможность что-то делать самостоятельно, без привлечения ИТ-специалистов. Но зачастую эти обновления поверхностны.

Comindware Business Application Platform  изначально создавалась на основе графовой БД и аппарата формальных онтологий, чтобы максимально полно соответствовать требованиям Low-code концепции. Используемая БД была специально разработана инженерами Comindware для обеспечения максимальной гибкости в условиях цифровизации процессов, управления кейсами/поручениями и социального взаимодействия.