Основы BPM и BPMS
Процессный подход к управлению предприятием включает:- методологию BPM (Business Process Management) с ключевым элементом в виде графических нотации.
- технологию BPM — BPMS (Business Process Management Suite) — интегрированная система, включающая редактор процессных диаграмм, «движок» для их исполнения, а также инструменты для моделирования и реализации объектной («сущностной») стороны бизнеса, областей компетенции и ответственности, точек принятия бизнес-решений и много другого.
Ответом на этот вызов стала трансформация BPMS в 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 * подходит для реализации социальной функциональности, включая возможность:
|
Мы в Comindware изначально задумали Comindware Business Application Platform под максимальное соответствие low-code концепции и для успешной реализации этой концепции разработали собственную технологию, которая опирается на графовую БД и попытку подробной формализации широкой области знаний с помощью концептуальных схем — онтологий.
Разработанная платформа универсальна, применяется как коробочный продукт в самых разных отраслях и задачах, а процесс разработки прикладной системы сводится к конфигурированию платформы. Онтологии Мы используем фундаментальное свойство графов: в виде графа можно описать что угодно – данные, формулу, визуализацию, процесс выполнения. Онтология – это тоже граф, который задаёт способ интерпретации содержимого другого графа. Поэтому онтологии являются универсальным языком, причём языком формальным, строгим – и достаточно наглядным (приноровившись, их можно писать вручную).
С помощью онтологических описаний удаётся преодолеть фундаментальный недостаток традиционных методик программирования, ориентированных на «языки программирования». Само понятие «языка» предполагает некоторый способ концептуализации, видения мира. Беда языков программирования в том, что они ориентированы на технические, компьютерные концепты и методы – реалии мира приходится выражать через них (собственно, в этом и состоит деятельность программиста).
Переложение реалий мира через программный код имеет массу принципиальных недостатков:
- субъективно: реализации одной и той же задачи разными программистами будут совершенно непохожи;
- неявно: код программы никак не выражает суть задачи;
- требует смеси разных языков: один компьютерный язык описывает вычисления, другой – хранение, третий – визуализацию и т.д.;
- запредельно трудоёмко: поскольку ИТ-системы жизненно необходимы, все просто смирились с тем, что для них неприменимы финансовые критерии «прибыльности», «возврата инвестиций» и т.п..
Заключение
Итак, настоящая low-code платформа должна иметь:- На поверхности — пользовательские инструменты для настройки и конфигурирования системы, не требующие помощи ИТ-специалиста.
- “Под капотом”:
- графовую базу данных, которая обеспечит возможность эффективной обработки разнообразных объектов и динамичных связей между объектам с учётом меняющихся требований бизнеса.
- онтологические модели, которые помогают проектировать и реализовывать прикладные системы силами людей бизнеса.
Comindware Business Application Platform изначально создавалась на основе графовой БД и аппарата формальных онтологий, чтобы максимально полно соответствовать требованиям low-code концепции. Используемая БД была специально разработана инженерами Comindware для обеспечения максимальной гибкости в условиях цифровизации процессов, управления кейсами/поручениями и социального взаимодействия.