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