Стандартные и нестандартные описания бизнес-процессов
Всякая производственная деятельность состоит из последовательности операций, образующих бизнес-процессы. Информационная система, которая контролирует и поддерживает работу предприятия, должна знать эти процессы, а для этого необходим формальный язык, позволяющий описать все их многообразие и обеспечить их исполнение. Такое представление нужно для управленческих систем, таких как ERP и система документооборота, в телефонных центрах, а также для планирования и моделирования бизнеса.
В свободно распространяемой ERP-системе JBoss использован язык jPDL, который является графовым и достаточно простым |
Каждому разработчику, который занимается ERP-системами, документооборотом или центрами обработки звонков, приходится создавать свой язык описания бизнес-процессов. Сейчас таких языков несколько десятков. Эти языки можно разделить на два класса: графо- и структурно-ориентированные. В первом случае используется представление бизнес-процессов в виде графов и сетей Петри. Во втором — применяются теория Pi-calculus и алгебра параллельных процессов. Описание в виде графа проще отображать, чем структурное, что немаловажно.
В обоих случаях бизнес-процесс — это упорядоченный набор заданий, которые могут выполнять либо люди, либо автоматы. Для описания заданий используется четыре уровня представления: управление, данные, ресурсы и операции. На уровне управления описываются состояния процесса и пути перехода из одного в другое. Данные представляют информацию, передающуюся при исполнении бизнес-процесса. Уровень ресурсов определяет, кто и с привлечением каких средств будет выполнять операции. Операции же определяют действия, которые нужно выполнять для перемещения точки управления по бизнес-процессу.
Исторически первым был альянс WfMC (Workflow Management Coalition), который образовался в 1999 году. В результате деятельности этого альянса в 2002 году появился стандарт XPDL. Он является графовым и поддерживается различными производителями свободного программного обеспечения. Однако за время существования альянса разработчики дважды меняли базовую концепцию, ориентируясь вначале на хранимые процедуры, затем на интерфейсные технологии, такие как DCOM и CORBA, а потом переключившись на XML- и Web-сервисы. В результате стандарт получился сложным, да к тому же его не поддержали коммерческие компании.
Второй альянс — BPMI — был создан в 2000 году и изначально ориентирован на Web-сервисы, но он уже опирался на другую модель представления — структурную. Предложенный альянсом стандарт имел две части — язык графического представления BPMN и собственно формат BPML, который предназначен для описания бизнес-процессов. Однако в августе 2002-го IBM, Microsoft и BEA объявили о выходе из альянса и разработке собственного языка бизнес-процессов BPEL4WS. После выхода трех компаний из состава BPMI его коммерческие перспективы уменьшились, однако его развитие продолжается. В частности, идет работа по сближению графической нотации BPMN с Activity UML. Возможно, в скором времени эти языки сольются.
Язык BPEL4WS, который в дальнейшем стали называть просто BPEL, фактически состоит из двух частей: структурного языка XLANG, разработанного Microsoft, и графового WSFL, созданного в IBM. Поскольку исходные языки базируются на разных теориях, то в итоговом стандарте допускается альтернативное представление бизнес-процессов: графовое или структурное. Несмотря на его сложность и идеологическую противоречивость, именно этот стандарт уже начинает раскручиваться маркетинговыми машинами участников альянса. Поддержка IBM и Microsoft, возможно, позволит стать этому стандарту лидером. Во всяком случае, некоторые производители программного обеспечения поспешили заявить о своей поддержке BPEL.
Впрочем, у перечисленных стандартов есть и альтернатива, которая разработана специально для свободно распространяемой ERP-системы JBoss. В ней использован язык jPDL, который является графовым и достаточно простым. К тому же он ориентирован на Web-сервисы — в описание бизнес-процесса можно даже интегрировать код на Java. Формально этот язык не поддерживается другими производителями, но поскольку исходные тексты открыты, то производители в любой момент могут интегрировать его в свои продукты. Для этого языка уже написано несколько графических редакторов бизнес-процессов. Язык и экосистема вокруг JBOSS сейчас активно развиваются, так что, возможно, этот «нестандартный» язык описания будет не менее популярным, чем официальные стандарты.