Задача: показать простейший пример исполняемого BPMN (Business Process Model and Notation — нотация и модель бизнес-процессов), т.е.
а) нарисовали схему workflow (поток задач процесса) и
б) ее исполнили (автоматизировали задачу).
Пример Hello Calculator (Hello World) показывает реализацию примитивного калькулятора как исполняемого BPMN на WFE (workflow engine, WF- engine) «Runa WFE», точнее на RunaWFE_Cloud_Lite.
Ниже показано как просто и быстро («быстрая разработка») создать программу по технологии «визуальная разработка приложения» на BPMN \ WFE \ WfMS. Для собственноручного «программирования без программирования» программы «Простой калькулятор» (в концепции «управление задачами», т.е. с демонстрацией нескольких шагов) – вам понадобится только
а) браузер с интернет (все в облаке, Saas) и б) навык уверенной работы с манипулятором «типа мышь». Конечно типовое использование BPMN WFE — не расчетные задачи и нагруженные транзакционные системы, а управление задачами типа обработки заявок \ заказов (service desk и т.п.), кредитный конвейер и подобные «эстафеты».
1. Hello Calculator
Требования: Создать ПО калькулятора на WFE (free). Сценарий: пользователь вводит первое число (Digit1), второе число (Digit2) и операцию (функцию, Function) между ними (для демонстрации достаточно суммы и разности) и получает результат операции.
Рассмотрим облачную версию, хотя это можно повторить в on-premise Downloads runawfe.org RunaWFE Free Workflow System (BPMS) Version 4.5.0 (инсталляция, хотя пару лет назад были доступны для скачивания и portable и docker – ставил, работало) или runawfe.ru.
1.1 Пошаговый сценарий Hello Calculator на Runa WFE
0 Пролистали Инструкцию (это не обязательно)
1 Зашли на https://runawfe.ru/RunaWFE_Cloud_Lite
Далее «Начать работу», зарегистрировались (почта, компания – в примере «bpm», пароль) и зашли в систему как Administrator.
2 Слева в меню выбрали «Редактор процессов»
Нажать «Создать проект» и ввести имя проекта: HelloCalculator. Нажать «Создать процесс» и ввести имя процесса: HelloCalculator.
3 Перетащили фигуры из BPMN-трафарета: Начало и конец процесса, первый user task (ввод первого и второго числа и типа операции) и второй – просмотр результата, два шлюза exclusive Gateway, два script task (вычислителя суммы и разности). Далее их соединили стрелками, с зажимом «правой кнопки мыши» (ПКМ), см. пункт 12 Инструкции. С первого раза будут сложности – используем кнопку «Отмена» (внизу трафарета фигур BPMN).
4 При вводе названий task (задача, операция) указываем для user task роль «role_1». Ввод роли через ПКМ «Роли \ Создать роль», см. рис:
5 Должна получиться схема процесса HelloCalculator:
6 Создаем формы ввода и вывода.
Выбрали «Ввести данные (числа и операцию)», ПКМ «Создать Стандартную форму». Задали первую цифру (Digit1):
Потом повторим для второй цифры (Digit2) и операции (текстовое значение, вводится символ «+» или «-«). Должно получиться:
Действия интуитивно понятны и не должны вызвать затруднений: ввести два числа (операнды) и оператор (действие, Function). Переменная Function принимает текстовые значения «+» или «–».
7 Выбрали script task Сложение, нажимаем ПКМ: Изменить сценарий. Далее добавляем переменную Result и вводим формулу сложения (Execute formula):
Аналогично со вторым script task (Вычитание).
8 Форма отображения результата вычисления (display):
8 Задали условия первого шлюза exclusive Gateway (XOR split, для второго — XOR join условий не нужно):
Какой «рукав» будет «по умолчанию» — можно не указывать.
9 Создаем нового пользователя role_1:
Вводим пароль (дважды) нового пользователя и «Применить».
10 Deploy. Кликаем в процесс «HelloCalculator», ПКМ и в меню выбираем Deploy (Deploy process to server).
В меню «Запустить процессы» проверяем наличие процесса «HelloCalculator»:
11 Выходим из учетки Administrator (в правом верхнем углу «Выйти»). Входим в систему как «role_1» (login «role_1» и пароль, который вводили на этапе 9). Меню «Запустить процессы» и запускаем процесс HelloCalculator.
Идем в «Список задач» и видим, что для role_1 появилась задача, ее выполняем, далее вводим первое и второе число и операцию «+» или «-».
Далее к нам (role_1) возвращается задача «Показать результат» (см. «Список задач»), ее выполняем и «проверяем в столбик» результат вычисления нашего приложения убеждаемся, что «Работает».
Проверка формата вводимых цифр позволит ввести только целые числа, но вот с типом операции контроля нет, можно написать обработчик, но для первого знакомства с WFE – это излишне.
12 Монитор экземпляра
В «Запущенные процессы» наблюдаем параметры экземпляра процесса:
13 Можно повторно запускать процесс HelloCalculator.
В итоге мы через отрисовку схемы процесса, построение форм ввода и вывода информации и задание вычислительных функций получили приложение класса «no-code BPMN».
Повторить аналогичный HelloCalculator также просто на Camunda Cloud не получится, т.к. там в отличие от Runa WFE «убогий» free тариф. При первичной регистрации Вам дадут Starter plan бесплатно только как 30-day trial.
Какой еще Free WFE Cloud (BPMN — engine) имеют условия, схожие с Runa WFE?
1.2 Особенности Runa WFE
Облачный редактор процессов RunaWFE не обладает полной функциональностью BPMN. Решение проблемы пошагово показано в Приложении 1.
Runa WFE поддерживает два языка описания процессов: BPMN и jPDL. У BPMN собственная графическая нотация, а для jPDL традиционно в качестве нотации применялась UML AD. В настоящее время BPMN стала самой популярной спецификацией для исполняемых бизнес-процессов, однако jPDL и UML AD тоже могут найти применение. Выбрать язык можно при создании процесса:
15 лет назад встречал исполняемую нотацию («барабанная дробь») на базе IDEF (EGAR для банков).
Runa WFE и ее автор присутствуют на хабре, его легко можно найти и задать вопросы. Если кто-то имеет работы с Runa WFE – поделитесь впечатлениями.
2. WFE vs BPM (ARIS)
Runa WFE – примечательна тем, что это единственная известная мне отечественная система с точным токованием своего класса, причем вынесенным в название системы (WFE). Если кратко, то ELMA, Runa WFE, и т.п. – это не системы (system \ suite \ software) Управления бизнес-процессами (BPM, Business Process Management), как это многие считают, включая Garther, а системы управления только workflow бизнес-процессов. Изначально возможно они и задумывались как BPM-системы, включая «BPM-системы полного цикла», и может быть когда-то такими и станут, но пока это только Workflow Management: Workflow Modeling \ Workflow Engine. Да, в этих системах «под капотом» на языках программирования или встроенными конструкторами можно программировать любую логику процесса сверх визуализируемого workflow в нотации BPMN, но это уже не BPMN.
Правильное толкование / классификация подобных (WFE) систем:
BPMN Workflow Engine (сamunda.com)
BPMN 2.0 Workflow Engine (workflowengine.io)
Workflow management system (WfMS)
List of BPMN 2.0 engines (Workflow Management Systems)
2.1 WFEsystem vs BPMsystem
Классические BPM-системы \ традиционные BPMS (ARIS и т.п.) – это про полноценное моделирование, включая EA, а указанные WFE: ELMA, Runa WFE, Camunda – это про полноценную автоматизацию «с элементами» моделирования и базового анализа workflow — части бизнес-процесса. WFE давно стали более популярными, чем классический BPM (ARIS и т.п.), но это не значит, что можно применять термин BPM в том же значении. Совсем некстати в названии WFE-систем указывать «BPM»: Visary BPM, Q.BPM, BPMSoft (bpm’online) и т.п.
Сравнивать классические BPM системы и WFE — это как сравнивать апельсины и теннисный мячик, хотя это постоянно делается уже два десятка лет, например, BizAgi vs ARIS ToolSet: Таблица 1.1 Сравнение CASE-средств
И тут также «сравнивают мягкое и теплое»: Выбор CASE инструмента для разработки процессов в BPMN.
Продукты этих систем (целевые продукты систем) принципиально разные:
— WFE (он же «BPM system / suite по Гартнеру и Ко») — это инструмент прежде всего автоматизации (автоматизации workflow). У него продукты «съедобные» (их можно исполнить, как наш Hello Calculator): программный код, исполнение экземпляров процесса (исполнение в WF Engine), реальная автоматизация, причем программисты c++, js, java и т.п. в реальных проектах все равно понадобятся, каким бы «малым кодом» он не был в понятии «low-code» / BPMN;
— «Классический BPM» (Garther: Magic Quadrant for Business Process Analysis Tools) – как инструмент полноценного моделирования процессов и архитектур. У него продукты «несъедобные» (не исполняемое, только база знаний о процессах \ системах): визуализация процесса, процессные \ архитектурные картинки (схемы), модели, включая онтологические, регламенты, и т.п., т.е. «архитектурная wiki».
Жизненный цикл разработки программы в WFE (WfMS):
а) аналитик формализует структуру процесса в голове, в табличке или в какой-либо не BPMN нотации (она для этого не особо подходит): workflow «в крупную клетку», модель данных и docflow, роли, взаимодействующие ИТ-системы и т.п.
б) аналитик отрисовывает детальный workflow в BPMN в графическом моделере WFE в нотации BPMN или подобной (это мы и проделали в примере Hello Calculator);
в) аналитик объясняет программисту что нужно добавить «руками» (обработчики, специальные UI, интеграции с другими системами), чтобы модель процесса учла особенности реальной задачи, docflow и т.п. Программист добавляет код (тем самым «обогащая» workflow до бизнес-процесса), но это нам не понадобилось (т.е. у нас «no code») ввиду тривиальности примера и наличия конструктора – обработчика («execute formula» и др.).
г) раздача ролей, Deploy (развертывание в исполняемую среду) и запуск процесса в WorkFlow engine (WFE).
Т.е. моделирование в WFE системах – это не про полноценное моделирование бизнес-процессов, а про моделирование только workflow (и то не полностью, например, без неавтоматизированной части процесса / workflow) и исполнение смоделированных workflow в «процессном движке». Несмотря на то, что в WFE системах мы можем задать в свойствах статус документа (обычно отображается в квадратных скобках), название и разные комментарии к документу – это не про полноценное моделирование потока данных и не моделирование и анализ docflow.
Что «BPMN — это не про документы и docflow» — четко и сразу говорится в «BPMN – вводных», например, в BPMN Quick Guide (раздел BPMN Clarifications):
Разъяснения BPMN
Схема BPMN не является диаграммой потока данных
Хотя объекты данных (Data Objects) теперь являются сущностями первого класса в BPMN. Не рекомендуется пытаться моделировать поток данных с помощью BPMN
Кроме docflow (в том числе, правила переходов из состояния в состояние) в полноценной системе моделирования процессов (классический BPM, типа ARIS) мы показываем (моделируем) «сущность-связь» разных объектов, иерархию, причем не только процессную и орг-структурную, бизнес-правила (UML), архитектурные решения \ взаимодействия (вкл. Enterprise Architecture). В этих системах по каждому объекту (сущности) ведется свой паспорт (карточка) объекта, по ним возможен сложный анализ: перебор всех атрибутов всех объектов определённого типа на совпадение (по фильтру) заданных условий, например, в какие процессы на вход поступают документы типа «Заявления» на типе носителя «Бумажный носитель» в состоянии «Согласовано».
Таким образом, в общем случае получается, что для получения программного продукта – рисуем схему workflow в моделере BPMN какой-либо WFE (плюс обогащаем программным кодом), а для получения полноценной модели процесса – этот же процесс повторно моделируем в Классическом BPM (ARIS -подобном).
Иногда WFE-системы позиционируют как системы ВРМ «полного циклы», как бы намекая, что это полнофункциональные системы моделирования бизнес-процессов c встроенным «процессным движком». Однако это системы моделирования (WF-моделер) только workflow для их же автоматизации (исполнение BPMN — моделей и кода к ним в WF Engine), а не полноценное моделирование бизнес-процессов в концепции «BPM 92-года в исполнении IDS Scheer».
Если же в вашем бизнес-процессе важен только workflow и нужно показать только его, то тогда – да, можно считать, что моделирование workflow — это моделирование бизнес-процессов. Часто и ARIS используется как «из пушки по воробьям», т.е. понятие «анализ бизнес-процесса» очень условное понятие (общее, не конкретное). «Полноценное моделирование» — это когда строится максимальная полная модель процесса и его ресурсов: орг-штатная структура, системы автоматизации и неавтоматизированные системы, входящие и исходящие из процесса документы (включая бумажные), их типы, свойства и т.п.
Кроме того, часто BPMN – схемы реального ПО (схемы в WFE для «прод») – аскетические (минимально достаточные), где разработчики ПО указывают только минимум и только то, что в явном виде автоматически «ляжет» в исполняемую конструкцию (код), т.е. они не преследуют цели «чтобы было понятно аналитикам» (не говоря уже – пользователям процесса).
Периодически комментирую статьи про BPMN, где его выдают за «супер-инструмент анализа», например, «белый световой меч аналитика», примерно так:
Текущий мир классических BPM — не путать их с «исполняшками» BPMN-engine \ low code (WFE)
2.2 Классификация
Совместимость между WFE системами обычно только в части самой картинки workflow, т.к. графика WFE – это только про workflow (остальные элементы бизнес-процесса не формализуются этим стандартом) и каждый моделирует и кодирует данные самостоятельно (несовместимо) «под капотом» своей WFE.
Например, если выгрузить наш Калькулятор в формате «.bpmn» (Дизайнер-студио \ ПКМ на процессе HelloCalculator и выбор в меню «Export BPMN») и загрузить в Web-based tooling for BPMN «bpmn.io», то получим:
Но это только картинка, которую мы могли бы получить через формат mxGraph (drawio), см. раздел «4 mxGraph». Реально исполняемой моделью мы не сможем обменяться между разными WFE, т.к. то, что «под капотом» WFE не стандартизовано в спецификации BPMN. Попробуйте выгрузить и запустить Hello Calculator в другой системе WFE (не получится).
Отсутствие учета исполняемой моделью docflow (не просто нарисованной на схеме пиктограммы Data Object) и скудность самого набора объектов типа «Документ» (сравни с нотацией ЕРС) подталкивает компании к расширениям типа:
Элемент IT Systems — это расширение BPMN, специфичное для SAP Signavio.
Не путать WFE с системами отрисовки в графических редакторов типа Visio, где также есть трафареты BPMN: BPMN Basic Shapes stencil.
В общем смысле – это тоже моделирование – называемое «рисовалкой», но в системах типа visio можно выделять объекты (например, через «.master» и т.п.), вести их обработку и на интеграции «visio – база данных или даже excel» строить ARIS-подобные системы (BPM-X).
В целом можно составить следующую классификацию систем «с участием BPMN»:
— А Классический BPM для полноценного моделирования процессов и архитектуры компании \ предприятия \ министерства (Enterprise Architecture), т.е. «ARIS-подобные», включая репозитарий объектов, паспорта объектов и т.п., схемы не только процессов, но и «сущность — связь» и иные графические формы формализации семантических отношений. В них BPMN – лишь как одна из нотаций и далеко не основная;
— B BPMN WFE (см. раздел 2.1 WFEsystem vs BPMsystem)
Далее подвиды:
— A1 Моделеры BPMN для «неисполняемого BPMN», например, bpmn.io. Обычно они имеют встроенный симулятор workflow, показывающий в динамике движение маркера (фишки) по маршруту.
Даже SAP предоставляет в одном моделере два разных BPMN — описательный и исполняемый BPMN:
PowerDesigner предоставляет поддержку двух вариантов BPMN 2.0.
— A2 Графические редакторы с шаблоном BPMN (visio, drawio и еще пара десятков подобных)
— B1 LCNC (low-code & no-code)
Про него уже и в не ИТ-газетах пишут: Низкий код набирает популярность
LCNC — это «сборная солянка» любых систем «быстрой разработки», где применяется хоть какой-то конструктор, причем не обязательно графический (графический моделер). Во многих случаях этот конструктор и есть «моделер BPMN» (low-code BPMN).
Есть еще деление от IBS: BPMN vs BPMS (Business Process Management Suite/System):
3. Обделенный вниманием ruOpen Source
Open Source (FOSS) – может стать основной push-технологией (локомотивом) развития отечественной ИТ-отрасли. Вместо того, чтобы субсидировать в основном только проприетарные проекты (proprietary software) бюджетные средства (гранты Сколково и прочее) должны быть перераспределены в направлении Open Source, т.к. это не только промышленный продукт класса «общенациональное достояние» (точнее мировое) – это еще и база для воспитания проектировщиков систем, и мощный трамплин для startup, например, ARIS и BPM-X – родились в стенах институтов (Universität des Saarlandes, Hochschule Kaiserslautern, FAU Friedrich-Alexander-Universität).
Для Open Source в ряде случаев может быть достаточно нематериальной стимуляции. Например, если обязать, что каждый ИТ-ВУЗ должен иметь собственные Open Source проекты (идея тут), а рейтинг ИТ-ВУЗов должен учитывать число и качество собственных (или кооперативных) Open Source проектов, их популярность и число вовлеченных в них студентов. Пример в этом направлении нужно брать с запада: многие крупные Open Source проекты ведутся «в стенах» ВУЗа.
Причем иногда всего лишь достаточно: а) воля руководства ВУЗа и б) компетенция и мотивация преподавателя. Часто ректоры и проректоры ведущих ВУЗов хвастаются успехами (чаще «бумажными»), но куда красноречивее была бы гиперссылка на подобный ВУЗовский Open Source проект (если есть примеры таких систем — подскажите).
Из отечественных Open Source проектов WFE в России – знаю только Runa WFE (если есть иные – подскажите). Хотя в мире подобных много — в отличие от Open Source проектов классического BPM (ARIS –подобном). Из ARIS –подобных систем знаю только ADOxx, но там «косяки» (см. раздел 3.2 Допустимость связи «function» — «function» в статье «ВРМ. Смарт-инструменты …») и объяснить это разработчикам не удалось. Актуальность отечественного Open Source проекта классического BPM сегодня высока. ВУЗы: сделайте fork ADOxx, устраните в нем концептуальные ошибки — это позволит вам быстро сделать крутой и востребованный Open Source проект.
Полагаю, что Runa WFE Free – это единственный Open Source WFE (BPMN) в мире!, где в состав free версии входит функция электронной подписи (используется Bouncy Castle), см. Свободный документооборот с возможностью электронно-цифровой подписи (или youtube). Вы можете быстро и «из коробки» и бесплатно запустить документооборот с подписанием документов электронной подписью.
4. mxGraph
Вкладка Редактор процессов \ XML (Runa WFE) содержит знакомый любителям drawio тег <mxGraphModel> библиотеки mxGraph (jgraph).
Если скопируем содержание вкладки в файл (с расширением .xml или .drawio) и посмотрим его в drawio Desktop, то drawio попытается отрисовать схему процесса (см. «задний план» за сообщением об ошибке), но выдаст ошибку, т.к. встречает неизвестный isExecutable. Удаляем строчку с этим тегом и тогда drawio Desktop выдаст схему, но «квадратную». Если доопределить стиль («style=») используемых элементов start_image, end_image, task_shape и др., то можем получить оригинальную схему в формате drawio.
На вкладке XML есть кнопки Edit \ Сохранить, но изменения в xml почему – то не сохраняются (не «копал» глубже причину).
4.1 Smart Design
Если кому-то интересна в части процессов или иных сущностей трансформация «таблица — схема». В папке VAD-LD-drawio (bpmbpm/SemanticBPM) лежит файл Книга1_w10_rdf1b.xlsm
который позволяет путем заполнения таблички excel генерить схемы процессов в формате drawio. Это файл excel можно доработать чтобы на выходе получалась несложная схема BPMN. Идея ровно такая же, как в статье ВРМ. Смарт-инструменты «Таблица -> Схема»
В статье (ВРМ. Смарт-инструменты) подробно рассмотрена технология и есть вариант на VBA Excel, см. раздел 2.1 exDOT SmartDesign (Excel), но он под graphviz, а не drawio.
В целом – это мысль использовать синхронные «таблица — схема» (двухсторонняя синхронизация в реальном режиме времени) не только в классическом BPM (ARIS Smart Design), но и в системах WFE: BPMN-системах, BPMN Workflow Engine, точнее в их моделерах и не обязательно штатных / встроенных.
5. Некоторые полезные ссылки
5.1 Runa WFE
Лекция 5: Изучение интерфейса системы RunaWFE
RunaWFE: обзор low-code платформы от компании “Процессные технологии”
5.2 Нотация BPMN
Camunda.com (тоже Open Source и вообще считается лидером WFE систем) и camundarus.ru
Да и Activiti, Camunda и Flowable – это «родственники»:
5.3 Документы методологические
Соглашение о моделировании в BPMN (Storm PMA)
Приложении 1. Полный набор значков BPMN в Runa WFE
Облачный редактор процессов Runa WFE не обладает полной функциональностью (только 12 элементов BPMN). Чтобы получить полный набор, нужно скачать локальный дизайнер процессов:
1 В облачном редакторе кликнуть на элемент с тремя горизонтальными линиями:
2 Далее скачать Дескопный редактор:
В настройках этот редактор можно настроить на работу с конкретной компанией в облаке. В этом дизайнере у события в свойствах элемента можно указать его тип:
В следующий раз рассмотрим подробно системы классического BPM (ARIS-подобные).
PS1
Текущим днем «рядом» вышел: «Low-code платформы 2024: сравнительный обзор», который прокомментировал так.
Ожидал увидеть хотя бы подобное: обзору cnews «Рейтинг BPM-систем 2023«, но и cnews приводит малую часть WFE и «как обычно» сравнивает «апельсины и теннисные мячики»: зачем в его рейтинге указаны sila union и process studuo (PIX) и почему тогда нет business studio (все трое представители классического BPM, но не WFE).
Более полный обзор: Сравнительный анализ Low-code BPM-систем https://habr.com/ru/articles/566202/
Иногда сравнивают BPMN vs «low — code» подводя под противопоставление: В чем отличие классических BPMS от low-code BPMS
Важно понимать: Любой BPMN WFE — это по определению «low code» (визуальные конструкторы на BPMN). Классическая BPM-система — это не WFE, а система типа ARIS.
В целом, читая указанные обзоры вспоминается: Земля тряслась — как наши груди, Смешались в кучу кони, люди, …
Было бы понятно, если эта «каша» в классификации систем и понятий появилось бы только сейчас, но ее наблюдаю уже 20 лет …
ссылка на оригинал статьи https://habr.com/ru/articles/866822/
Добавить комментарий