Введение

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

Концепция

Шаблоны рабочих процессов – это концепции экономичной разработки. Их применение должно основываться на стратегиях упрощения поддержки и снижения объёма работ по моделированию. Рабочий процесс выполняется в реальном времени. Механизмы управления должны соответствовать обычному темпу работы. Шаблоны проектирования должны откладывать выполнение рабочего процесса.

Агрегация

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

Применение

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

Классификация Ван дер Аальста

Хорошо известная коллекция шаблонов рабочих процессов была предложена Вил ван дер Аалстом и др. (2003) в их статье "Шаблоны рабочих процессов", с более ранними версиями, опубликованными в 2000–2002 годах. Эта коллекция шаблонов фокусируется на одном конкретном аспекте разработки приложений, ориентированных на процессы, а именно на описании зависимостей потока управления между активностями в рабочем процессе/процессе. Эти шаблоны подразделяются на следующие категории:

Государственные модели

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