Подход к автоматизации бизнес-процессов в последние годы существенно изменился: если прежде акцент делался на их моделировании, то в современных системах основное внимание уделяется исполнению бизнес-процессов в компьютерной среде. Не случайно современные средства их автоматизации называют именно системами управления бизнес-процессами (Business Process Management Systems, BPMS, или — по-русски — СУБП), а не их моделирования.

Автор  Андрей Михеев, генеральный директор компании «Процессные Технологии»

Деятельность предприятия в СУБП представляется в виде множества одновременно выполняемых взаимосвязанных экземпляров бизнес-процессов с конкретными параметрами. Исполнителями процессов могут быть как сотрудники предприятия, так и программные роботы, выполняющие задания в соответствии с назначенными им ролями.

Основная функция СУБП — генерация заданий, передача их исполнителям и контроль выполнения. Последовательность заданий определяется схемой бизнес-процесса, которую готовит аналитик предприятия. По мере необходимости он с помощью дизайнера бизнес-процессов может быстро вносить в схему изменения. При этом она составляется так, чтобы задания исполнялись скоординировано и в нужном порядке. Для контроля просроченных заданий используется таймер, который может быть настроен как на абсолютную, так и на относительную дату.

СУБП можно сравнить с конвейером, развернутым в офисе: система позволяет сотрудникам выполнять поступающие задачи, не отвлекаясь на получение необходимой для их выполнения информации, передачу результатов труда другим специалистам, изучение должностных инструкций и пр. — всё необходимое сотрудник получает на экране, как только он переходит к очередному заданию.

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

Боты — почти как люди

Так же, как и люди, боты наделяются правами и полномочиями на выполнение определенных действий. При входе в СУБП им предлагается пройти аутентификацию, а затем при совершении ими операций система проверяет, имеет ли конкретный бот право производить то или иное действие. При этом боты могут располагаться на любых серверах внутри корпоративной сети предприятия.

Организацию и координацию ботов обеспечивает специальная среда — бот-станция. Как правило, она соответствует серверу, на котором эти боты размещены. Собранные на ней боты обращаются к системе, и если выполняющиеся на сервере экземпляры бизнес-процессов содержат задачи для ботов, то они их выполняют и отправляют результаты работы на сервер.

Поскольку управленцам часто удобнее мыслить не в терминах «человек» или «робот», а в категориях «должность» и «компетенция» (так легче понять, что умеет делать тот или иной исполнитель и на какие задания в бизнес-процессах его можно назначить), в нашей системе RunaWFE реализована логическая группировка по ботам для заданий, выполняемых компьютерными системами, — это позволяет управленцам, работающим с бизнес-процессами, мыслить в терминах автоматических исполнителей и областей их компетенций. Кстати, такой подход удобен и для ИТ-специалистов, формирующих задания по работе с электронной почтой, отчетами и т.п.

Задачи-сценарии — еще одна возможность автоматизировать исполнение заданий

Иногда вместо полноценных роботов бывает полезно использовать так называемые задачи-сценарии — соответствующие элементы предусмотрены в стандарте BPMN (Business Process Model and Notation). Задачи-сценарии позволяют выполнять скрипты или программный код, не обращаясь к роботам. Создавать и настраивать задачи-сценарии проще, чем боты, поскольку для них не нужно фиксировать список действий, которые они могут выполнять, определять исполнителей, у них даже нет конкретного имени.

Применение задач-сценариев наиболее целесообразно в следующих случаях:

  • «Мелкие» операции, например, получение текущей даты, ФИО пользователя, выполнение арифметической формулы и т.п. В этом случае все обрабатываемые данные содержатся в переменных бизнес-процесса, и создание бота для такой операции приведет лишь к усложнению процесса.
  • Выполнение функции с данными настройками в одном-единственном бизнес-процессе — в подобных ситуациях создание полноценного бота только усложнит систему.
  • В случае взаимодействия экземпляра бизнес-процесса с внутренним хранилищем данных пользователю, как правило, важно понимать по схеме бизнес-процесса не содержание конкретного SQL-запроса, а только изменились ли при этом данные или нет. И тогда имеет смысл не создавать специальный бот, а использовать задачу-сценарий, соединенную пунктирной стрелкой с иконкой базы данных (оба этих элемента есть в нотации BPMN).

На основе ботов могут быть реализованы транзакции в бизнес-процессах

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

С помощью ботов нам удалось реализовать в системе RunaWFE упрощенный механизм транзакций, основанный на особенностях процессного управления и доступный для освоения аналитиками, не знакомыми с теорией баз данных. Этот механизм позволяет осуществлять транзакции как с внутренним, так и с внешними хранилищами данных.

Данные во внутреннем и внешних хранилищах, которые во время своего выполнения изменяют бизнес-процессы, называются бизнес-объектами, а совокупность всех бизнес-объектов предприятия — слоем данных.

Работа со слоем данных в системе RunaWFE осуществляется с помощью специальных транзакционных ботов, выполняющих операции без обращения к внутреннему механизму транзакций, встроенному в СУБД.

Особенность транзакционного бота в том, что он выполняет задания только от одного транзакционного подпроцесса, пока в нем остается хотя бы одна точка управления, а задания всех остальных транзакционных подпроцессов игнорирует. Соответственно, группы своих заданий, относящихся к различным транзакционным подпроцессам, бот выполняет только последовательно. И поскольку в самих транзакционных подпроцессах люди не участвуют, при этом некоторые задания в экземплярах бизнес-процессов выполняются людьми, которые действуют, конечно же, заведомо медленнее, чем боты в транзакционных подпроцессах, то такая схема не приводит к заметным задержкам выполнения бизнес-процессов.

СУБП обеспечивает интеграцию корпоративных систем

Еще одно ценное свойство СУБП состоит в том, что эта система позволяет объединить логику бизнес-процессов, зачастую рассеянную по различным ИТ-компонентам: СУБД, приложениям и т.д. На современном предприятии в эксплуатации находится, как правило, несколько разнородных автоматизированных систем, используемых в большом количестве сквозных бизнес-процессов, затрагивающих деятельность сразу нескольких структурных подразделений предприятия, которые эти системы эксплуатируют. Поэтому СУБП дает возможность путем автоматизации сквозных бизнес-процессов интегрировать разнородные приложения в единую корпоративную информационную систему, обеспечивая не только обмен данными между ними, но и их тесную координацию. Благодаря этому СУБП становится центральным компонентом корпоративного ландшафта приложений, играя в нем связующую и координирующую роль.