Добавлен: 05.07.2023
Просмотров: 89
Скачиваний: 1
Базовые концепции
Буквальный перевод термина "workflow" как "поток работ" является безусловно корректным грамматически, но почти никак не раскрывает его содержание. Более информативно определение продуктов класса Workflow как программных систем, обеспечивающих полную или частичную координацию выполнения производственных операций (заданий, работ, функций), составляющих структурированные бизнес-процессы предприятия.
В основе технологии Workflow лежат следующие понятия:
- Объект - информационный, материальный или финансовый объект, используемый в бизнес-процессе (например, письмо, оборудование, счет);
- Событие - внешнее (не контролируемое в рамках процесса) действие, произошедшее с объектом (скажем получение письма, поломка оборудования, изменение ставки налога);
- Операция - элементарное действие, выполняемое в рамках рассматриваемого бизнес-процесса (допустим подготовка письма, замена оборудования, оплата счета);
- Исполнитель - должностное лицо, ответственное за выполнение одной или нескольких операций бизнес-процесса (к примеру менеджер, сотрудник архива, директор).
Взаимоотношения между базовыми понятиями технологии Workflow отображены на концептуальной информационной модели.
В рамках этой модели процесс состоит из операций и других процессов. Операция адресуется исполнителям, которые, в свою очередь, отвечают за выполнение одной или нескольких операций. Объекты участвуют в выполнении операции. События могут влиять на выполнение операций, например, изменяя результат операций или последовательность их выполнения. Операции обрабатывают события, являясь реакцией системы на происходящие события. Жизненный цикл объекта связан с внешними событиями и операциями, выполняемыми в составе процесса.
Приведенные понятия не исчерпывают множество терминов, определений и особенностей технологии Workflow, тем не менее, рассмотренная концептуальная модель и/или ее различные модификации служат основой программной реализации любой системы класса Workflow. При этом каждая система обеспечивает решение трех следующих задач:
- Разработка описания бизнес-процесса;
- Управление выполнением бизнес-процесса;
- Интеграция используемых в процессе приложений.
Соответственно этим задачам в составе системы можно выделить типовые компоненты и проанализировать связи между ними.
Инструментальные средства описания процесса предназначены для формирования формального описания процесса в виде упорядоченного множества операций, правил их выполнения, связанных с ними объектов, исполнителей и событий. Полученное описание или спецификация процесса используется для контроля и управления выполнением процесса на основе поступающих в систему данных. В качестве этих данных выступают информация, введенная пользователем, результаты выполнения отдельных операций, данные от прикладных систем, архивов и баз .
В свою очередь средства управления выполнением процесса предоставляют пользователю и/или прикладной системе информацию, необходимую для каждой операции, а выявленные на этапе выполнения несоответствия служат основанием для пересмотра спецификации процесса.
Представление бизнес-процесса как процесса Workflow
Важнейшей особенностью технологии Workflow является поддержка управления процессами, содержащими как автоматизированные выполняемые средствами информационных систем, так и неавтоматизированные - выполняемые вручную операции. Благодаря этой особенности любой бизнес-процесс предприятия может быть представлен в виде процесса Workflow, если, конечно, этот процесс:
- Выделен;
- Структурирован;
- Выполняется по правилам, которые можно сформулировать;
- Периодически повторяется.
Итак, процесс должен быть выделен из всей массы выполняемых на предприятии работ, заданий и действий. Обобщенное представление такого процесса в методологии IDEF0 приводится на рисунке 1 - диаграммы верхнего уровня, определяющей взаимосвязи процесса с исполнителями и объектами, выступающими в качестве входов (исходные данные и материалы), управлений (ограничения на выполнение) и выходов (результаты выполнения). В методологии IDEF0 соответствующие связи называются IDEF-дугами. Количество присутствующих на диаграмме IDEF-дуг и их содержание могут быть любыми, но нельзя представить в виде Workflow процесс с исходными данными, неопределенными по составу, непредсказуемым результатом, неопределенными или неуправляемыми правилами выполнения и отсутствием исполнителей. Строго говоря, соответствующий процесс вряд ли можно считать бизнес-процессом, удовлетворяющим приведенному определению.
рис 1
Рисунок 1 Обобщенное представление бизнес-процесса в методологии IDEF0.
Кроме того, процесс должен иметь внутреннюю структуру - не быть вырожденным, состоящим из одной единственной операции.
В методологии функционального моделирования IDEF0 структура бизнес-процесса может быть раскрыта на диаграмме декомпозиции которая сохраняет входы, выходы, управления и исполнителей, а также содержит составляющие процесс операции, под процессы и связи между ними.
Формирование функциональной модели бизнес-процессов является первым шагом подготовки к внедрению системы класса Workflow. Хотелось бы обратить внимание на следующие немаловажные обстоятельства:
- Внедрение системы класса Workflow базируется на описании бизнес-процесса, ради эффективного выполнения которого, собственно, и осуществляется маршрутизация документов и/или автоматизация операций.
- Технология Workflow не накладывает каких-либо специальных ограничений на уровень детализации бизнес-процесса и/или степень автоматизации выполняемых операции.
Третьим требованием представления бизнес-процесса в виде процесса Workflow является наличие правил выполнения процесса, которые можно сформулировать и формально описать. В первую очередь соответствующие правила касаются последовательности выполнения операций, условий и предусмотренной реакции на внешние события.
Для того чтобы пояснить принципы формирования правил, рассмотрим категории операций, выполняемых в рамках бизнес-процесса.
В качестве направлений систематизации выберем согласованность времени выполнения (синхронно, асинхронно) и области действия (локальная или распределенная). Для выполнения синхронных локальных операций требуется наличие всех исполнителей в одно время и в одном месте. Синхронные распределенные операции выполняются в одно и то же время исполнителями, которые могут находиться в разных местах. Асинхронные локальные операции выполняются членами группы в одном, определенном месте, но в различное время. И, наконец, асинхронные распределенные операции выполняются членами группы исполнителей в различных местах и в различное время.
Четвертым и последним требованием представления бизнес-процесса в виде процесса класса Workflow является периодичность выполнения. В отличие от предыдущих требований, это требование носит чисто экономический характер.
Инструментальные средства описания процесса
С точки зрения системы, каждая операция, входящая в состав процесса, содержит задание, выполнение которого предполагает ввод и/или обработку информации. Типовыми параметрами описания операции являются следующие:
- Адресат - пользователь или группа пользователей, получающих задание, при этом указываются права на пересылку задания другому пользователю и права на копирование данных, относящихся к заданию;
- Экранная форма, содержащая представление данных и функций, используемых пользователем при выполнении задания;
- Предельный срок выполнения задания, определяющий, до какого времени соответствующая операция должна быть выполнена;
- Действия системы при инициализации и завершении операции .
Последовательность выполнения операций и условия их перехода от одной к другой составляют алгоритм выполнения процесса. Помимо уже рассмотренных операций в описании алгоритма, как правило, используются:
- Логические условия;
- Внешние по отношению к процессу события;
- Средства создания параллельных ветвей;
- Точки встречи, позволяющие согласовать результаты параллельно выполняемых операций;
- Автоматические операции - операции, выполняющиеся без участия пользователя и запускающие на сервере внешнюю процедуру обработки циркулирующих в процессе данных;
- Сценарии - специальные экранные формы, содержащие вызов функций, операторов системы и внешних программ, используемых пользователем при выполнении различных операций.
Использование инструментальных средств описания процессов в большинстве современных систем класса Workflow не требует от разработчика каких-либо знаний в области программирования или систем управления базами данных.
При выполнении процесса Workflow информация передается от пользователя к пользователю в виде некоторого упорядоченного множества данных. Каждая операция использует подмножество этих данных, состав которого, а также способ представления данных задаются соответствующей экранной формой. Создание форм является прерогативой разработчика процессов, а инструментальные средства для разработки форм являются важным компонентом системы Workflow. Главным требованием к экранным формам, циркулирующим в системе, является их «интеллектуальность» - возможность динамически изменять состав, содержание и формат представления данных.
Большинство систем поддерживают самые разнообразные типы данных. Очень важными являются данные типа «файл», благодаря которым обеспечивается возможность ассоциировать с формой файлы, находящиеся вне системы. Разработчик указывает операции, на которых эти файлы должны порождаться, и регламентирует возможность внесения в них изменений.
Значения данных представляются в экранной форме в виде полей. При этом различаются:
- Демонстрационные поля - поля, содержащие значения, для которых не допускается редактирование;
- Обязательные поля - поля, которые необходимо заполнить в процессе выполнения задания;
- Необязательные поля - поля, значения которых могут быть введены пользователем, однако это не является необходимым условием выполнения задания;
- Вычисляемые поля - поля, значения которых вычисляются в соответствии с заданными правилами;
- Невидимые поля - вычисляемые, но неотображаемые на экране.
Построение форм представления данных является составной частью описания операций, составляющих процесс Workflow, и включает:
- Задание и форматирование текста, образующего форму;
- Определение требуемого подмножества данных;
- Указание способа их представления в форме;
- Описание условий и обстоятельств, определяющих содержание формы.
В большинстве современных систем класса Workflow присутствуют высокоуровневые инструментальные средства создания и редактирования экранных форм. Например, в Staffware таким средством является графический построитель форм для среды Windows.
Управление выполнением процесса
Любой конкретный случай выполнения процесса называется экземпляром или вариантом. Выполнение любого экземпляра состоит в рассылке пользователям заданий в виде экранных форм и управлении процессом их заполнения в соответствии с предусмотренным алгоритмом. При этом система класса Workflow обеспечивает:
- Одновременное выполнение множества экземпляров каждого процесса;
- Передачу заданий между операциями процесса посредством системы электронной почты;
- Обмен произвольными сообщениями между пользователями;
- Отступ к функциям системы и внешним программам, предусмотренным для пользователя разработчиком процесса;
- Взаимодействие путем обмена данными с внешними программами на сервере и клиенте .
Работа пользователя с любой формой состоит из следующих действий:
- Просмотр содержимого;
- Заполнение и/или редактирование полей;
- Печать формы;
- Выпуск формы для последующей обработки.
Часто при заполнении экранных форм поддерживается технология электронной подписи.
В процессе эксплуатации система Workflow накапливает задания, ожидающие обработки, и формирует очереди заданий различных типов, как для каждого пользователя, так и для группы. Автоматически производится периодическое обновление очередей и уведомление пользователя о наличии в очереди новых, еще не просмотренных заданий, заданий с высоким приоритетом или заданий с установленным предельным сроком выполнения. Например, в системе Staffware для работы с очередью заданий имеется специальное окно.
Набор операций для работы с очередью заданий содержит следующие операции:
- Выбор задания;
- Переход к заполнению экранной формы выбранного задания;
- Выпуск выбранного задания - информирование системы об его выполнении;
- Пересылка выбранного задания другому пользователю в случае невозможности его выполнения;
- Установка критериев сортировки заданий в очереди;
- Ограничение списка отображаемых заданий посредством критерия-фильтра;
- Управление периодом обновления очереди.