ЭКОНОМИКА, СОЦИОЛОГИЯ, ПРАВО
УДК 65.01
С. В. Рындина
WORKFLOW-ПАТТЕРНЫ КАК ИНСТРУМЕНТ РЕАЛИЗАЦИИ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА В СИСТЕМАХ УПРАВЛЕНИЯ ПОТОКАМИ РАБОТ
Аннотация. В статье рассмотрены основные шаблоны для систем управления потоками работ. Проанализированы их преимущества для автоматизации бизнес-процессов на предприятии. Показана роль Workflow-паттернов для оптимизации моделирования бизнес-процессов.
Ключевые слова: WF-языки, Workflow-системы, автоматизация бизнес-процессов, Workflow-паттерны.
Для предприятия, решившегося на автоматизацию бизнес-процессов, существует сложность выбора программного продукта, ориентированного на решение задач автоматизации бизнес-процессов, учитывающих его специфику (уникальные технологии ведения бизнеса, УТП и т.п.).
Поток работ - это полная или частичная автоматизация бизнес-процесса, при которой документы, информация или задания передаются для выполнения необходимых действий от одного участника к другому в соответствии с набором процедурных правил [1-5].
Система управления потоком работ описывает этот поток (бизнес-процесс), создает его и управляет им с помощью программного обеспечения, которое способно интерпретировать описание процесса, взаимодействовать с его участниками и при необходимости вызывать соответствующие программные приложения и инструментальные средства [1-5].
Ученые из Университета Квинсленда (The University of Queensland) Вил Ван-дер-Альст, Артур Хофстеде, Бартек Кипужевский и Алистер Баррос предложили методологию классификации Workflow-систем, основанную на Workflow-паттернах (Work Flow Patterns) [6]. WF-паттерны - это типовые структуры внутри бизнес-процесса, рассматриваемые в его контексте. Первоначально было выделено 20 паттернов. Уильям Ру, Френсис Маджинис и Уильям Браун (William A. Ruh, Francis X. Maginnis, William J. Brown) добавили шесть дополнительных паттернов коммуникации, относящихся к взаимодействию WF-процессов и потоков управления [7].
Использование паттернов сближает WF-языки с языками объектно-ориентированного программирования: WF-язык позволяет описать бизнес-процесс формально (задать его возможные состояния, в которых определены соответствующие действия, определить набор внутренних переменных, бизнес-правила и т.д.).
Паттерны выступают своеобразными «кирпичиками», которые позволяют уменьшить число ошибок и ускорить моделирование бизнес-процессов из готовых шаблонов. Так как многие паттерны поддерживаются различными языками моделирования, то, освоив шаблонные конструкции, можно сравнительно легко переключаться с одного WF-
37
Вестник Пензенского государственного университета № 2 (10), 2015
языка на другой и при сравнении паттернов, представленных в различных языках, быстрее осваивать особенности моделирования на конкретных WF-языках.
Первые пять паттернов описывают основные закономерности моделирования [8]. Диаграммы паттернов выполнены в свободно распространяемой среде ARIS Express.
Workflow-pattern Sequence (Последовательность)
Этот шаблон используется для моделирования зависимости между задачами, при которой одна задача не может быть направлена на выполнение до завершения другой задачи. В WfMC (Workflow Management Coalition) такое поведение определяется как «serial routing». После выполнения действия первого узла управление переходит ко второму (рис. 1).
Рис. 1. Паттерн «Последовательность»
Примером реализации такого шаблона может быть последовательность задач в процессе «обработка заказа клиента»: «проверка наличия товара на складе» - «подтверждение клиенту возможности выполнения заказа» - «смена статуса заказа».
Workflow-pattern Parallel split (Параллельное расщепление)
Шаблон параллельного расщепления определяется как механизм, позволяющий выполнять параллельно несколько потоков действий, которые должны производиться одновременно, а не серийно. Он представляет собой узел, в который приходит только один переход и из которого исходит два перехода или более. Для каждого исходящего перехода должен существовать «свой» поток управления (рис. 2).
В WfMC такое поведение определяется как «AND-split». Синонимы - parallel routing, parallel split, fork.
Рис. 2. Паттерн «Параллельное расщепление»
Примером реализации такого шаблона может быть выплонение задач в процессе «обработка заказа клиента»: «смена статуса заказа» и параллельное выполнение задач «сборка заказа» и «формирование и распечатка сопроводительных документов».
Workflow-pattern Synchronization (Синхронизация)
Шаблон синхронизации определяется как механизм, в котором несколько параллельно выполняющихся потоков действий должны завершиться прежде, чем управление будет передано следующему узлу.
38
Экономика, социология, право
В WfMC такой механизм определяется как «AND-join». Синоним - rendezvous.
Узел, в котором соединяются два или более перехода, а выходит только один, представлен на рис. 3. После того как в узел придут все потоки управления, будет инициирован только один поток, соответствующий исходящему переходу.
Примером реализации такого шаблона может быть выполнение задач в процессе «обработка заказа клиента»: после завершения параллельно выполняющихся задач «сборка заказа» и «формирование и распечатка сопроводительных документов» осуществляется «отправка заказа клиенту».
Workflow-pattern Exclusive choice (Исключающий выбор)
Шаблон исключающего выбора - механизм, в котором поток расщепляется на несколько альтернативных потоков, при этом передача управления может быть произведена только одному потоку, для которого условие перехода определяется как истина (рис. 4).
Рис. 4. Паттерн «Исключающий выбор»
В WfMC такое поведение определяется как «XOR-split». Синонимы - exclusive OR-split, conditional routing, switch, decision, case statement.
Этот шаблон может быть реализован в системах Workflow различными способами (для некоторых систем возможно параллельное существование нескольких способов реализации). Один из способов связан с логическим выражением, которое проверяется на истинность при передаче управления на один из альтернативных потоков, другой способ -со значениями элементов данных, третий способ основывается на результате выполнения предыдущей задачи.
Примером реализации такого шаблона может быть выполнение задач в процессе «обработка заказа клиента»: после задачи «выбор способа оплаты заказа» осуществляется переход по одному из альтернативных потоков в зависимости от истинности условий «оплата наличными» или «оплата картой».
39
Вестник Пензенского государственного университета № 2 (10), 2015
Workflow-pattern Simple merge (Простое соединение)
Шаблон простого соединения определяется как механизм, в котором несколько альтернативных потоков соединяются в одном узле без синхронизации (если это не так, то действуют иные шаблоны: Множественное соединение или Дискриминатор). Он представляет собой узел, в который приходит несколько переходов. При этом соответствующие потоки не обязательно должны выполняться параллельно (хотя это не исключено).
В WfMC такое поведение определяется как «XOR-join». Синонимы - exclusive OR-join, asynchronous join, merge.
После того как в узел пришло управление от любого входящего потока, поток управления передается на единственный исходящий переход (рис. 5).
Примером реализации такого шаблона может быть выполнение задач в процессе «проживание клиента в гостинице»: после выполнения любой из задач «срок пребывания клиента в гостинице завершен» и «клиент пожелал уехать досрочно» осуществляется переход по узлу «сдача номера».
Пять паттернов поддерживаются наиболее распространенными WF-стандартами и WF-системами и являются основой описания абсолютного большинства существующих WF-процессов.
Однако исследования показали, что все 20 базовых паттернов не поддерживает ни один язык (табл. 1).
Таблица 1
Поддержка паттернов в различных WF-языках [9]
Pattern SAP workflow BPEL Oracle BPEL BPMN XPDL
1 2 3 4 5 6
Basic Control Flow Patterns
Pattern 1 (Sequence) + + + + +
Pattern 2 (Parallel Split) + + + + +
Pattern 3 (Synchronization) + + + + +
Pattern 4 (Exclusive Choice) + + + + +
Pattern 5 (Simple Merge) + + + + +
Advanced Branching/Synchronization Patterns
Pattern 6 (Multi-Choice) - + + + +
Pattern 7 (Synchronizing Merge) - + + + +
Pattern 8 (Multi-Merge) - - + +
Pattern 9 (Discriminator) +/- - - + +
Structural Patterns
Pattern 10 (Arbitrary Cycles) - - - + +
Pattern 11 (Implicit Termination) - + + + +
40
Экономика, социология, право
Окончание табл. 1
1 2 3 4 5 6
Multiple Instances Patterns
Patterns 12 Multiple Instances without Synchronization +/- + + + +
Patterns 13 Multiple Instances with a Priori Design Time Knowledge + - + + +
Patterns 14 Multiple Instances with a Priori Run Time Knowledge + - + + +
Patterns 15 Multiple Instances without a Priori Run Time Knowledge - - - - -
State-based Patterns
Pattern 16 (Deferred Choice) - - - + +
Pattern 17 (Interleaved Parallel Routing) - +/- - - -
Pattern 18 (Milestone) - - - - -
Cancellation Patterns
Pattern 19 (Cancel Activity) + + + + +
Pattern 20 (Cancel Case) + + + + +
Основной плюс паттернов в возможности описания реальных бизнес-процессов компании через шаблоны. Основной недостаток в том, что все паттерны не поддерживает ни один из WF-языков.
Компания может руководствоваться тем, что в ее бизнес-процессах к текущему моменту какие-то паттерны не используются и в их поддержке конкретным WF-языком нет необходимости.
Однако требования постоянного совершенствования бизнес-архитектуры, оптимизации и реинжиниринга бизнес-процессов могут сформировать потребность в реализации подобных паттернов на этапе функционирования системы Workflow. При описании подобных бизнес-процессов возникнет сложность, как доступными средствами выбранного языка реализовать требуемую конструкцию.
Список литературы
1. Workflow Management Coalition. The workflow reference model. - TC00-1003. - 1995. - Jan. - Issue 1.1. - 55 p.
2. Workflow Management Coalition. Programming interface (interface 2 & 3) specification. WfMC-TC-1009. - 1998. - Jul. - Version 2.0. - 171 p.
3. Workflow Management Coalition. Terminology and glossary. - WFMC-TC-1011. - 1999. - Feb. -ssue 3.0. - 65 p.
4. Workflow Management Coalition. Interface 1: process definition interchange. Process model. WfMC-ТС-1016-Р. - 1999. - Oct. - Version 1.1. - 103 p.
5. Workflow Management Coalition. Workflow process definition interchange-XML Process definition language. WFMC-TC-1025. - 2002. - Oct. - Version 1.0. - 87 p.
6. Workflow patterns / W. M. P. van der Aalst, A. H. M. ter Hofstede, В. Kiepuszewski, A. P. Barros // Distributed and parallel databases. - 2003. - V. 14, № 1 - Р. 5-51.
7. William, A. Ruh. Enterprise Application Integration: A Wiley Tech Brief / William A. Ruh, Francis X. Maginnis, William J. Brown. - Wiley Computing publisher, 2001. - 224 p.
8. Stephen, A. White. Process Modeling Notations and Workflow Patterns / Stephen A. White // BPTrends. - 2004. - March. - 21 р. - URL: http://www.omg.org/bp-corner/pmn.htm
9. Workflow Control-Flow Patterns: A Revised View / N. Russell, A. H. M. ter Hofstede, W. M. P. van der Aalst, N. Mulyar. - BPM Center Report BPM-06-22, BPMcenter.org, 2006. - 134 p.
41
Вестник Пензенского государственного университета № 2 (10), 2015
Рындина Светлана Валентиновна
кандидат физико-математических наук, доцент, кафедра экономической кибернетики, Пензенский государственный университет E-mail: [email protected]
Ryndina Svetlana Valentinovna
candidate of physical and mathematical sciences, associate professor,
sub-department of economic cybernetics,
Penza State University
УДК 65.01 Рындина, С. В.
Workflow-паттерны как инструмент реализации объектно-ориентированного подхода в системах управления потоками работ / С. В. Рындина // Вестник Пензенского государственного университета. -2015. - № 2 (10). - C. 37-42.