Общая теория по Workflow Management Systems В текущем параграфе будет рассмотрена теория, которая будет изучена перед этапами проектирования и разработки WfMS.
Основные определения WfMS Если давать строгое определение для WfMS, то Workflow Management System – система, которая определяет, создает и руководит ходом выполнения рабочего процесса, используя ПО, работающего на одной или нескольких платформах, способных определять процессы, взаимодействовать с участниками рабочих процессов и, если необходимо, вызывать нужные приложения [4].
Подбирая определение в более неформальном формате, можно сказать, что WfMS – это система, отвечающая за определение, выполнение и контроль определенных задач, которые в свою очередь являются составляющими основных бизнес-процессов.
Следующим важным элементом является компонент системы: рабочий процесс. Рабочий процесс – процесс автоматизации бизнес-процесса, в целом или частично, при исполнении которого документы, информация или задания передаются от одного участника к другому, следуя соответствующим правилам [4]. Проще говоря, рабочий процесс – это набор действий и переходов между ними.
Так как в рамках этого исследования WfMS является лишь составляющей системы технической поддержки, то важно понимать, что из себя представляет вторая часть этой системы. Итак, CRM модуль - прикладное программное обеспечение для организаций, предназначенное для автоматизации стратегий взаимодействия с клиентами [3]. Если перенести проекцию на систему технической поддержки НИУ ВШЭ - Пермь, то CRM ответственна за взаимодействие с клиентами, обработку заявок и их подготовку для WfMS.
На данный момент существует несколько международных стандартов, направленных на работу с системами управления потоками работ:
Workflow Management Coalition (WFMC).
World Wide Web Consortium.
Organization for the Advancement of Structured Information Standards.
WFMC создавали и модифицировали стандарты на протяжении многих лет. Эти стандарты используются многими компаниями в качестве основы для создания своих продуктов. Потому в рамках данной работы было решено, что именно стандарты Workflow Management Coalition будут основой для проектирования и разработки системы.
Теоретическое описание WfMS с помощью стандарта Workflow Reference Model Основополагающим стандартом описания и моделирования WfMS можно считать Workflow Reference Model. Данный стандарт подразумевает, что все системы содержат в себе ряд общих компонентов, которые взаимодействуют между собой различными способами, в зависимости от системы [5]. Стандартизация необходима для того, чтобы обеспечить взаимодействие между рабочими процессами.
Согласно этому стандарту, существует определенные требования к функциональности системы. WfMS направлена на автоматизацию исполнения рабочих процессов и на контроль ресурсов. На самом высоком уровне WfMS должна обеспечивать поддержку в трех областях [5]:
Build-time functions. Встроенные временные функции, задающиеся определением и моделированием рабочих процессов. На данном архитектурном уровне происходит выполнение заранее заданных функций, цель которых заключается в описании текущего бизнес-процесса. Бизнес-процесс, описанный до этого каким-либо способом человеком, переводится в формальное представление, понимаемое системой. Данное преобразование происходит с помощью анализа и моделирования, а результат этих манипуляций принято называть «моделью процесса» или «метаданными процесса». Модель процесса состоит из набора действий и переходами между ними, которые выполняются согласно заранее определенным правилам и процедурам. Эти действия могут выполняться как человеком, так и компьютером. Определение процесса может представляться в любом формате: от текстового до описания рабочих процессов с помощью формальных языков, например, с помощью спецификации XML Process Defenition Language (XPDL), предложенной WFMC. Так же стоит отметить, что некоторые процессы допускают изменение их определения прямо в ходе их выполнения.
Run-time control functions. Функции контроля во время выполнения, ответственные за управление рабочими процессами и последовательности, которые рассматриваются как отдельные части рабочих процессов. На этапе происходит анализ процессов. С помощью специальных программных средств осуществляется: создание и управление рабочими процессами, создание, планирование и управление задачами, определение и распределение человеческих и технических ресурсов. Уровень выполнения процесса связывает его формальное описание и реальный вид, включающий пользователей и программные средства. Важнейшим элементом данного уровня является служба создания и управления потоками работ. Она создает и удаляет процессы, задает рабочие процессы и взаимодействие с ресурсами.
Run-time interactions. Взаимодействие с пользователями или программными средствами для выполнения каких-либо действий. Некоторые процессы могут иметь индивидуальные задачи и, как правило, эти задания связанные с привлечением к работе человека или приложений, а порой оба вида внешних ресурсов. Потому важно правильно настроить взаимодействие человека с системой создания и управления рабочими процессами, для передачи управления процессами и вызова сторонних приложений.
Рисунок 1.4 схематично отображает требуемые архитектурные уровни для системы управления потоками работ [5]:
Рисунок 1.. Функциональные требования к WfMS
Таким образом, можно заключить, что требования к функционалу системы управления потоками работ в обобщенном виде можно охарактеризовать следующими признаками [5]:
наличие спецификаций для определения процессов и их взаимодействий;
способность к взаимодействию с другими системами;
вызов сторонних приложений;
способность к взаимодействию с пользователями и их клиентскими приложениями;
администрирование и контроль системы, управление взаимодействия с окружающей средой.
Языки описания бизнес-процессов Как говорилось ранее, существует определенный этап трансформации бизнес-процессов в формальное представление, понятное компьютеру. Поэтому следует выбрать язык, который наиболее полно способен описать процесс и представить его в нужной форме для системы.
Существует множество формальных языков описания бизнес-процессов, в данном параграфе будут рассмотрены наиболее распространенные языки, применяемые для декларативного определения процессов.
XML Process Definition Language.
Спецификация XPDL, предложенная Workflow Management Coalition, представляет собой формальную модель для описания рабочих процессов, относящихся к любым сферам деятельности [6]. В соответствии с ней каждый поток работ разбивается на следующий набор взаимодействующих между собой компонентов, показанных на рисунке 1.5 [6]:
Рисунок 1.. Спецификация XPDL
Данная спецификация подразумевает, что процесс можно представить в виде направленного графа, узлами которого являются действия, а гранями – переходы, которые ко всему прочему могут быть условными, между действиями.
Кроме этого, XPDL является расширяемым стандартом, что позволяет определять набор элементов и атрибутов для конкретной сферы применения [7]. Обширный выбор атрибутов включает в себя такие параметры как назначение исполнителей на действия, условия переходов между действия, время выполнения действия и т.д. [7].
Business Process Modeling Language.
Business Process Modeling Language представляет собой абстрактную модель и XML-язык для описания рабочих процессов различного типа [8].
BPML, в отличие от XPDL, является языком блочной структуры. Элементарными блоками, из которых строится модель рабочего процесса в BPML, являются «действия» (Activity) [8]. В данной спецификации различается три типа процессов [8]:
Nested Process. Вложенный процесс, как и любое действие, может быть включен в родительский процесс.
Compensation Process. Процесс, обеспечивающий освобождение ресурсов, после завершения других процессов.
Exception Process. Процесс, обрабатывающий исключаемые события.
Аналогом переходам действиям в XPDL является так называемые сообщения и сигналы. Для этого должны быть назначены обработчики сообщений и сигналов.
Важными компонентами BPML являются системные ошибки и расписания. Первый компонент обеспечивает завершение рабочих процессов, а расписания выполняют управленческие функции. Business Process Execution Language – язык на основе XML для формального описания бизнес-процессов и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия веб-служб и включает в эту модель поддержку транзакций.
Появился BPEL4WS путем слияния языков WSFL и XLANG. Эти языки основаны на разных моделях: WSFL базируется на теории графов, XLANG - на иерархии тегов XML [9].
В языке BPEL выделяется два вида процессов: абстрактный и исполняемый. Первый ответственен за протокол обмена сообщениями, а второй содержит в себе функции выполнения «действий», обработку исключений и т.д. «Действия» делятся на примитивные и структурные, которые в свою очередь разделяются на различные типы. BPEL идейный наследник BPML, однако он намного сложнее и обширнее своего предшественника.
Использование одного из этих языков поможет в проектировании системы. WfMS состоит не только из программных средств, но и включает в себя аппаратуру и технический персонал ВУЗа, потому наиболее подходящим языком является XML Process Definition Language. В рамках проводимой работы не требуется углубляться до описания каждого рабочего процесса, тем не менее, основная идея при разработке WfMS заключается в декомпозиции заявок на задачи, которые представляют из себя рабочие процессы. И согласно идеологии XPDL задачи будут определяться как рабочие процессы, включающие в себя участников процесса, задействованные ресурсы и, в случае необходимости, переходы между задачами.
|