Деятельность большинства предприятий может быть представлена в виде множества выполняющихся экземпляров бизнес-процессов, содержащих графическую схему процесса: набор узлов, соединенных между собой переходами; имена и типы переменных; названия ролей; графические формы для работы исполнителей заданий. Бизнес-процессы можно запускать на исполнение, создавая выполняющиеся экземпляры, в которых на схеме бизнес-процесса по переходам перемещаются точки управления, переменные содержат конкретные значения, а на роли назначены исполнители. В некоторых узлах экземпляра бизнес-процесса при переходе в них точки управления генерируются задания, которые направляются на выполнение сотрудникам предприятия и/или другим информационным системам. Схемы бизнес-процессов составляются так, чтобы задания исполнялись скоординированно и в нужном порядке. Для контроля просроченных заданий используется элемент «таймер», который может быть настроен как на абсолютную, так и на относительную дату.
Задача современных систем управления бизнес-процессами (BPMS) — исполнение бизнес-процессов в информационной среде предприятия. BPMS можно сравнить с конвейером, перенесенным с производства в офис и позволяющим сотруднику компании выполнять поступающие задачи, не отвлекаясь на получение необходимой для выполнения задания информации и передачу результатов своего труда другим работникам, а также на изучение должностных инструкций — все необходимое выводится на экран при указании на задание. Таким образом, в офисной деятельности можно получить такие же преимущества, как и на производственном предприятии при применении конвейера, работа которого, в случае офиса, описывается с помощью нотации BPMN [1] — стандарта «де-факто» для BPMS, что позволяет пользователям быстро разбираться в различных системах, поддерживающих один и тот же стандарт, и уменьшить зависимость от вендора. BPMN-схемы бизнес-процессов представляют собой понимаемое человеком графическое описание соответствующей функциональности, причем их не требуется переводить в программный код, поэтому затраты на аналитическую деятельность, в случае использования BPMN при автоматизации деятельности предприятия, будут примерно такими же, как при традиционной автоматизации, а затраты на программирование — существенно ниже.
Конечно, традиционные системы автоматизации документооборота также повышают производительность труда сотрудников «офисных» компаний, но подобные системы основываются не на схемах бизнес-процессов с перемещающимися точками управления, а на связанных с документами статусах и правилах их изменения. Статусами удобно пользоваться, пока их немного и каждый имеет небольшое число возможных состояний. При усложнении логики работы с документами оказывается, что кроме текущего «мгновенного» состояния выполняемых работ (значений статусов) управленцам надо понимать и помнить, что было раньше, — требуется хранить предыдущие события, а это порождает громоздкую структуру, с которой неудобно работать. Современные системы документооборота постепенно переходят от статусов к схемам бизнес-процессов и сближаются с BPMS.
BPMN
Вместо принятого в системах документооборота набора статусов, BPMN использует общую конструкцию — схему бизнес-процесса, состоящую из узлов и переходов, и набор точек управления (иногда их называют токенами), находящихся в узлах этой схемы. По переходам точки управления могут перемещаться из одних узлов в другие. Нотация BPMN применяется для графического изображения — как схем исполняемых бизнес-процессов, так и некоторых видов бизнес-процессов для аналитического моделирования.
Основные виды графических элементы нотации (рис. 1): элементы управления (Flow Objects): шаги (Activities), шлюзы (Gateways), события (Events); соединяющие линии (ConnectingObjects); роли-дорожки (Swimlanes).
Рис. 1. Элементы BPMN |
Особенность нотации BPMN — использование различных сочетаний элементов, например: если окружность означает событие, конверт — сообщение, предмет белого цвета — пассивное поведение, предмет черного цвета — активное поведение, то черный конверт в окружности — это событие отправки сообщения. Шаги бизнес-процесса могут быть задачами или подпроцессами, которые могут быть внутренними или внешними.
Задачи «Пользовательская задача» и «Неавтоматизированная задача» соответствуют узлам, в которых BPMS генерирует задания пользователям системы. Шлюзы являются маршрутными узлами (узлами, в которых выбираются маршруты дальнейшего движения точек управления).
Поведение наиболее часто используемых элементов (узлов) «Оператор исключающего ИЛИ» и «Оператор И» определено следующим образом:
«Оператор исключающего ИЛИ» может иметь несколько входящих и несколько исходящих переходов. Для каждой пришедшей в него точки управления на основании заложенных в узел условий определяется, по какому из исходящих переходов она будет перемещена далее.
Оператор И» может иметь несколько входящих и несколько исходящих переходов. Для каждого входящего перехода пришедшая по нему в «Оператор И» точка управления ставится в очередь. Если для всех входящих переходов их очереди заполнены хотя бы одной точкой управления, то все точки управления, находящиеся на первой позиции очереди каждого входящего перехода, удаляются, а на каждом исходящем переходе генерируется точка управления.
На Рис. 1. приведены обозначения, применяемые для переходов (иногда называемых потоками управления). В BPMN применяется три типа событий: начальное, конечные и промежуточные.
При изменении условий бизнеса аналитик может без участия программиста самостоятельно скорректировать схемы бизнес-процессов, а во многих случаях и разработать новые бизнес-процессы.
Стоимость разработки, внедрения, сопровождения и поддержки решения на основе технологии BPMN (исполняемой ее части) существенно меньше стоимости решений традиционной автоматизации, при которой для различных задач и подразделений разрабатываются отдельные компоненты приложения. При этом скорость разработки, внедрения, а также последующих изменений ИТ-решений на основе технологии BPMN оказывается существенно выше.
Конечно, нотация BPMN не идеальна [2, 3] — это достаточно сложная технология и не все ее конструкции интуитивно понятны.
BPMN на практике
BPMN-схема решения для кейса «Аукцион» |
Аукцион. Всем членам группы участников аукциона направляется задание «предложить цену», к которому присоединен таймер на определенный интервал времени. После того как кто-то предложил цену, запрос повторяется. При этом проверяется, что предложенная цена больше предыдущей. После того как сработал таймер, аукцион прекращается. Определяется победитель, предложивший максимальную цену. Далее всем участникам сообщаются результаты аукциона. На рисунке представлено соответствующее BPMN-решение.
BPMN-схема решения для кейса «Аттестация». Базовый процесс |
BPMN-схема решения для кейса «Аттестация». Мультиподпроцесс. |
Аттестация. Руководитель подразделения компании или предприятия объявляет аттестацию. Каждый сотрудник получает задание «пройти аттестацию», а руководитель — задание «принять аттестацию», в графической форме которого проставляет сотрудникам результаты аттестации: «аттестован», «не аттестован», «не явился». После того как все результаты аттестации проставлены, бизнес-процесс сообщает всем результаты аттестации.
BPMN-схема решения для кейса «Тендер». Базовый процесс |
BPMN-схема решения для кейса «Тендер». Мультиподпроцесс |
Тендер. Все участники тендера одновременно подают свои заявки с указанием цены, а затем определяется победитель, предложивший минимальную цену. Далее всем участникам сообщается имя победителя и предложенная им минимальная цена. Если несколько участников предложили минимальную цену, то тендер считается несостоявшимся.
BPMN-схема решения для кейса «Конференция» |
Конференция. Несмотря на то, что предпочтительными решениями являются схемы с парными узлами разделений и слияний точек управления, существуют ситуации, для которых решениями являются схемы с непарными разделениями-слияниями. В качестве примера такой ситуации рассмотрим бизнес-процесс организации конференции (рис. 2), состоящий из следующих действий: заключить договор аренды помещения; подготовить помещение к конференции; подготовить пригласительные материалы; впечатать в материалы конференции адрес; разослать материалы конференции.
Действия, относящиеся к помещению и к печатным материалам, должны выполняться параллельно, однако впечатывание адреса в материалы конференции не должно выполняться до заключения договора аренды помещения. Видно, что одно разделение точек управления на схеме соответствует сразу двум слияниям и наоборот. При этом данная схема «не позволит» впечатать адрес в материалы до заключения договора аренды и «разрешит» готовить помещение, даже если еще не готовы пригласительные материалы. При помощи использования парных разделений-слияний решить эту задачу нельзя.
Платформа RunaWFE
Для создания бизнес-процессов в графической среде, исполнения и мониторинга их экземпляров, ведения истории событий бизнес-процесса и выполнения заданий программными роботами, интеграции приложений и администрирования пользователей, а также замещения исполнителей заданий и делегирования заданий предназначена RunaWFE — процессная платформа low-code/no-code.
Платформа призвана автоматизировать деятельность предприятий, снизив сложность разработки, изменения и внедрения отраслевых ИТ-решений до уровня бизнес-аналитиков или менеджеров, вооруженных инструментами работы с бизнес-процессами, не требующими привлечения программистов.
Повышение качества продукции при использовании платформы происходит за счет автоматической регламентации и средств мониторинга, обеспечивающих соблюдение всех предусмотренных правил, действующих в компании. Платформа позволяет оперативно изменять бизнес-процессы в ответ на изменение условий деятельности.
Рис. 2. Архитектура платформы RunaWFE |
Платформа состоит из следующих компонентов (рис. 2):
- сервер (среда исполнения бизнес-процессов);
- веб-интерфейс;
- графический дизайнер (среда разработки бизнес-процессов);
- симулятор исполнения бизнес-процессов;
- внутреннее хранилище данных;
- бот-станция;
- клиент-оповещатель о заданиях.
Платформа разработана на языке Java — установка Java Virtual Machine обеспечивает серверу RunaWFE независимость от конкретной операционной системы. Дизайнер процессов использует фреймворк Eclipse, поддерживающий популярные ОС: Windows, Linux, FreeBSD, MacOS и др. Имеется облачная версия платформы, позволяющая создавать бизнес-процессы через браузер.
Основной компонент платформы — сервер RunaWFE, предоставляющий среду исполнения экземпляров бизнес-процессов. Сервер поддерживает функции администрирования пользователей (создание, удаление и изменение пользователей и их групп, раздача прав на объекты, остановка или приостановка экземпляров процессов, просмотр логов и ошибок), генерирует списки и визуальные формы заданий; позволяет устанавливать права на объекты платформы и служит средством интеграции автоматизированных систем предприятия. В сервер входят следующие модули:
- подсистема авторизации и аутентификации;
- подсистема для работы с определениями и экземплярами бизнес-процессов. Это основной модуль сервера загружает и изменяет определения процессов; осуществляет запуск и выполнение процессов; генерирует списки заданий и визуальные формы заданий; осуществляет фильтрацию в списках заданий и списках экземпляров процессов; перенаправляет задания пользователей в соответствии с правилами замещения и делегирования;
- подсистема для работы с бот-станциями. Позволяет автоматизировать ряд шагов бизнес-процесса путем назначения исполнителем бота;
- подсистема кастомизированных компонентов. Содержит дополнительные изолированные элементы, для разработки которых требуются минимальные знания об остальных модулях системы. Сейчас модуль содержит следующие элементы: обработчики; функции над организационной структурой предприятия; элементы, осуществляющие выбор направления дальнейшего движения точки управления в ветвлениях; элементы, определяющие и проверяющие тип переменных; графические элементы для ввода и отображения значений переменных; правила проверки введенных в формы значений;
- ядро платформы;
- сервер приложений.
Для создания определений бизнес-процессов служит графический дизайнер бизнес-процессов (среда разработки), в котором определяется последовательность выполнения элементов работ и их данные, присваиваются роли участникам процесса, вводятся правила маршрутизации и определяются графические формы заданий. Дизайнер позволяет создавать определение бизнес-процесса в виде графической диаграммы, задающей поток элементов работ, с описанием деталей в виде свойств отдельных действий, подпроцессов, а также бизнес-процесса в целом.
Среда доступа пользователей к функциональности сервера RunaWFE — веб-интерфейс, реализированный как «тонкий» клиент, который, в частности, позволяет отображать списки заданий и их визуальные формы, позволяя пользователям выполнять задания, а администратору системы устанавливать права на объекты системы. Интерфейс дает возможность осуществлять мониторинг исполнения экземпляров бизнес-процессов.
Клиент-оповещатель о поступивших заданиях представляет собой среду доступа пользователей к функциональности RunaWFE-сервера, дополнительно реализуя оповещение пользователя о поступивших задачах. Содержит компонент «толстое» приложение, которое устанавливается каждому пользователю на рабочее место.
В платформе RunaWFE реализованы боты (автоматические исполнители, выполняющие рутинные функции человека) и бот-станции. Боты периодически опрашивают сервер и если в среде исполнения экземпляры бизнес-процессов обнаруживают для себя задачи, загруженные в бот-станцию, то выполняют их и возвращают результаты работы в среду исполнения. В частности, боты могут обращаться к другим информационным системам, и бот-станция, таким образом, служит средством интеграции автоматизированных систем предприятия.
В графической среде бизнес-аналитик может создавать бизнес-процессы и сохранять либо в локальной файловой системе, либо непосредственно на сервере. Кроме того, имеется возможность вести разработку бот-станций и ботов, описывать источники данных и бизнес-правила, а также таблицы внутреннего хранилища. С помощью симулятора бизнес-процессов можно тестировать разработанные бизнес-процессы на условной конфигурации на клиентском компьютере аналитика, не загружая их в промышленную платформу.
В общем случае разработка определений бизнес-процесса представляет собой следующую последовательность действий: построение схем процессов функционирования предприятия, задание ролей для исполнения заданий и их инициализаторов, создание переменных, построение графических форм заданий, организация взаимодействия с внешними данными при помощи задач-сценариев или ботов. Для заданий могут устанавливаться сроки, правила выбора маршрутов движения точек управления в развилках схем, параметры межпроцессного взаимодействия, вызовы подпроцессов и мультиподпроцессов. Все эти действия выполняются через графические интерфейсы, без программирования. Используя симулятор среды исполнения, можно на локальном компьютере в условной конфигурации тестировать разработанные бизнес-процессы. Исполнение бизнес-процессов и аналитика состоят в получении, фильтрации, выполнении, делегировании задач, запуске новых и просмотре свойств, запущенных экземпляров процессов, а также в загрузке новых разработанных бизнес-процессов.
Во время исполнения бизнес-процессов производится интеграция ИТ-систем при помощи используемых бизнес-процессами коннекторов к внешним системам.
***
Автоматизация предприятия на основе процессного подхода, поддерживаемого платформой RunaWFE, позволяет освободить сотрудников от выполнения рутинных операций, повысить скорость взаимодействия, а также обеспечить оперативную перестройку бизнес-процессов. Использование задач-сценариев и ботов, автоматически исполняющих задания, позволяет минимизировать участие человека при выполнении рутинных задач. Платформа дает возможность создавать новые приложения и интегрировать различные системы предприятия в единую систему. По сравнению с другими платформами: Bizagi, Pega BPM, Oracle BPM, Documentum xCP, Creatio, K2, IBM BPM, Unify NXJ, TIBCO BPM, Camunda, Activiti (Alfresco), Bonita Open Solution, ELMA и Comindware платформа RunaWFE проще в освоении, настройке, установке и эксплуатации.
Платформа внесена в Единый реестр российских программ для электронных вычислительных машин и баз данных, а также в реестр импортозамещения АРПП «Отечественный софт». Имеется версия платформы с открытым исходным кодом.
Литература
1. Наталья Дубова. BPM со всех сторон // Открытые системы.СУБД. — 2007. — № 4. — С. 16–24. URL: https://www.osp.ru/os/2007/04/4219800 (дата обращения: 21.11.2022).
2. Анатолий Белайчук. Главное преимущество BPMN // Открытые системы.СУБД. — 2012. — № 8. — С. 61–62. URL: https://www.osp.ru/os/2012/08/13019266 (дата обращения: 21.11.2022).
3. Игорь Федоров. Сравнительный анализ нотаций моделирования бизнес-процессов // Открытые системы.СУБД. — 2011.— № 8. — С. 28–32. URL: https://www.osp.ru/os/2011/08/13011140 (дата обращения: 21.11.2022).
Андрей Михеев (agmikheev@processtech.ru) — генеральный директор, компания «Процессные Технологии», доцент, НИТУ МИСиС, Финансовый университет; Марина Медведева (ma_0848@mail.ru) — студентка, НИТУ МИСиС, сотрудник, компания «Процессные Технологии». Статья подготовлена на основе материалов мастер-класса «BPMN и no-code на практике» на конференции «LOW-CODE 2022».
DOI: 10.51793/OS.2022.45.79.004