Наверх

Перспективы WorkFlow-систем

Архив
Время чтения: 32 минуты
0
Перспективы WorkFlow-систем

В статье дается определение бизнес-процесса и систем управления бизнес-процессами, описывается предметная область, в которой используются WF-системы, объясняется отношение систем управления бизнес-процессами к задачам интеграции масштаба предприятия.

Андрей Михеев, Михаил Орлов

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

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

В серии публикаций мы хотим последовательно рассказать о WF-системах, связанных с ними стандартах и концепциях, паттернах WF, математических теориях, борьбе международных коалиций, разрабатывающих WF-стандарты, и о ситуации вокруг промышленной стандартизации. В этих публикациях мы также намерены дать обзор и сравнение конкретных систем управления бизнес-процессами, как коммерческих (proprietary), так и с открытым кодом (OpenSource).

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

Процессный подход к организации управления предприятием

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

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

Вследствие этого у предприятий возникает потребность в гибких компьютерных системах, реализующих процессный подход к управлению, — они получили название систем управления бизнес-процессами, или BPM-систем (Business Process Management). Важной характеристикой таких решений является поддержка быстрой разработки и изменения бизнес-процессов предприятия без обновления специализированного кода, с использованием лишь графической среды разработки.

Управление бизнес-процессами — активно развивающаяся область, и многие термины здесь еще не устоялись. Различные авторы прибегают к таким понятиям, как BPM-системы, WorkFlow-системы, DocFlow-системы, EAI (Enterprise Application Integration) и т. п. Мы будем применять термин “BPM-система” в качестве общего, рассматривая все остальные решения как частные реализации BPM в различных парадигмах.

WorkFlow и DocFlow

Парадигма WF-системы — это “поток (элементов) работ”. В ней всякую деятельность можно представить в виде элементов работы, путешествующих по определенному маршруту между исполнителями в соответствии с заданными правилами. При этом от одного исполнителя к другому передается точка управления. Данная парадигма легко представима в виде графа (см. рисунок).

Рис.1 Пример графа бизнес-процесса "Оплата счета поставщика".

Кроме WF большое распространение получили системы управления документооборотом, или DocFlow (далее — DF-системы). Парадигмой DF-системы является “поток документов”. Здесь всякую деятельность можно представить в виде документов, путешествующих между их редакторами по определенному маршруту в соответствии с заданными правилами.

DF-системы стали наследниками бумажного документооборота. Отсюда и их естественные ограничения: с документом можно совершить ограниченный набор действий: одобрить/ отказать, завизировать, удалить, внести правку и т. п. Обычно системы документооборота дополняются системами хранения образов бумажных документов и системами версионного контроля. Основным преимуществом систем документооборота является возможность их быстрого внедрения на предприятии, если там уже на хорошем уровне налажен документооборот.

Для DF-систем, так же как и для WF-систем, существуют схемы в виде графов, которые состоят из узлов, соединенных различными переходами. Однако по этим графам перемещаются не точки управления, а “корзины” документов. В DF-системах, как правило, данные содержатся внутри документов, которые непосредственно перемещаются по схеме документооборота.

В WF данные не перемещаются вместе с точкой управления, а содержатся в глобальных (соответствуют всему бизнес-процессу) и локальных (соответствуют одному узлу) переменных.

В настоящее время WF и DF представляют собой системы разных типов, однако постепенно системы документооборота по функциональности приближаются к WF. При помощи современных DF-систем можно моделировать многие виды бизнес-процессов, а при помощи WF-систем — автоматизировать элементы документооборота.

Основные задачи WF-системы предприятия

Задача А. “Эсперанто менеджмента” — формирование единого языка описания бизнес-процессов для менеджеров предприятия; создание библиотеки бизнес-процессов предприятия.
Задача Б. “Универсальный клей” — быстрая интеграция (“склеивание”) в рамках единого процесса труда сотрудников и компьютерных систем предприятия; быстрая сборка из разнородных “кирпичиков” связного, качественного процесса.

Определение бизнес-процесса

Для последующего описания и сравнения различных систем и стандартов, относящихся к управлению бизнес-процессами, мы попробуем дать более строгое определение бизнес-процесса. (Данное определение является популярным изложением идей С. Яблонского и С. Бусслера, см.: Kiepuszewski B. Expressiveness and suitability of languages for control flow modeling in workflow.)

Определим бизнес-процесс при помощи задания следующих перспектив (точек зрения или слоев/уровней рассмотрения):

●  перспектива управления потоком (control-flow perspective);

●  перспектива данных (data perspective);

●  перспектива ресурсов (resource perspective);

●  перспектива операций (operational perspective).

Рассмотрим все уровни определения бизнес-процесса более подробно. При этом в качестве примера будем использовать бизнес-процесс “Оплата счета поставщика” (см. рисунок и таблицы). С его помощью постараемся пояснить все уровни определения бизнес-процесса.

Чтобы не повторить ошибку строительства Вавилонской башни (решая задачу А)

Менеджеры, как известно, должны иметь три основные компетенции:

натуру лидера;

умение строить бизнес-процесс;

знание предметной области.

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

Перспектива управления потоком

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

В узле, соответствующем шагу процесса (“на каждом шаге процесса”), WF-система дает задание исполнителю (сотруднику или информационной системе) и ждет ответа (сообщения, что работа выполнена). После ответа исполнителя точка управления движется по переходу к следующему узлу процесса. К узлу, соответствующему шагу процесса, может примыкать только один входящий и один исходящий переход.

Маршрутный узел соответствует разветвлению-слиянию точек управления. В таких узлах WF-система на основании содержащихся в маршрутных узлах правил выбирает следующий узел (узлы), в который будет передано управление. Поэтому с ними обязательно связано более одного входящего или исходящего перехода.

В выполняющемся бизнес-процессе одновременно может быть несколько точек управления. В соответствии с бизнес-логикой процесса точка управления в маршрутном узле может разделиться на несколько точек управления; кроме того, точки управления могут ждать друг друга в другом маршрутном узле и далее слиться в одну точку. На рисунке приведен пример графа бизнес-процесса “Оплата счета поставщика”. Шаги изображены в виде прямоугольников со скругленными краями, началу процесса соответствует кружок с черным треугольником внутри, завершению — кружок с квадратом. Овальные элементы соответствуют маршрутным узлам — точкам возможного разветвления-слияния точек управления. (Набор использованных нами графических элементов не соответствует какому-либо единому стандарту, а взят как наиболее наглядный. В настоящее время существует большое количество различных стандартов и графических нотаций для представления бизнес-процессов, и среди них пока нет явного “лидера”. Подробно о ситуации в этой области будет рассказано в нашей следующей публикации.)

Вначале бизнес-менеджер поставок вводит параметры предполагаемого платежа (номер счета, дата счета, сумма счета, фирма-контрагент, фирма-агент, комментарий).

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

Если бюджет подразделения не превышен, сумма сделки сравнивается с лимитом платежа. В таком случае далее, если лимит не превышен, автоматически происходит оплата счета, после чего бизнес-процесс завершается. При превышении лимита необходимо, чтобы платеж был подтвержден финансовым директором.

Бизнес-процессу “Оплата счета поставщика” соответствуют следующие логические правила.

1.  Если внешнее приложение, вызванное в узле “получить данные из бюджета”, вернуло значение “нет” в переменную “превышен ли бюджет подразделения?”, то следует перейти к проверке лимита, в противном случае — перейти в узел завершения бизнес-процесса.

2.  Если значение переменной “сумма счета” меньше значения константы “лимит разового платежа”, нужно перейти к узлу “оплата счета”, в противном случае — к узлу “подтвердить платеж”.

3.  Если исполнитель, принадлежащий к роли “Финансовый директор”, заполняя поля в соответствующей форме, вернул значение “да” в переменную “утвердил ли руководитель”, то перейти к узлу “оплата счета”, в противном случае — к узлу завершения бизнес-процесса.

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

От супа — к спагетти (решая задачу Б)

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

Перспектива данных

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

Таблица 1. Список глобальных переменных, соответствующих бизнес-процессу "Оплата счёта поставщика".
Таблица 1. Список глобальных переменных, соответствующих бизнес-процессу “Оплата счёта поставщика”

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

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

Перспектива ресурсов

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

В этот уровень надо также включить правила определения исполнителей шагов, эти правила различаются по видам (см. табл. 2). Например, бизнес-процесс может послать задание на выполнение всем членам группы пользователей, а выполнять это задание будет первый пользователь, отметивший его в своем списке (у остальных членов группы задание “пропадет”). Существуют бизнес-процессы, в которых, наоборот, требуется, чтобы все члены группы выполнили задание.

Таблица 2. Описание перспективы ресурсов бизнес-процесса "Оплата счёта поставщика".
Таблица 2. Описание перспективы ресурсов бизнес-процесса “Оплата счёта поставщика”

Некоторые системы позволяют задать “взвешенные” правила распределения заданий по членам группы. В этом случае работа между ними распределяется в зависимости от их весовых коэффициентов, задаваемых в организационном компоненте WF-системы, и от количества заданий, уже принятых пользователями. Например, если группа содержит трех сотрудников с весами 20, 30 и 50%, то при прохождении заданий первому сотруднику будет направлено на выполнение 20% от их общего числа, второму — 30, а третьему — 50%. Бизнес-процесс “Оплата счета поставщика” предполагает следующую структуру исполнителей, объединенных в соответствующие группы.

Сотрудники:

●  менеджер поставок;

●  финансовый директор.

Информационные системы предприятия:

●  система контроля бюджета;

●  система клиент — банк.

Перспектива операций

Перспективе операций бизнес-процесса соответствует список элементарных действий, совершаемых исполнителями в рамках шага.

Для сотрудника предприятия это будет просто набор операций с документом или визуальной формой с элементами управления, доступной ему на этапе исполнения шага: для ИС предприятия — список запросов или транзакций, позволяющих манипулировать данными через специальные интерфейсы в перспективе данных (см. табл. 3).

Таблица 3 . Перспектива операций бизнес-процесса "Оплата счёта поставщика".
Таблица 3 . Перспектива операций бизнес-процесса “Оплата счёта поставщика”

WorkFlow-системы и задачи интеграции масштаба предприятия

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

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

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

Направление WorkFlow сегодня активно развивается как в теории (предлагаются новые концепции, разрабатываются математические теории), так и в бизнес-сфере (появляется огромное количество различных программных продуктов). Однако большинство WF-систем несовместимо между собой, так как они реализуют разные интерфейсы взаимодействия. Их описания нередко даны в разной терминологии, и их трудно сравнивать. Если аналитик разобрался в одной системе, то при изучении следующей ему часто приходится начинать все сначала, так как она описана в других понятиях, имеет другой механизм взаимодействия компонентов. В этих условиях жизнь сильно облегчили бы единые стандарты для WF-систем. Такие стандарты существуют, но проблема в том, что их слишком много. В настоящее время идет “война” WorkFlow-стандартов.

Итак, деятельность любого предприятия можно представить в виде набора бизнес-процессов.

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

Задача WF-системы — автоматизация бизнес-процессов предприятия.

WF-система должна выполнять две основные роли:

●  роль “эсперанто для менеджеров” (формируя единый язык описания бизнес-процессов для управленцев, создавая библиотеку бизнес-процессов предприятия);

●  роль “универсального клея” (обеспечивая быструю интеграцию, “склеивание” в рамках единого процесса действий сотрудников и компьютерных систем предприятия, а также быструю сборку из разнородных “кирпичиков” связного, качественного процесса).

Рис. 2. Схема бизнес-процесса, соответствующего рассмотрению заявления об уходе в отпуск сотрудника предприятия.

Математические основы языков описания бизнес-процессов

Процессный подход к управлению предприятием не подразумевает наличия WF-системы. Здесь можно провести аналогию с бухгалтерией. Бухгалтерский учет на предприятии вести надо, и для этого совершенно необходим грамотный бухгалтер, владеющий знаниями и навыками ведения бухгалтерского учета. Тем не менее все операции можно делать и без автоматизированных средств — на бумаге. Точно так же бизнес-процессы можно описывать и изменять без использования WF-системы. Главное, чтобы на предприятии был консультант и/или менеджеры, которые разбираются в методологии процессного подхода к управлению предприятием. Но как и в случае с бухгалтерским учетом, применение WF-системы позволит осуществлять процессное управление на принципиально ином уровне.

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

На этом этапе встает вопрос о формальных языках описания бизнес-процессов, которые позволяют перенести их в WF-систему.

Существует два типа WF-языков:

●  WF-язык, разработанный для конкретной WF-системы;

●  WF-язык, разработанный неким консорциумом как стандарт для реализации в целом классе WF-систем.

В данной части статьи речь пойдет о втором типе WF-языков.

В основе большинства WF-языков (как стартовая точка разработки концепции языка) лежит одна из двух хорошо известных математических теорий:

●  теория сетей Петри [1, 2];

●  концепция Pi calculus [3].

Теория сетей Петри

Эта математическая дисциплина, основанная на классической теории графов, является расширением теории конечных автоматов. Она возникла в 60-х годах ХХ века и с тех пор постоянно развивается. На основе одного из вариантов сетей Петри (High-level Petri Nets) в настоящее время создается международный стандарт ISO/IEC 15909 [4]. Сети Петри — сложная, очень хорошо развитая теория, в ней строго определены такие понятия, как состояния, условия, переходы и т. п. Она включает также графическую нотацию (систему графических обозначений, с помощью которых можно рисовать соответствующие графы). Эта область хорошо исследована математиками: установлены многие свойства сетей Петри, доказаны важные теоремы.

Практическое использование теории сетей Петри в основном было связано с описанием поведения очень сложных систем, например элементов интегральных схем. Построив для системы сеть Петри, далее можно было использовать развитый математический аппарат и таким образом исследовать ее свойства.

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

Наследниками теории сетей Петри стали первые WF-языки (например, WPDL и XPDL коалиции WfMC). Они основаны на теории графов и включают в себя многие понятия и концепции сетей Петри — узлы, переходы, условия и т. д., однако в отличие от сетей Петри эти WF-языки не являются строгими: в ряде случаев можно составить такие языковые конструкции, которые будут синтаксически допустимыми, хотя поведение порожденного ими бизнес-процесса не будет определено однозначно.

Аалст и Хофстед предложили расширение концепции сетей Петри для WF-систем, введя дополнительные базовые элементы. Этот подход привел к появлению нового строгого WF-языка — YAWL (Yet Another WorkFlow Language, “еще один WorkFlow-язык”) [5]. К сожалению, он оказался очень сложным, его графические диаграммы также непонятны интуитивно, и скорее всего использоваться он будет исключительно в теоретических целях.

Ограниченность WF-языков, основанных на теории сетей Петри

Эта ограниченность — следствие того, что концепция сетей Петри основана на теории графов. В последнее время в программировании предложены понятия, не укладывающиеся в рамки теории графов, например исключения (exceptions). Эти новые “программистские” понятия были применены при разработке некоторых WF-языков (в частности, BPML/BPMN ) и оказались очень полезными. Таким образом, роль теории сетей Петри в мире WF-языков неоднозначна: с одной стороны, эту теорию можно использовать для исследования некоторых видов WF-процессов, с другой — с ее помощью нельзя описать все WF-процессы. Кроме того, диаграммы сетей Петри чрезвычайно громоздки: в случае сложных процессов соответствующие им сети Петри содержат огромное количество элементов и разобраться в них очень трудно.

Концепция Pi calculus

Концепция Pi calculus (p-исчисление) была разработана в конце 80-х годов ХХ века Робином Милнером и основана на алгебре параллельных процессов. В отличие от сетей Петри математическими объектами p-исчисления являются не графы, а выражения над элементами специальных множеств и преобразования этих выражений. В настоящее время p-исчисление является перспективной, хотя и очень молодой и развивающейся теорией, в ней много открытых вопросов и нерешенных проблем.

Разработчики двух из наиболее интересных в настоящее время WF-языков — BPML и BPEL4WS — утверждают, что так как в их основе лежит солидная математическая теория — p-исчисление, эти языки обладают очень высокой выразительной мощностью. Однако немало и скептиков, считающих, что связь этих языков с концепцией Pi calculus не очевидна, и предполагающих, что мы имеем дело скорее с маркетинговым ходом, чем с реальным использованием сложной математической теории для построения WF-языка [6].

WF-системы и война стандартов

WorkFlow-направление сегодня активно развивается. Многие WF-системы несовместимы между собой. Их описания нередко даны в разной терминологии, из-за чего эти системы трудно сравнивать. В таких условиях жизнь сильно облегчили бы единые стандарты для WF-систем.

Зачем вообще нужны стандарты такого рода?

Стандарты полезны разработчику, поскольку позволяют:

●  сосредоточиться на эффективном решении технических вопросов реализации (не надо решать общие концептуальные проблемы);

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

Стандарты полезны пользователю системы, потому что:

●  позволяют сменить одну WF-систему на другую в рамках того же стандарта (если фирма-разработчик по каким-либо причинам перестанет поддерживать продукт). Все определения старых бизнес-процессов будут справедливы и в новой среде;

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

Конечно, всем было бы удобно, если бы существовал общепринятый промышленный стандарт для WF-систем. Однако в настоящее время ситуация со стандартами сложная: проблема в том, что различных WF-спецификаций слишком много. Идет “война” стандартов: различными международными сообществами разработано множество конкурирующих спецификаций, и количество их постоянно возрастает. Если в 1995 г. WF-стандартами занимался только консорциум WfMC, то в 2003-м было уже 10 групп, создающих стандарты, имеющие отношение к WF-системам, и только для описания бизнес-процесса ими предложено семь различных стандартов [7].

В табл. 4 приведен список наиболее известных международных коалиций, которые разрабатывают спецификации, относящиеся к WF-системам.

Таблица 4. Коалиции, вырабатывающие стандарты WorkFlow-систем.

История стандартов WfMC

Консорциум WfMC (Workflow Management Coalition) образован в 1993 г. и был первым, предложившим спецификации для WF-систем, которые впоследствии несколько раз переписывались на основе различных ИT-концепций. Разработки WfMC не являются абсолютно открытыми. Часть документов доступна только для членов консорциума, т. е. для того, чтобы их получить, надо в том или ином виде стать его членом и, разумеется, уплатить членские взносы.

Одним из явных достижений WfMC следует считать создание словаря Terminology and Glossary [15], где определяются основные термины, относящиеся к WF-системам. Многие из этих терминов на сегодняшний день признаны как стандарт де-факто для описания элементов бизнес-процесса.

В спецификации Workflow Reference Model [8] предлагается следующая общая архитектура для WF-системы:

●  распределенное ядро системы, которое содержит набор выполняемых экземпляров бизнес-процессов;

●  редактор определений бизнес-процессов;

●  клиентское приложение, при помощи которого ядро взаимодействует с пользователями;

●  внешние приложения, вызываемые WF-системой;

●  административное приложение.

Стандарт предполагает, что все компоненты взаимодействуют не напрямую друг с другом, а только с распределенным ядром системы. Стандарт не оговаривает детально, как должны быть устроены компоненты. В основном в нем описываются интерфейсы взаимодействия этих компонентов с ядром системы. В Workflow Reference Model интерфейсы описаны неформально — практически в терминах предметной области. В дополнительных документах интерфейсы определены более строго. Всего предлагается пять интерфейсов:

первый описывает взаимодействие ядра системы с редактором определений бизнес-процессов;

второй — взаимодействие ядра с клиентским приложением;

третий — взаимодействие ядра с внешними приложениями;

четвертый соответствует взаимодействию друг с другом компонентов ядра системы, находящихся на различных компьютерах в распределенной сети;

пятый — взаимодействию ядра с административным приложением.

Разработанный коалицией WfMC в 1999 г. язык определения бизнес-процессов WPDL был основан на формулах Бэкуса — Наура. В рамках Workflow Reference Model язык определения бизнес-процесса соответствует первому интерфейсу. В 2002 г. язык WPDL был переписан. Его новая версия — XPDL —была основана уже на XML.

В дополнительных документах WfMC достаточно подробно и строго описаны и другие интерфейсы (см., например, [16]). Интерфейсы взаимодействия в [16] не объектно-ориентированны, а соответствуют процедурному подходу. В приложениях к документу [16] сделана попытка перейти от процедурного подхода к объектному (в рамках уже несколько устаревших к настоящему времени концепций OLE и CORBA): процедурные спецификации преобразованы в OLE- и IDL-спецификации, которые, по мнению экспертов, тем не менее сохранили в себе наследие процедурного подхода.

Сначала предполагалось, что таким образом будет описан только второй интерфейс, однако оказалось, что одни и те же функции (объекты) используются различными интерфейсами и писать спецификации поинтерфейсно нет смысла. Тогда документ был назван WAPI (Workflow Application Programming Interface) и стал фактически относиться ко второму — пятому интерфейсам.

Следующий шаг в рамках данной эволюции сделал консорциум OMG (Object Management Group). В 2000 г. он выпустил документ WorkFlow Management Facility Specification [13]. В нем построены основы архитектуры ядра WF-системы, на языке IDL определены основные интерфейсы многих компонентов. Несмотря на то, что согласно предисловию к документу спецификация основана на WAPI WfMC (OMG IDL binding), это другая спецификация, которая унаследовала только основные принципы построения общей архитектуры системы коалиции WfMC.

Большинство известных нам WF-систем с лицензией OpenSource, разработчики которых утверждают, что они полностью соответствуют спецификации WfMC, реализуют именно эту архитектуру, предложенную OMG (а не WAPI коалиции WfMC).

Программистские технологии продолжали развиваться. Появились Web-сервисы, вслед за ними WF-языки и спецификации (не совместимые со стандартами коалиции WfMC), ориентированные на эти технологии. В конце 2001 г. WfMC выпустила документ Workflow Standard — Interoperability Wf-XML Binding [17], в котором для реализации четвертого интерфейса предлагался язык Wf-XML. Этот язык можно использовать в рамках технологии Web-сервисов. По мнению некоторых экспертов, в настоящее время Wf-XML постепенно расширяется и на другие интерфейсы (второй, третий, пятый). Похоже, что таким образом WfMC также переориентируется на технологии Web-сервисов (с большим опозданием по сравнению с конкурирующими консорциумами).

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

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

WfMC отстает и по другим направлениям, например, у коалиции нет совместимой с языком определения бизнес-процессов графической нотации. Кроме того, большая часть спецификаций коалиции была разработана в конце 90-х годов, а в настоящее время количество новых документов сильно сократилось.

Все это вызывает сомнения в том, что в будущем WfMC останется лидером в области WF-стандартов.

История стандартов коалиции BPMI

В 2000 г. появилась коалиция BPMI, которая достаточно быстро разработала основанный на технологии Web-сервисов язык определения бизнес-процессов BPML и начала создание других полезных стандартов (несовместимых со спецификациями WfMC).

Через некоторое время коалиция BPMI подготовила стандарт графических диаграмм, описывающих WF-процесс, — BPMN. Язык также содержал правила автоматического перевода графических диаграмм BPMN в язык BPML.

Однако вслед за объединением IBM, Microsoft и BEA в рамках консорциума для создания другого WF-языка, также основанного на технологии Web-сервисов (BPEL4WS), в рядах коалиции BPMI началась паника — прогнозы абсолютного большинства экспертов сводились к тому, что IBM, Microsoft и BEA “продавят” свою спецификацию и именно BPEL4WS станет стандартом де-факто в качестве языка определения бизнес-процессов.

Был период, когда BPMI позиционировала язык графических нотаций BPMN как графическую оболочку для BPEL4WS. Однако в настоящее время коалиция реанимировала BPML и предлагает экспорт из графической нотации BPMN как в BPML, так и в BPEL4WS. Но ситуация с языком BPML остается очень неопределенной. На наш взгляд, BPML проще и удобнее BPEL4WS, но вполне возможно, что корпорации-гиганты все-таки вытеснят его своей спецификацией BPEL4WS.

Ситуация с BPMN оказалась тоже далеко не безоблачной. Консорциум OMG разработал диаграмму Activity в языке UML 2.0, которая в некотором смысле является альтернативой языку BPMN (по графической выразительной силе эти нотации примерно одинаковы). Мы считаем, что для описания бизнес-процессов в настоящее время BPMN все же удобнее, чем Activity-диаграмма языка UML 2.0, однако вполне можно ожидать, что в следующей версии языка UML Activity-диаграмма вберет в себя все текущие преимущества BPMN и за счет маркетингового веса OMG именно она, а не BPMN, может стать фактическим стандартом графической нотации.

Коалиция BPMI создает также язык запросов для WF-процессов (BPQL), который пока не привлек большого внимания.

История языка BPEL4WS

К моменту образования коалиции BPMI корпорация IBM начала работу над своим стандартом WF-языка (WSFL), Microsoft также приступила к формированию собственной спецификации (XLANG; обе — несовместимы с XPDL и BPML). В августе 2002-го IBM, Microsoft и BEA объявили о подготовке совместного стандарта — языка BPEL4WS (или просто BPEL), позже к этим компаниям примкнули SAP и Siebel.
        При более близком знакомстве со стандартом возникает впечатление, что он неоправданно усложнен. Понятия, относящиеся к предметной области, находятся в нем на одном уровне с техническими понятиями, специфическими для технологии Web-сервисов. Это сильно ухудшает читаемость языка (например, по сравнению с XPDL).
        WF-системы легко стыкуются с Web-сервисами. Можно без труда определить интерфейс для взаимодействия с WF-системой через Web-сервисы, однако идея, предполагающая, что всё взаимодействие с WF-системами должно осуществляться только при помощи Web-сервисов, является сомнительной.

Другие стандарты

Предложено большое количество других, косвенно относящихся к WorkFlow, стандартов, пересекающихся и во многих случаях несовместимых с описанными в настоящей статье. Вотсписокнекоторыхизних:

●  Business Process Specification Schema — BPSS (Electronic Business XML — ebXML). www.ebxml.org/specs/ebBPSS.pdf;

●  Business Transaction Protocol — BTP (OASIS). www.oasis-open.org/committees/download.php/1184;

●  Web Services Conversation Languange — WSCL (HP Labs/W3C). www.w3.org/TR/ 2002/NOTE-wscl10-20020314;

●  Web Services Choreography Interface — WSCI (SUN/BEA/W3C). http://ftpna2.bea.com/pub/downloads/wsci-spec-10.pdf;

●  Process Specification Language — PSL (National Institute of Standards and Technology, США). www.mel.nist.gov/psl/;

●  Business Process Definition Metamodel (OMG). www.bpmn.org/Documents/ BPDM/OMG-BPD-2004-01-12-Revision. pdf.

Тенденции развития стандартов

Спецификации языков описания бизнес-процессов BPML и BPEL4WS были поданы в консорциум OASIS (Organization for the Advancement of Structured Information Standards) на утверждение в качестве промышленного стандарта. Также в OASIS была подана спецификация Wf-XML.

Однако консорциум OASIS не утвердил в чистом виде ни BPEL4WS, ни BPML, а создал собственный комитет по разработке спецификации языка определения бизнес-процессов на основе BPEL4WS с учетом решений BPML. Эта спецификация будет называться WS-BPEL. Когда она будет разработана, неизвестно.

Также вполне вероятно, что в будущем графическая спецификация BPMN сольется с диаграммами Activity языка UML.

Заключение

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

По-видимому, в условиях “войны стандартов” при выборе WF-системы имеет смысл не привязываться к какому-либо одному стандарту, а наложить менее жестские требования, например обеспечение выполнения системой важных для данного предприятия WorkFlow patterns (набора образцов элементов бизнес-процессов, признанного международным сообществом).

Литература

1. 21-я Международная конференция по сетям Петри. Petri Nets. Introductory tutorial — www.daimi.au.dk/PetriNets/introductions/pn2000_introtut.pdf.

2. An introduction to Petri nets — http://viking.gmu.edu/http/syst511/vg511/AppC.html.

3. Фиошин М. Основы p-исчисления — http://progr.tsi.lv/research/picalc.pdf.

4. High-level Petri Nets. Международный стандарт ISO/IEC 15909, версия 4.7.1 — www.informatik.hu-berlin.de/top/PNX/pnstd-4.7.1.pdf.

5. Van der Aalst, Hofstede A. H. M. YAWL: Yet Another WorkFlow Language — www.citi.qut.edu.au/pubs/technical/yawlrevtech.pdf.

6. Van der Aalst W. M. P. Pi calculus versus Petri nets: Let us eat “humble pie” rather than further inflate the “Pi hype” — tmitwww.tm.tue.nl/staff/wvdaalst/pi-hype.pdf.

7. Michael zur Muehlen. Process Management Standards Overview — www.wfmc. org/standards/docs/Process_Management_Standards_files/frame.htm.

8. Коалиция WfMC. WorkFlow Reference Model — www.wfmc.org/standards/docs/ TC00-1003_10_1994.pdf.

9. Коалиция WfMC, язык XPDL — www.wfmc.org/standards/docs/TC-1025_ 10_xpdl_102502.pdf.

10. Коалиция BPMI, язык BPML — www.bpmi.org/bpml-spec.esp.

11. Коалиция BPMI, графический язык BPMN — www.bpmi.org/bpmn-spec.esp.

12. Коалиция IBM, Microsoft и BEA, язык BPEL4WS — http://www-106.ibm.com/developerworks/library/ws-bpel/.

13. OMG. WorkFlow Management Facility Specification — www.omg.org/docs/formal/ 00-05-02.pdf.

14. OMG Unified Modeling Language Specification — www.omg.org/docs/formal/ 03-03-01.pdf.

15. WfMC. Terminology and glossary — www.wfmc.org/standards/docs/TC-1011_ term_glossary_v3.pdf.

16. WfMC. WAPI (Workflow Application Programming Interface) — www.wfmc.org/ standards/docs/TC-1009_20e_1997.pdf.

17. WfMC. Workflow Standard — Interoperability Wf-XML Binding — www.wfmc. org/standards/docs/Wf-XML-11.pdf.

Чтобы прочитать эту статью до конца,
или зарегистрируйтесь

Комментарии 0

Чтобы прокомментировать, или зарегистрируйтесь