Low-code и графовая БД
Содержание
Что такое настоящий Low-code
Low-code платформы — системы с минимумом кодирования и максимумом визуальной разработки силами бизнес-аналитиков и людей бизнеса (“гражданских”).
Элементы Low-code сейчас встречаются во многих программах: никого не удивляет возможность создать форму в визуальном редакторе, настроить под себя интерфейс, перетаскивая мышкой его элементы, задать настройки в визуальном «мастере» и т.п.
Но когда Low-code нужен не как локальная «удобняшка», а как идеология системы и подход к функционированию бизнеса, возникают совсем особенные требования к его реализации. Требуется:
- Тотальность : настоящий Low-code позволяет менять всё, что может потребоваться изменить — администратора или программиста нужно звать только в исключительных случаях.
- Задание структур и отношений : настоящий Low-code не сводится к правке «объектов данных», он умеет создавать структуры, не просто агрегировать по связям, но задавать логику связности по разным отношениям.
- Задание функционала : настоящий Low-code позволяет задать поведение — вычисления, правила, условия и т.п. – без программирования.
- Интеллектуальность : настоящий Low-code должен уметь исходить из контекста, динамически формировать представления и выбирать функционал обработки.
- Адаптивность : настоящий Low-code обеспечивает возможность задания неполной и противоречивой информации, а также поддерживает сосуществование и согласование нескольких вариантов и версий одного и того же смысла.
Здесь уже становится понятно, что реализация концепции Low-code как идеологии системы неминуемо требует соответствующего «фундамента».
Фундамент настоящего Low-code
Графовая база данных (БД)
Традиционно в основе большинства ИТ-продуктов и сервисов (в том числе BPMS) лежат самые надёжные, устойчивые, тщательно задокументированные и наиболее привычные программистам реляционные базы данных. Они опираются на жёстко заданные таблицы, в которых хранятся все данные, используемые в ИТ-системе. Таким образом, реляционные БД прекрасно подходят для задач учёта: случаев, когда в системе предполагается работа с простыми данными фиксированной структуры. Именно эта их особенность идёт вразрез с основными требованиями к Low-code платформам: тотальность, интеллектуальность, адаптивность, …
Настоящий Low-code возможен только на одной из графовых БД, которые предлагают более естественное представление данных, основанное на той же логике, которой мы пользуемся в реальной жизни, и подходят для создания действительно гибких и эффективно работающих приложений.
Для наглядности сравним функциональность реляционных и графовых баз данных для концепции Low-code:
Реляционная БД | Графовая БД |
---|---|
Основана на реляционной алгебре |
Основана на стандартах W3C: |
Добавление атрибута требует реконфигурирования БД | Реконфигурирование БД не требуется – мгновенный перенос приложения из разработки в рабочую среду |
API разрабатываются программистом | API генерируется автоматически согласно онтологии, с учетом определенных в ней ограничений доступа |
Оптимальна в случае преобразования бизнес-логики в низкоуровневые операции с данными посредством кода, разработанного программистом | Оптимальна в случае преобразования бизнес-логики в операции с данными через онтологию, заданную бизнес-аналитиком средствами платформы |
Запросы вида select * from table
|
Запросы вида select attribute from * подходит для реализации социальной функциональности, включая возможность:
|
Использование графовой БД является обязательным, но не единственным, залогом успешной реализации ключевых «фишек» Low-code.
Мы в Comindware изначально задумали Comindware Platform под максимальное соответствие Low-code концепции и для успешной реализации этой концепции разработали собственную технологию, которая опирается на графовую БД и методы подробной формализации широкой области знаний с помощью концептуальных схем – онтологий.
Разработанная платформа универсальна, применяется как коробочный продукт в самых разных отраслях и задачах, а процесс разработки прикладной системы сводится к конфигурированию платформы.
Онтологии
Мы используем фундаментальное свойство графов: в виде графа можно описать что угодно – данные, формулу, визуализацию, процесс выполнения. Онтология – это тоже граф, который задаёт способ интерпретации содержимого другого графа. Поэтому онтологии являются универсальным языком, причём языком формальным, строгим – и достаточно наглядным (приноровившись, их можно писать вручную).
С помощью онтологических описаний удаётся преодолеть фундаментальный недостаток традиционных методик программирования, ориентированных на «языки программирования». Само понятие «языка» предполагает некоторый способ концептуализации, видения мира. Беда языков программирования в том, что они ориентированы на технические, компьютерные концепты и методы – реалии мира приходится выражать через них (собственно, в этом и состоит деятельность программиста).
Переложение реалий мира через программный код имеет массу принципиальных недостатков:
- субъективно: реализации одной и той же задачи разными программистами будут совершенно непохожи;
- неявно: код программы никак не выражает суть задачи;
- требует смеси разных языков: один компьютерный язык описывает вычисления, другой – хранение, третий – визуализацию и т.д.;
- запредельно трудоёмко: поскольку ИТ-системы жизненно необходимы, все просто смирились с тем, что для них неприменимы финансовые критерии «прибыльности», «возврата инвестиций» и т.п.
Формализмы онтологий позволяют ввести некий промежуточный слой абстракций между реалиями жизни и программированием. Это целиком меняет саму идеологию построения и использования информационных систем – появляется возможность выработки «промежуточных» концептов, объединяющих бизнес-понятия и программную реализацию.
Заключение
Итак, настоящая Low-code платформа должна иметь:
- На поверхности — пользовательские инструменты для настройки и конфигурирования системы, не требующие помощи ИТ-специалиста.
- «Под капотом»:
- графовую базу данных, которая обеспечит возможность эффективной обработки разнообразных объектов и динамичных связей между объектам с учётом меняющихся требований бизнеса.
- онтологические модели, которые помогают проектировать и реализовывать прикладные системы силами людей бизнеса.
С ростом популярности Low-code концепции BPM-вендоры по возможности расширяют функциональность своих продуктов и дают “гражданским” возможность что-то делать самостоятельно, без привлечения ИТ-специалистов. Но зачастую эти обновления поверхностны.
Comindware Platform изначально создавалась на основе графовой БД и аппарата формальных онтологий, чтобы максимально полно соответствовать требованиям Low-code концепции. Используемая БД была специально разработана инженерами Comindware для обеспечения максимальной гибкости в условиях цифровизации процессов, управления кейсами/поручениями и социального взаимодействия.
Эта статья была полезна 1 чел.